锁定老帖子 主题:(转)简单四步--编译 Linux 内核
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-20
下面介绍编译Linux内核的四个步骤: 进入 root 帐户: > su 输入密码 安装必要的工具: > apt-get install build-essential (安装 gcc, make 等) > apt-get install libncurses-dev (安装 make menuconfig 时必须的库文件) > apt-get install kernel-package, fakeroot (Debian 系统里生成 kernel-image 的一些配置文件和工具) > apt-get install initramfs-tools, module-init-tools 可以从 Ubuntu 的源安装,这样的好处是简单,而且安装的内核是Debian 化了的,缺点是内核不是最新的内核。 也可以从 www.kernel.org 下载内核安装。kernel.org 的境象应该很多,选一个最快的来下载,因为要下载的文件很大。我这里介绍的是安装 2.6.24 的内核,加上了 ck 的补丁。 下载 linux-2.6.24.tar.bz2 和 patch-2.6.24.bz2 ,并且把它们都存放在 /usr/src 目录下。 > tar xvjf linux-2.6.24.tar.bz2 > ln -s linux-2.6.24 linux (如果已经有了 linux 目录,则要先将其删除) > cd linux > bzcat ../patch-2.6.24.bz2 | patch -p1 至此,内核源文件以及补丁就都安装好了。 把源码包解压到 /usr/src/linux-2.6.24,然后在/usr/src/下创建一个名为linux的指向/usr/src/linux-2.6.24的链接(link)。 在shell中输入 root@FE2000:~# cd .. 或者make gconfig 在qconf中点File->Load 去读取其他的设置文件。 比如 /boot/config-2.6.18-23-686 下面在qconf中配置.config文件。选“Y”(打勾)就是把它编译到内核中,选“M”(打点)把它编译成模块,供内核动态调用。选“N”就是不安装。也可以保持默认选项…… 其他的驱动,酌情添加删除,根据机器配置删除不需要的驱动可以缩短编译时间。你可以在命令行下输如lspci或者dmesg查看硬件信息。 设置完毕后,按一下保存按钮,无论原先载入的是哪个配置文件,qconfig都将设置保存到 /usr/src/linux/.config 这个隐含文件。 下面输入make开始编译,这一过程大约需要40-100分钟,具体的要看你的机器速度啦…… root@FE2000:/usr/src/linux# make 安装内核 root@FE2000:/usr/src/linux# make install 编译模块 root@FE2000:/usr/src/linux# make modules 安装模块 root@FE2000:/usr/src/linux# make modules_install 然后 root@FE2000:/usr/src/linux# cd / root@FE2000:/usr/src/linux# /usr/sbin/mkinitramfs -o /boot/initrd.img-2.6.24 2.6.24 如果有出错提示,可能是因为 initramfs-tools 没有装,先把它装上吧。 如果没有这一步骤,那么开机就会出现提示 initrd /initrd.img-2.6.24 Error 15: File not found 最后打开 /boot/grub/menu.lst。在 ## ## End Default Options ## 下面添加类似下面的两段: title Ubuntu, kernel 2.6.24 root (hd0,4) kernel /vmlinuz-2.6.24 root=/dev/hdd6 initrd /initrd.img-2.6.24 savedefault boot title Ubuntu, kernel 2.6.24 (recovery mode) root (hd0,4) kernel /vmlinuz-2.6.24 root=/dev/hdd6 ro single initrd /initrd.img-2.6.24 boot 注意 root和kernel字段要模仿menu.lst下面已有的内容写。 下面是 (hd0,4),那么你也写(hd0,4),下面写root=/dev/hdd6,你也写root=/dev/hdd6,只是内核的版本号改为现在编译的版本号。 然后把下面重复的savedefault删除。 重新启动计算机,在GRUB中选择新内核启动。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 1281 次