Debian编译升级内核
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
?Debian编译升级内核(could not load /lib/modules/2.6.28/modules.dep问题)
学习 2009-02-04 17:52:45 阅读599 评论0 字号:大中小
虚拟机VMware下的Debian etch 2.6.18-6-686,欲升级为2.6.28内核。
首先,修改/etc/apt/sources.list,如果其中有含cdrom这行,用“#”号注释掉该行。
然后,打开终端Terminal,运行
#apt-get update
#apt-get install build-essential
这步将装上如gcc等的所有基本软件工具,由于打算使用X-Window中的xconfig界面来配置内核,所以,需要安装qt3,运行命令
#apt-get install pkg-config qt3-dev-tools libqt3-headers libqt3-mt-dev qt3-qtconfig qt3-doc
当然,前提是,以上所以软件包,都能在/distrib/packages中找到。
然后在/上下载最新的Linux Kernel。
为啥?他娘的,好不容易升级一次,咋还不整个最新的?我升级时,最新内核文件是linux-2.6.28.tar.gz,放到目录/usr/src下,
#cd /usr/src
#tar xzvf linux-2.6.28.tar.gz
#ln -s linux-2.6.28 linux //在当前目录下创建linux-2.6.28的链接文件linux
#cd linux
#make xconfig
X- Window下的内核配置命令,如果要使用USB摄像头,一定把video4linux(v4l和v4l2的选项选为模块),最好把其中的驱动都选上,比如gspca,spca5xx,zc0301等。另外,还需要选上 。其他的可以用默认选项。然后saveàquit。之后运行
#make dep //这步应该是检查依赖关系
#make clean //如果是第一次编译新下载的内核,这步可省略
#make bzImage //生成新内核的镜像
#make modules //编译外挂模块
#make modules_install //安装模块
#/sbin/depmod –a //创建模块的链接
#make install
这步创建System.map与vmlinuz。若不成功,需要手动创建,进入/boot文件夹下,执行
#cd /boot
#cp /usr/src/linux/System.map System.map-2.6.28
#cp /usr/src/linux//arch/i386/boot/bzImage vmlinuz-2.6.28
不过,正常情况下,上三步不用执行,make install已经创建好了链接。
接下来,我是这样做的:
#/usr/sbin/mkinitramfs -o /boot/initrd-2.6.28 2.6.28
#cd /boot/grub
#vim menu.lst
在最下面的
#####End Default Options#####
后添加
title Debian GNU/Linux kernel 2.6.28
root (hd0,0)
kernel /boot/vmlinuz-2.6.28 root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.28
savedefault
注意,这里的格式要和原来Kernel的启动设置格式相同,然后确认一下,相应文件是否确实存在,比如/boot/vmlinuz-2.6.28。
这时我重启后,出现错误:
could not load /lib/modules/2.6.28/modules.dep,还好保留有原来的内核,于是又进入原内核,删掉了之前生成的/boot/initrd.img-2.6.28,执行
#cd /usr/src/linux
#update-initramfs –c
–k 2.6.28
这样,重新在/boot下创建initrd.img-2.6.28,重启后,进入了新内核,内核编译升级成功。