Linux设备驱动程序学习--内核编译

本文详细介绍了如何下载、配置、编译Linux内核版本3.2.0,并更新GRUB以实现自定义启动选项的过程。通过本文,读者可以了解内核配置方法、编译流程以及GRUB配置技巧,最终成功将自定义内核集成至系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux内核版本3.2.0(uname -r可查看)

Ubuntu版本10.04(查看方法http://www.cnblogs.com/zero1665/archive/2010/05/24/1742962.html

通过http://www.kernel.org/下载需要的内核版本

解压到某一路径下,我解压到了/usr/src,任意路径应该都可以,该文件夹的名字为linux-3.2

#cd /usr/src/linux-3.2

配置内核,使用make menuconfig, make xconfig等命令均可,配置方法参考http://lamp.linux.gov.cn/Linux/kernel_options.html,由于我并不了解,不在此班门弄斧。

编译内核

#make

可能需要几个小时

安装模块及内核

#make modules_install

#make install

更新grub

两种方法

#grub_mkconfig

#update-grub

之后,启动项在/boot/grub/grub.cfg中查看,大概60多行的样子

我的增加了如下内容

menuentry 'Ubuntu,Linux 3.2.0' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,3)'
    search --no-floppy --fs-uuid --set 6f9dd836-7461-4b59-84ca-eff8707297e1
    linux   /boot/vmlinuz-3.2.0 root=/dev/sda3 ro   quiet splash
}
menuentry 'Ubuntu,Linux 3.2.0 (恢复模式)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,3)'
    search --no-floppy --fs-uuid --set 6f9dd836-7461-4b59-84ca-eff8707297e1
    echo    '载入 Linux ...'
    linux   /boot/vmlinuz-3.2.0 root=/dev/sda3 ro single 
    echo    '载入引导虚拟磁盘 ...'
}

重新启动电脑,选择该选项,即可进入自己新编译的内核了。

看起来很简单的事情,愁了好几天。主要是不知道grub要更新,有命令的,我自己进入该文件,类似的复制了一份,进行了修改,应该是修改错了,每次选择那个内核的时候,都是kernel panic,我一度怀疑是配置内核时出问题了,编译了无数次。。。。

感谢zjc和gmy给我的帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值