Ubuntu下编译安装内核_peter2c2i2c-ChinaUnix博客

网友投稿 1064 2022-09-23

Ubuntu下编译安装内核_peter2c2i2c-ChinaUnix博客

Ubuntu下编译安装内核_peter2c2i2c-ChinaUnix博客

第一步:准备工作打开终端获得root权限:sudo su然后安装编译内核时需要的工具:apt-get install build-essential kernel-package libncurses5-dev libqt3-headersbuild-essential (基本的编程库(gcc, make等)kernel-package (Debian 系统里生成 kernel-p_w_picpath 的一些配置文件和工具)libncurses5-dev (meke menuconfig要调用的)libqt3-headers (make xconfig要调用的)其他工具在升级过程中可以按提示安装第二步:-内核源代码linux-3.0.00.tar.gz请到kernel.org官网-最新版本linux-3.0.00.tar.gz内核假设-在root目录,然后解压到/usr/src/linux-3.0.00目录里cd /usr/srctar zxvf /root/linux-3.0.00.tar.gz解压后会在/usr/src生成新文件夹linux-3.0.00第三步:配置把正在使用中的内核配置文件/usr/src/linux-headers-2.6.32-22-generic/.config 拷到/usr/src/linux-3.0.00目录下cp /usr/src/linux-headers-2.6.32-22-generic/.config /usr/src/linux-3.0.00执行:cd /usr/src/linux-3.0.00make menuconfig终端会弹出一个配置界面注意主菜单最后有两项:load a kernel configuration... save a kernel configuration...先选第一项load ....,意思是,利用当前的内核配置详单来设置将要编译的内核,然后选save这一项保存,最后退出配置界面。第四步:开如编译安装新内核执行:sudo make mrproper (清除以前曾经编译过的旧文件,如果你是第一次编译,可不执行)执行:sudo make (编译,可以加-j4,如果你CPU是双核心,够牛的话,因为可以提高速度)然后:sudo make install 再:sudo make modules (编译模块)再:sudo make modules_install (安装模块)最后创建initrd文件:mkinitramfs -o /boot/initrd.img-3.0.00第五步:更新配置GRUB引导列表sudo gedit /boot/grub/grub.cfg我的grub.cfg添加如下:menuentry 'Ubuntu 11.04,Linux 3.0.00' --class ubuntu --class gnu-linux --class gnu --class os {recordfailinsmod ext2set root='(hd1,9)'search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867linux/vmlinuz-3.0.00 root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splashinitrd/initrd.img-3.0.00}#以下是原2.6.32内核启动项menuentry 'Ubuntu,Linux 2.6.32-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {recordfailinsmod ext2set root='(hd1,9)'search --no-floppy --fs-uuid --set 501d3a42-1d52-4438-99bf-e679da605867linux/vmlinuz-2.6.32-22-generic root=UUID=33883099-83a5-49f3-9c12-ee6a4d90da9e ro quiet splashinitrd/initrd.img-2.6.32-22-generic}

到此为止,整个内核的编译就全部完成啦。

不过也许你重启系统时,虽然启动菜单中增加了新内核3.0.00的启动项,但极可能会启动失败,出现以下提示:

warning:can't open directory /lib/modules/3.0.00/modules.dep,no such files or directory

此时不应气馁,玩LINUX要有敢食螃蟹的勇气和毅力,哈哈。静下心,选择从旧内核启动登录系统,然后执行以下命令(为了避免输入错误,最好复制下面的命令)修改后就能成功启动新内核了。

######################################sudo su (保证获得root权限,否则会提示权限不够,不能成功完成任务哦)cd /bootcp initrd.img-3.0.00 initrd-3.0.00.old (先做一个备份以防万一,哈哈)depmod -aupdate-initramfs -k 3.0.00 -ccd /tmpgzip -dc /boot/initrd.img-3.0.00| cpio -idtouch lib/modules/3.0.00/modules.depfind ./ | cpio -H newc -o > /boot/initrd.img-3.0.00.newgzip /boot/initrd.img-3.0.00.newcd /bootmv initrd.img-3.0.00.new.gz initrd.img-3.0.00

######################################

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python一切皆对象(python中一切皆对象)
下一篇:进程等待--------程序流程_PN情结-ChinaUnix博客
相关文章

 发表评论

暂时没有评论,来抢沙发吧~