如何编译系统?
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 10
- 注册时间: 2006-08-21 19:38
第一步 安装必要的工具
sudo apt-get install build-essential bin86 kernel-package
sudo apt-get install libqt3-headers libqt3-mt-dev
sudo apt-get install make
sudo apt-get install gcc //即使已经安装了gcc最好也更新一下
另外,在终端输入 sudo mki 然后连按两次“Tab”键看一下终端是否显示
mkinitramfs mkisofs
这两个工具在编译内核时用来生成 *.img文件的,没有的话安装一下
第二步 下载内核
到www.kernel.org下载新内核到/home
我下载的是linux-2.6.16.2.tar.bz2(原来的内核是2.6.15-26)
第三步 编译前的准备
察看当前内核的版本
uname -a
2.6.15-26-server
如果下载的内核版本和当前的内核版本一样的话:
cd /lib/modules
将其下的文件夹改名
同时将/boot下一些东西也要改,改了以后还要修改/boot/grub/menu.lst
比较麻烦,建议最好下载比当前已安装版本高的内核
解压linux-2.6.16.2.tar.bz2得到的linux-2.6.16.2文件夹放到/usr/src下
sudo ln -s linux-2.6.16.2 linux //如果该文件夹下已经有名为linux的链接请先把它改为linux.old
第四步 开始编译
cd /usr/src/linux //以下所有的工作都在/usr/src/linux下完成
sudo make mrproper //去除.o的已编译文件
sudo make menuconfig //用menuconfig的话还需要另外两个工具包支持,叫什么名字我忘了,Ncurses?或者用
sudo make xconfig
接下来你就慢慢配置吧,配置完以后保存(系统中保存的一份内核配置文件是在/usr/src/linux 下名为.config,你也可以自己在别的地方另存一份)
sudo make dep //也许系统会提示现在不必要进行make dep,那就下一步
sudo make clean //清除旧数据
sudo make bzImage //编译内核,bzImage是你给该新内核起的名字,将保存到/usr/src/linux/arch/i386/boot/下
sudo make modules //编译模块
sudo bzImage install //安装内核
sudo make modules_install //安装模块
sudo mkinitramfs -o /boot/initrd.img-2.6.16.2 2.6.16.2
安装完后/boot下将增加以下几个文件(用ls -l 查看)
lrwxrwxrwx 1 root root 19 Aug 18 14:33 System.map -> System.map-2.6.16.2
lrwxrwxrwx 1 root root 15 Aug 18 14:33 config -> config-2.6.16.2
-rw-r--r-- 1 root root 40323 Aug 18 14:33 config-2.6.16.2
-rw-r--r-- 1 root root 6775383 Aug 18 16:39 initrd.img-2.6.16.2
lrwxrwxrwx 1 root root 16 Aug 18 14:33 vmlinuz -> vmlinuz-2.6.16.2
给/boot/grub/menu.lst中添加一个新的启动项,如我的menu.lst增加了如下一段文字
title Ubuntu, kernel 2.6.16.2
root (hd0,0)
kernel /boot/vmlinuz-2.6.16.2 root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.16.2
boot
大功告成,重启看能不能进新内核
sudo apt-get install build-essential bin86 kernel-package
sudo apt-get install libqt3-headers libqt3-mt-dev
sudo apt-get install make
sudo apt-get install gcc //即使已经安装了gcc最好也更新一下
另外,在终端输入 sudo mki 然后连按两次“Tab”键看一下终端是否显示
mkinitramfs mkisofs
这两个工具在编译内核时用来生成 *.img文件的,没有的话安装一下
第二步 下载内核
到www.kernel.org下载新内核到/home
我下载的是linux-2.6.16.2.tar.bz2(原来的内核是2.6.15-26)
第三步 编译前的准备
察看当前内核的版本
uname -a
2.6.15-26-server
如果下载的内核版本和当前的内核版本一样的话:
cd /lib/modules
将其下的文件夹改名
同时将/boot下一些东西也要改,改了以后还要修改/boot/grub/menu.lst
比较麻烦,建议最好下载比当前已安装版本高的内核
解压linux-2.6.16.2.tar.bz2得到的linux-2.6.16.2文件夹放到/usr/src下
sudo ln -s linux-2.6.16.2 linux //如果该文件夹下已经有名为linux的链接请先把它改为linux.old
第四步 开始编译
cd /usr/src/linux //以下所有的工作都在/usr/src/linux下完成
sudo make mrproper //去除.o的已编译文件
sudo make menuconfig //用menuconfig的话还需要另外两个工具包支持,叫什么名字我忘了,Ncurses?或者用
sudo make xconfig
接下来你就慢慢配置吧,配置完以后保存(系统中保存的一份内核配置文件是在/usr/src/linux 下名为.config,你也可以自己在别的地方另存一份)
sudo make dep //也许系统会提示现在不必要进行make dep,那就下一步
sudo make clean //清除旧数据
sudo make bzImage //编译内核,bzImage是你给该新内核起的名字,将保存到/usr/src/linux/arch/i386/boot/下
sudo make modules //编译模块
sudo bzImage install //安装内核
sudo make modules_install //安装模块
sudo mkinitramfs -o /boot/initrd.img-2.6.16.2 2.6.16.2
安装完后/boot下将增加以下几个文件(用ls -l 查看)
lrwxrwxrwx 1 root root 19 Aug 18 14:33 System.map -> System.map-2.6.16.2
lrwxrwxrwx 1 root root 15 Aug 18 14:33 config -> config-2.6.16.2
-rw-r--r-- 1 root root 40323 Aug 18 14:33 config-2.6.16.2
-rw-r--r-- 1 root root 6775383 Aug 18 16:39 initrd.img-2.6.16.2
lrwxrwxrwx 1 root root 16 Aug 18 14:33 vmlinuz -> vmlinuz-2.6.16.2
给/boot/grub/menu.lst中添加一个新的启动项,如我的menu.lst增加了如下一段文字
title Ubuntu, kernel 2.6.16.2
root (hd0,0)
kernel /boot/vmlinuz-2.6.16.2 root=/dev/sda1 ro
initrd /boot/initrd.img-2.6.16.2
boot
大功告成,重启看能不能进新内核
- karron
- 帖子: 6226
- 注册时间: 2005-06-11 14:03
- 来自: 不明真相的群众
- 联系:
-
- 帖子: 11
- 注册时间: 2006-09-03 15:57
- 来自: nju
-
- 帖子: 163
- 注册时间: 2006-10-15 10:12
-
- 帖子: 11
- 注册时间: 2006-09-03 15:57
- 来自: nju
- again
- 帖子: 22
- 注册时间: 2006-11-02 14:37
- 来自: Nanjing, China
-
- 帖子: 23
- 注册时间: 2007-11-30 18:06
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
- gdzhljw
- 帖子: 314
- 注册时间: 2007-05-19 23:18
- 来自: 广东珠海
找到正需要这个记号
凡事都可行.但不都有益处。凡事都可行.但不都造就人。(哥林多前10:23)
my blog : http://gdzhljw.blog.163.com/
http://gdzhljw.blog.ubuntu.org.cn/
my blog : http://gdzhljw.blog.163.com/
http://gdzhljw.blog.ubuntu.org.cn/