デバッグ可能なLinuxカーネルのコンパイル
の準備を
カーネルソース
gdb準備
bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch.bz2 | patch -p1
コンフィギュレーション
カーネルの構成
cp /boot/config-linux2.6.31.16-generic ./.config
==配置KDB=*配置カーネルの中のKDBは、直接vi/vimで開くことができる.修正
CONFIG_KDB=y
CONFIG_KDB_MODULES=n
CONFIG_KDB_OFF=n
CONFIG_KALLSYMS=y
CONFIG_FRAME_POINTER=y
カーネルのコンパイル
*make clean、コンパイルされたターゲットファイルをクリア
カーネルのインストール
インストール
initrdを作成します。img
起動オプションの作成
menuentry "Ubuntu, Linux 2.6.31.6" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set a1ae8a36-84bd-4252-9960-2bcb73366f5a
linux /boot/vmlinuz-2.6.31.6 root=UUID=a1ae8a36-84bd-4252-9960-2bcb73366f5a ro quiet splash
initrd /boot/initrd.img-2.6.31.6
}
menuentry "Ubuntu, Linux 2.6.31.6 (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set a1ae8a36-84bd-4252-9960-2bcb73366f5a
linux /boot/vmlinuz-2.6.31.6 root=UUID=a1ae8a36-84bd-4252-9960-2bcb73366f5a ro single
initrd /boot/initrd.img-2.6.31.6
}