p { margin-bottom: 0.08in; }
Linux 内核版本: 2.6.33.7 ,目的:调试带 K VM 的内核
重新指定时区 : dpkg-reconfigure tzdata ,否则编译不完整 (make: warning: Clock skew detected.Your build may be incomplete.)
第一次运行前,清除以前的状态:
清除残余文件: make mrproper 删除 .O及其配置文件 . config ,在第一次编译前使用,以后使用 make clean
depmod
menuconfig 选项选择:
升级: apt-get upgrade 或者 apt-get dist-upgrade
安装编译所需工具: apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
建立链接文件: ln -s /usr/src/linux-2.6.33.7 /usr/src/linux
运行 make menuconfig 目的是生成 .config文件
把 Makefile中的 -O2优化选项改为 -O
make过程:
make -j4 CONFIG_DEBUG_SECTION_MISMATCH=y
make install 拷贝 arch/x86/boot/bzImage)
make -j4 modules `
make modules_install
创建 initram
(#mkinitramfs -o /boot/initrd.img-2.6.33.7 此法在 ubuntu上行不通 )
#update-initramfs –c –k 2.6.33.7
拷贝三个文件到目标机的 /boot目录
#scp /usr/src/linux/arch/x86/boot/bzImage root@192.168.6.13:/boot/vmlinuz-2.6.33.7-kgdb
#scp System.map root@192.168.6.13:/boot/System.map-2.6.33.7-kgdb
#scp initrd.img-2.6.33.7 root@192.168.6.13:/boot/initrd.img-2.6.33.7
修改目标机的 grub引导菜单,先备份 /boot/grub/grub.conf
自动生成 grub.cfg: update-grub ,但还是需要修改 grub.cfg
修改: /boot/grub/grub.conf:
title 2.6.33.7 kgdb
root (hd0,0)
kernel /boot/vmlinuz-2.6.7-kgdb ro root=/dev/hda1 kgdboc=ttyS0 ,9600 kgdbwait
重启:
目标机重启 reboot 2.6.33.7 kgdb
系统提示 wait remoting connecting....
开发机连接目标机
#cd /usr/src/linux2.6.33/
#gdb vmlinux
(gdb)set remotebaud 9600
(gdb)target remote /dev/ttyS0
(gdb)cont