ZZ:linux内核编译安装!

2011-11-11 03:27  作者:网络  来源:网络  浏览: 164次  我要评论 (0条)  字号:  

摘要:本来,这篇文章我是一边做一边写的,但是在编译的时候由于时间太长,就去干了点别的事情,而后远程ssh查看电脑编译完成,就远程给关机了,结果文章忘了保存了!!! 在编译安装之前,我们肯定要有源码包(废话),源码包在哪下载呢,linux内核官网地址为 htt


本来,这篇文章我是一边做一边写的,但是在编译的时候由于时间太长,就去干了点别的事情,而后远程ssh查看电脑编译完成,就远程给关机了,结果……文章忘了保存了!!!
在编译安装之前,我们肯定要有源码包(废话),源码包在哪下载呢,linux内核官网地址为
http://www.kernel.org/,你看着办把!
现在linux最新的内核稳定版为3.0.8,今天就拿它做实验了!
下载完成后解压,由于我比较懒,直接右键解压,命令太麻烦了!
解压完以后用终端进入解压目录
cd linux-3.0.8
然后编译
make menuconfig
这里提示有个错误,本来记录下来了,但是……
反正错误的大概意思是缺少一个叫Ncurses软件包
然后用atp-get安装那个软件包提示找不到
TAB一下发现好多,于是直接全部安装了!
sudo apt-get install ncurses*
好像是提示消耗90多MB的空间,不过不怕,我的硬盘够大,所以,如果你跟我一样菜的话,建议用块大硬盘……
然后重新执行编译命令
make menuconfig
OK,出来一个界面了
这里说下这个界面的操作把
方向键上下左右不用说了把,select是进入子配置菜单,exit返回上一菜单,help帮助,不过都是鸟语……
[ ] 这样的空的表示不在内核编译使用
[M] 这个M表示编译为模块,需要时可以加载
这个就是说编译进内核
 

然后里面各个菜单的作用呢,打死我也不说!(我根本就不知道,需要知道的问百度把!)

直接默认没有修改,按ESC键或者exit退出,提示保存,在YES那里回车就行了!

配置完成后就可以编译了

make

编译的过程那是相当快,如果你不着急的话……

因为当时出去了,也没记用了多长时间

编译完成后就安装

make modules_install

这个完成了就执行

make install

我看的书上这样就OK了,但是……

我没有这样搞成功

 

如果用普通用户权限执行结果是这样子的
sh /home/kuanger/software/linux-3.0.8/arch/x86/boot/install.sh 3.0.8 arch/x86/boot/bzImage \
System.map "/boot"
mv:是否覆盖"/boot/vmlinuz-3.0.8.old",而不理会权限模式0644 (rw-r--r--)?
这里有个这样的提示,无论我输入什么,都出现下面的内容
/sbin/installkernel: 70: cannot create /boot/vmlinuz-3.0.8: Permission denied
make[1]: *** [install] 错误 2
make: *** [install] 错误 2
如果用root用户执行的结果是这样子的
sh /home/kuanger/software/linux-3.0.8/arch/x86/boot/install.sh 3.0.8 arch/x86/boot/bzImage \
System.map "/boot"
根本不提示错误,但好像也没安装上!
进入/boot目录看了一下,发现有3.0.8内核的文件了,于是想手动改一下grub试试
sudo gedit --encoding=utf8 /boot/grub/grub.cfg
用--encoding是因为直接打开有乱码,但是utf8编码好像也不对,但是出来没乱码了……管它对与错的把!
找到原来的内核是这么一段东西
menuentry 'Ubuntu,Linux 2.6.32-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 326fa59a-f57a-4324-9864-032244d74a6d
linux        /vmlinuz-2.6.32-35-generic root=UUID=d59bb8e5-6b8f-406b-b1c1-7e8de0e210bd ro   quiet splash
initrd        /initrd.img-2.6.32-35-generic
}
于是将它复制后粘贴到上面,将原来的2.6.32改成3.0.8的,发现boot目录没有3.0.8的initrd.img,于是百度之,找到这么个命令
makinitramfs -o /boot/initrd-2.6.33.1.img 2.6.33.1
将这个命令的2.6.33.1改成3.0.8后执行,提示错误
未找到 'makinitramfs' 命令,您要输入的是否是:
命令 'mkinitramfs' 来自于包 'initramfs-tools' (main)
makinitramfs:找不到命令
我想,可能是它爹给它改名字了吧,于是将命令改成它推荐的那个
mkinitramfs -o /boot/initrd-3.0.8.img 3.0.8
这个是需要权限的哦,因为要在boot目录下写入文件,你有两个选择,一是通过su命令切换到root用户,二是在命令前加sudo
执行完成以后,/boot目录多了一个名为initrd.img-3.0.8.img的文件,继续改我们的grub.cfg吧
最后修改的效果是这样子的
menuentry 'Ubuntu,Linux 3.0.8' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        insmod ext2
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set 326fa59a-f57a-4324-9864-032244d74a6d
        linux        /vmlinuz-3.0.8 root=UUID=d59bb8e5-6b8f-406b-b1c1-7e8de0e210bd ro   quiet splash
        initrd        /initrd.img-3.0.8.img
}
改完以后保存,重启,在grub那里选择这个3.0.8启动,出现错误了,不过,等待,还是能启动的,哈哈!
启动起来后提示什么分辨率错误,以低分辨率运行,管他高低把,运行了再说!
嘿嘿,还真起来了,查看一下现在的内核
uname -a
还真是3.0.8了,哈哈,不过……不如原来的好用唉!还是重启切换回去吧!
一次小小的尝试,呵呵,还是很有意思的,生命在于折腾嘛!

(责任编辑:admin)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值