当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : [原创]ubuntu6.10下编译内核2.6.20.3 Step by Step
帖子发表于 : 2007-03-18 20:03 

注册: 2007-01-10 9:32
帖子: 1038
送出感谢: 4
接收感谢: 5
在ubuntu6.10下,2.6.20.3的内核编译。

1、首先切换到root用户
代码:
sudo su -

输入你的登入密码
2、更新
代码:
apt-get update

3、在ubuntu6.10里,/bin/sh是一个连接到/bin/dash符号连接,有时当你从源代码编译内核的时候,/bin/dash会出错,要用ln -s /bin/bash /bin/sh连接代替,所以:
代码:
rm -f /bin/sh
ln -s /bin/bash /bin/sh

4、下载编译需要的软件包
代码:
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2

5、下载内核源代码
代码:
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.3.tar.bz2
tar xjf linux-2.6.20.3.tar.bz2
ln -s linux-2.6.20.3 linux
cd /usr/src/linux

6、这时候确保你在/usr/src/linux下,开始做内核配置。

代码:
cp /boot/config-`uname -r` ./.config

这一步是把你当前的内核配置作为新内核的配置
代码:
make menuconfig

出现内核配置菜单,选择Load an Alternate Configuration File作为内核配置文件。选择Select,然后Ok,再选Yes
7、开始编译内核
代码:
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

漫长的等待,我的机器大概花了40分钟,这主要取决于你的内核配置和cpu的速度。
8、开始安装新内核,在/usr/src下会生成刚刚编译成的deb包,安装它们
代码:
cd /usr/src
ls -l
dpkg -i linux-image-2.6.20.3-custom_2.6.20.3-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.20.3-custom_2.6.20.3-custom-10.00.Custom_i386.deb


检查你的起动列表里是不是有2.6.20.3的起动选项。
代码:
gedit /boot/grub/menu.lst

应该看到下面的结果。
代码:
title           Ubuntu, kernel 2.6.20.3-custom (recovery mode)
root            (hd0,5)
kernel          /boot/vmlinuz-2.6.20.3-custom root=/dev/hda6 ro single
initrd          /boot/initrd.img-2.6.20.3-custom


9、重启后检查内核是不是2.6.20.3
代码:
shutdown -r now
uname -r


最后由 drongh 编辑于 2007-03-19 10:23,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-03-18 21:35 
头像

注册: 2006-09-02 14:18
帖子: 5308
地址: 汉桑城
送出感谢: 1
接收感谢: 1
drongh 写道:
6、这时候确保你在/usr/src/linux下,开始做内核配置。

代码:
cp /boot/config-`uname -r` ./.config




代码:
cp /boot/config-`uname -r`  .config


_________________
全世界linux爱好者联合起来 !
一切闭源操作系统都是纸老虎 !
要斗私批修,拒绝黑屏,使用linux !
让一部分人先用起Archlinux来 !
linux是第一生产力 !
讲正气,讲开源,讲free
要坚定不移的走开源的道路 !
linux明天会更好 !

dpkg -l |grep ^rc|awk '{print $2}' |tr ["\n"] [" "]|sudo xargs dpkg -P -
ubuntu粉丝群 26660836 已满员


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-03-18 21:58 

注册: 2007-02-06 18:57
帖子: 142
地址: 中国茶都
送出感谢: 0 次
接收感谢: 0 次
新手來過,學習中


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-03-19 7:15 

注册: 2007-01-10 9:32
帖子: 1038
送出感谢: 4
接收感谢: 5
dogfox 写道:
drongh 写道:
6、这时候确保你在/usr/src/linux下,开始做内核配置。

代码:
cp /boot/config-`uname -r` ./.config




代码:
cp /boot/config-`uname -r`  .config



这两种写法是一样的


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-03-19 8:07 
头像

注册: 2005-09-10 16:04
帖子: 3537
地址: DG-GD-China
送出感谢: 0 次
接收感谢: 0 次
dogfox 写道:

代码:
cp /boot/config-`uname -r`  .config


写法简单 :D


_________________
http://element.blog.ubuntu.org.cn/
Ubuntu Jaunty Jackalope...
AMD Barton 2600+
MSI K7N2 Delta-L
Kingston DDR400 512M*2+256M*1
nVidia FX5200
Seagate 80G(Jaunty Jackalope)
Seagate 160G(XXxxXX)
SyncMaster 732N


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-03-19 8:39 

注册: 2006-09-12 14:09
帖子: 1897
送出感谢: 0 次
接收感谢: 0 次
安装编译所需包 写道:
sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget && cd /usr/src


获取内核源码 写道:
sudo wget http://kernel.org/pub/linux/kernel/v2.6/linux-x.x.x && sudo tar -xvjf linux-x.x.x


复制源码至/src,建立链接?? 写道:
sudo rm -rf linux && sudo ln -s /usr/src/linux-x.x.x linux && cd /usr/src/linux


复制当前内核的配置作为自定义内核的基础 写道:
sudo cp /boot/config-`uname -r` .config && sudo make oldconfig && sudo make xconfig


准备编译 写道:
sudo make-kpkg clean


正式开始编译 写道:
sudo make-kpkg -initrd --revision=27012007 kernel_image kernel_headers modules_image


安装译好的内核 写道:
cd .. && sudo dpkg -i <name of the file>


删除系统自带旧版内核 写道:
sudo apt-get remove --purge linux-image-XXX linux-headers-XXXXX


_________________
Fair winds and following seas !


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-03-20 15:58 

注册: 2007-03-20 15:55
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
我依照lz的方法编译2.6.20.2版本的,启动后进度条停住,alt+f1没有任何提示


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-03-20 23:03 

注册: 2007-02-06 18:12
帖子: 340
送出感谢: 0 次
接收感谢: 0 次
不敢 :?


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2007-03-20 23:36 
头像

注册: 2007-01-28 23:00
帖子: 2682
地址: @江西|南昌@
送出感谢: 0 次
接收感谢: 0 次
有人成功了么???? 我不想做白老鼠。


_________________

Do as you would be done by !


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2007-03-21 0:32 
头像

注册: 2006-09-02 14:18
帖子: 5308
地址: 汉桑城
送出感谢: 1
接收感谢: 1
drongh 写道:
dogfox 写道:
drongh 写道:
6、这时候确保你在/usr/src/linux下,开始做内核配置。

代码:
cp /boot/config-`uname -r` ./.config




代码:
cp /boot/config-`uname -r`  .config



这两种写法是一样的
根本就是两码事


_________________
全世界linux爱好者联合起来 !
一切闭源操作系统都是纸老虎 !
要斗私批修,拒绝黑屏,使用linux !
让一部分人先用起Archlinux来 !
linux是第一生产力 !
讲正气,讲开源,讲free
要坚定不移的走开源的道路 !
linux明天会更好 !

dpkg -l |grep ^rc|awk '{print $2}' |tr ["\n"] [" "]|sudo xargs dpkg -P -
ubuntu粉丝群 26660836 已满员


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2007-03-21 5:31 

注册: 2007-03-09 14:23
帖子: 67
送出感谢: 0 次
接收感谢: 0 次
成功升级 但是发现20。3的内核怎么不支持Intel2200BG无线网卡哪 修改配置 改成built in也无法识别 郁闷哪


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2007-03-21 8:46 

注册: 2007-03-16 9:32
帖子: 26
送出感谢: 0 次
接收感谢: 1
我在HIWEED下编译内核2.6.20.3也成功了,并且也能进入界面,同时也安装上了NVIDIA显卡驱动。但在登录界面时无法进入HIWEED默认的界面,改为CFWM才能进入。不解???
不过我在配置菜单时,取消下面几项,选取我的CPU项。
Block Devices -> Low Performance USB Block driver (BLK_DEV_UB)
Graphics Support -> nVidia Riva support (FB_RIVA)
Kernel Hacking -> Use 4Kb for kernel stacks instead of 8Kb (4KSTACKS)
Processor Type and Features -> Local APIC support on uniprocessors (X86_UP_APIC)
编译过程中有很多警告和好些定义不使用、PM什么过程过时、还很不知什么提示来的,闪得太快了看不清也记不得了。不过仍然成功编译。安装后再生成INITRD.IMG-XXXX,重启电脑时出mount: unknown filesystem type 'devfs'。后来参照LINUXSIR.ORG上的做法:
引用:
Create A Ramdisk

Now we must create a ramdisk for our new kernel. Normally we do this with mkinitrd, but our new kernel uses udev instead of devfs, and you'll most likely get this error message with an mkinitrd generated ramdisk during boot-up:

mount: unknown filesystem type 'devfs'

which might lead to a kernel panic.

The new way of creating ramdisks is with mkinitrd.yaird. Backports.org has a yaird package for Debian Sarge. Before we can install it, we must install two prerequisites:

PHP 代码:
apt-get install libhtml-template-perl libparse-recdescent-perl

Then we install yaird like this:

PHP 代码:
cd /tmp
wget http://downloads.howtoforge.com/files/y ... 1_i386.deb
dpkg -i yaird_0.0.12-8bpo1_i386.deb

(The original yaird package was located in http://backports.org/debian/pool/main/y/yaird/, but was removed in the meantime, so I've made the package available under http://downloads.howtoforge.com/file...8bpo1_i386.deb.)

Before we can create the new ramdisk, we must edit the configuration file of our new kernel which you can find in the /boot directory (run

PHP 代码:
ls -l /boot

to find out). In this tutorial it's called /boot/config-2.6.18.3-default1, and in that file we must comment out the line CONFIG_DEFCONFIG_LIST (towards the beginning of the file) because otherwise mkinitrd.yaird will throw an error like this at us:

yaird error: bad value in /boot/config-2.6.18.3-default1: CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" (fatal)

So we do this:

PHP 代码:
vi /boot/config-2.6.18.3-default1

引用:
[...]
# CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
[...]


Now we can finally create our ramdisk like this:

PHP 代码:
mkinitrd.yaird -o /boot/initrd.img-2.6.18.3-default1 2.6.18.3-default1

再重新启动电脑,就OK了。其实当你认真地参考网上的有关文章做法,一般情况下都没有什么太难。最关键的是配置内核!按自己机器的配置情况和实际应用情况,花点时间去配置内核,一般来说都能成功编译,但编译后能否启动电脑就不一样了我曾经编译过好几次内核,虽然都能成功地生成了,但安装后无法启动电脑。最后才是先简单地来做,现在成功了。不过新内核运行过程仍然有很什么进程动行失败的,因为我的电脑上没有相关的东西。回头再慢慢精选内核配置。
相信下面这个外国人的写的UBUNTU方式编译内核对你同样有帮助。
http://www.howtoforge.com/kernel_compilation_ubuntu


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2007-03-21 8:55 

注册: 2007-03-16 9:32
帖子: 26
送出感谢: 0 次
接收感谢: 1
不知有编译过内核的各位在编译内核时是否有警告提示?反正我在试的时候,每次都有很多警告提示的。
我编译时没有做
引用:
rm -f /bin/sh
ln -s /bin/bash /bin/sh

这一步。不过现在想想还是得要这步吧。
网上还说2.6的内核基础上编译也不用做
引用:
ln -s linux-2.6.20.3 linux
这一步,做了也可能更会出错,所以我也没有做这一步。


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2007-03-21 10:55 

注册: 2007-01-10 9:32
帖子: 1038
送出感谢: 4
接收感谢: 5
我这边编译没一点问题


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2007-03-21 15:21 

注册: 2005-09-09 18:13
帖子: 141
送出感谢: 0 次
接收感谢: 0 次
我这里启动时会停在waiting for root file system处


_________________
给我一个支点,我可以撬起地球仪!
Ubuntu Edgy Eft
Thinkpad T60
T2300(1.66G) 512M(667MHz) X1300(64M) 60G


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译