如何编译系统?

为当前最终发行版之前的所有版本提供支持
回复
lc011751
帖子: 47
注册时间: 2006-04-27 14:12
送出感谢: 0
接收感谢: 0

如何编译系统?

#1

帖子 lc011751 » 2006-08-21 22:02

如何编译ubuntu系统?
kiddyliu
帖子: 10
注册时间: 2006-08-21 19:38
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 kiddyliu » 2006-08-22 14:25

第一步 安装必要的工具

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

大功告成,重启看能不能进新内核
lc011751
帖子: 47
注册时间: 2006-04-27 14:12
送出感谢: 0
接收感谢: 0

#3

帖子 lc011751 » 2006-08-24 17:08

编译了系统后,电脑的性能能提升多少?
头像
karron
帖子: 6226
注册时间: 2005-06-11 14:03
来自: 不明真相的群众
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 karron » 2006-08-24 17:19

不会有太大的提高,浪费的只是你的时间而已,或者情感上的满足.
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.
duckling813
帖子: 11
注册时间: 2006-09-03 15:57
来自: nju
送出感谢: 0
接收感谢: 0
联系:

#5

帖子 duckling813 » 2006-10-13 20:55

貌似在运行到
sudo bzImage install
时是出错的
正确的安装内核的命令是什么阿?
aaronbai
帖子: 163
注册时间: 2006-10-15 10:12
送出感谢: 0
接收感谢: 0

#6

帖子 aaronbai » 2006-10-16 11:07

首先要安装必要的包
不然就报错!

包有:libncurses5-dev(menuconfig需要的)和essential
duckling813
帖子: 11
注册时间: 2006-09-03 15:57
来自: nju
送出感谢: 0
接收感谢: 0
联系:

#7

帖子 duckling813 » 2006-10-17 11:40

两个包都安装了阿
没用menuconfigure
而是xconfig
无所谓的阿
就是会报错
结果/boot下面没有足够的启动文件产生阿
困惑
头像
again
帖子: 22
注册时间: 2006-11-02 14:37
来自: Nanjing, China
送出感谢: 0
接收感谢: 0
联系:

#8

帖子 again » 2006-11-07 18:21

duckling813 写了:貌似在运行到
sudo bzImage install
时是出错的
正确的安装内核的命令是什么阿?
sudo make bzImage install

^^
头像
again
帖子: 22
注册时间: 2006-11-02 14:37
来自: Nanjing, China
送出感谢: 0
接收感谢: 0
联系:

#9

帖子 again » 2006-11-07 18:23

duckling813

nju

南大的不成?
double1123
帖子: 23
注册时间: 2007-11-30 18:06
送出感谢: 0
接收感谢: 0

#10

帖子 double1123 » 2007-12-18 13:24

在终端输入 sudo mki 然后连按两次“Tab”键看一下终端是否显示
mkinitramfs mkisofs
这两个工具在编译内核时用来生成 *.img文件的,没有的话安装一下
没有,如何安装
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

#11

帖子 BigSnake.NET » 2007-12-18 13:24

编译的话建议玩lfs
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
gdzhljw
帖子: 314
注册时间: 2007-05-19 23:18
来自: 广东珠海
送出感谢: 0
接收感谢: 0
联系:

#12

帖子 gdzhljw » 2008-01-05 11:27

找到正需要这个记号
凡事都可行.但不都有益处。凡事都可行.但不都造就人。(哥林多前10:23)

my blog : http://gdzhljw.blog.163.com/
http://gdzhljw.blog.ubuntu.org.cn/
回复

回到 “老旧版本支持”