Updateor compile the linuxkernel

    技术2022-05-20  51

    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

     


    最新回复(0)