LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 709|回复: 3

让只懂复制粘贴的新手编译内核

[复制链接]
发表于 2007-1-15 18:03:35 | 显示全部楼层 |阅读模式
一、参考文献:
1.方法:
       http://www.linuxsir.cn/bbs/showthread.php?t=284609
       http://forum.ubuntu.org.cn/viewtopic.php?t=34172
       http://forum.ubuntu.org.cn/viewtopic.php?t=37668
2.参数说明:
       http://www.linuxdiyf.com/viewarticle.php?id=19656
       http://forum.ubuntu.org.cn/weblog.php?w=215
二、注意事项:
1.在这里下载最新内核时,选F(F = full source)
2.不要把包解压在这里/usr/src/linux,而流行教程一般解在这里。但是官方的readme则警告:Do NOT use the /usr/src/linux area!
3.装好后先不要删除旧内核,以防出错
4.如果不是root登录,除cd命令外,请加sudo以免报错
三、步奏:
1.下载F版内核,建议用wget超快 wget http://www.kernel.org/pub/linux/ ... ux-2.6.19.2.tar.bz2
2.如果不会解压命令,请装 file-roller,将内核解压到用户主目录(Linux建议的)。我解压到~/linux/linux2.6.19下面,如果不会解压到特定目录就直接用file-roller解开剪切过去,结果是内核放在了~/linux/linux2.6.19/linux-2.6.19.2下面。
3.相关软件安装
sudo apt-get update
sudo apt-get install build-essential kernel-package libncurses5-dev build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev make automake fakeroot
如果不是root登录别忘了装fakeroot
4.进入内核目录 cd ~/linux/linux2.6.19/linux-2.6.19.2
清理一下
       sudo make clean
       sudo make mrproper
将现用内核配置文件铐过来
       sudo cp /boot/config-`uname -r` ./.config
5.自己配置编译(最关键的一步)
使用menuconfig
       sudo make menuconfig
将光标移到最下面选“Load an Alternate Configuration File”这样就可以调用现用内核的配置了,对新手来说降低了难度,我就是一次成功的
下面的配置过程请参考“一、2”的说明,我自己也不大懂,因为是第一次搞所以也没把自己的名字编译进去所以在 General setup下的Local version - append to kernel release 中没写什么东西,下面的步奏都是按这个来的,新手干脆也别写了,反正也没人注意看。
6.退出时menuconfig,请选择保存“yes”。开始编译吧。
sudo make-kpkg clean
sudo fakeroot make deb-pkg
漫长的等待开始了,我考完试回来发现编译完成了。在~/linux/linux2.6.19下面生成一个linux-2.6.19.2_2.6.19.2_i386.deb
7.安装deb包
cd ~/linux/linux2.6.19
sudo dpkg -i linux-2.6.19.2_2.6.19.2_i386.deb
8.把新内核加进来
sudo apt-get install yaird
sudo gedit /boot/config-2.6.19.2
找到CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"这一行,给前面加#号,变成#CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
sudo mkinitrd.yaird -o /boot/initrd.img-2.6.19.2 2.6.19.2
sudo update-grub
它会告诉你
........................
Found kernel: /vmlinuz-2.6.19.2
........................
9.重启电脑 sudo shutdown -r now
查看新内核 uname -r
10.问题:我的电脑主板太老用原内核无法关机,编译新内核可能load了原配置,问题仍未解决,看来真正重要的是搞清楚内核配置参数,我自己看了一个下午,依然不得要领,期望熟能生巧吧,在此请教同仁。
发表于 2007-1-15 18:26:54 | 显示全部楼层
怎么没见配置过程啊~
感觉你写的有点繁琐
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-15 19:38:43 | 显示全部楼层
呵呵,是给和我一样的新手用的,配置过程不是说建议load原内核的吗,老手请帮我看看第10个问题,这个一般在那里设置?
参考了你的文章,在此表示感谢,不过你cd /usr/src/是错的,请看置顶贴,和源码的readme
回复 支持 反对

使用道具 举报

发表于 2007-1-15 20:42:44 | 显示全部楼层
Post by oxygen427
呵呵,是给和我一样的新手用的,配置过程不是说建议load原内核的吗,老手请帮我看看第10个问题,这个一般在那里设置?
参考了你的文章,在此表示感谢,不过你cd /usr/src/是错的,请看置顶贴,和源码的readme

ubuntu的内核文件并非在/usr/src下
我把他放到/usr/src下是为了方便编译(个人习惯)
最后做成deb包并安装新内核后
可以sudo rm -rf /usr/src/*
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表