[原创]让只懂复制粘贴的新手编译内核

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
我来也
帖子: 180
注册时间: 2006-10-18 3:05

[原创]让只懂复制粘贴的新手编译内核

#1

帖子 我来也 » 2007-01-15 18:01

一、参考文献:
1.方法:
http://www.linuxsir.org/bbs/showthread.php?t=284609
viewtopic.php?t=34172
viewtopic.php?t=37668
2.参数说明:
http://www.linuxdiyf.com/viewarticle.php?id=19656
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/kernel/ ... .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了原配置,问题仍未解决,看来真正重要的是搞清楚内核配置参数,我自己看了一个下午,依然不得要领,期望熟能生巧吧,在此请教同仁。

yohu
帖子: 955
注册时间: 2006-12-18 17:04
来自: 福建泉州

#2

帖子 yohu » 2007-01-15 18:41

第8步可以略过吧?我一般装完它都会自动添加好。
拥有超级牛力的搜索引擎:
http://www.google.com/linux
http://www.google.com/
plasma2006
帖子: 466
注册时间: 2006-10-19 9:17

#3

帖子 plasma2006 » 2007-01-15 19:05

建议楼主写一个脚本,哈哈,更方便了。
不过这也很感谢楼主。。。。。。。。。。。。。。。
另外,请问那个源能用?
我自从海峡出问题后,一直没找到合适的源。竟然连sudo apt-get update都运行不了。。。。。。。。。。
我来也
帖子: 180
注册时间: 2006-10-18 3:05

#4

帖子 我来也 » 2007-01-15 19:29

呵呵,我也是菜鸟,脚本不会写的,我用CN99的源,还可以。
回复