LINUX系统内核编译
2014年06月18日 07:13:17 Linux ⁄ 共 1895字 暂无评论 ⁄ 被围观 2,201次

关于 linux 内核编译,在此选用 Ubuntu 系统,首先在虚拟机上安装 Ubuntu。然后开始编译工作。

关于 Ubuntu 代理上网问题

此方法要用到 /etc/apt/ 文件夹下的 apt.conf 文件,如果希望 apt-get(而不是其他应用程序)一直使用 http 代理,可以使用这种方式。

注意:某些情况下,系统安装过程中没有建立 apt 配置文件,以下的操作将视情况修改现有的配置文件或者新建配置文件。

命令:sudo gedit /etc/apt/apt.conf

在 apt.conf 文件中加入下面这行(根据实际情况替换yourproxyaddress 和 proxyport)

格式:Acquire::http::Proxy "http://yourproxyaddress:proxyport";

比如,此处我的配置是:

Acquire::http::proxy "http://student102:student@10.1.243.240:8080/";

保存 apt.conf 文件并退出。

Ubuntu 编译内核过程

一、下载源代码和编译软件的准备

下载内核源代码:http://www.kernel.org/。

注意,点击 2.6.39.3 内核的 F 版,即完整版。

如果不想去网站点联接,运行下列命令:

命令:

$cd ~

$ wget http://www.kernel.org /pub/linux/kernel/v2.6/linux-2.6.39.3.tar.bz2

安装有关编译程序。安装 make ,gcc, make-kpkg,运行 menuconfig 等等和编译内核相关的工具。

安装不了,请检查 /etc/apt/sources.list 文件。

有关命令:

命令:

$sudo  apt-get install build-essential kernel-package

libncurses5-dev fakeroot

二、解压源代码

注意,网上很多教程上说应该解压到 /usr/src,纯属以讹传讹,linux 掌门人 linus 说解压到任何目录上都可以。可以放在自己的主目录下的 src 目录。

如果你下载源代码是放到自己的主目录下或者运行上面的 wget 下载的,那么运行下列命令:

命令:

$ cd ~

$ mkdir src && tar jfx linux-2.6.39.3.tar.bz2 -C src/

现在,源代码就在 ~/src/linux-2.6.39.3

进入源代码的目录,准备下一步的工作。后面都在这个目录里面进行。

命令:

$ cd ~/src/linux-2.6.39.3

三、开始编译前的准备工作

现在,源代码就在 ~/src/linux-2.6.39.3,进入源代码的目录,准备下一步的工作。后面都在这个目录里面进行。如果先前编译过内核,就需要清除先前编译内核时残留的 .o 文件和不必要的关联。

命令:

$ cd ~/src/linux-2.6.39.3

$ sudo make mrproper

网上很多教程上说把现在使用的内核的config拷贝过来参考,其实是不需要的,ubuntu还有debian会自动做这步。当然也可以将以前的配置拷贝过来。

命令:

代码:

cp /boot/config-`uname -r` ./.config

四、开始配置内核选项

命令:

$sudo make menuconfig

我们选用的是图形界面的配置,在配置选项的最下方有一个Load和Save选项,我们先将第四步复制过来的配置文件.config文件Load进来,在Save就可以了。

五、开始编译内核

ubuntu的工具是make-kpkg,和其他的发行版相比,步骤相对简单。

命令:

$sudo make-kpkg clean

$ sudo make-kpkg --initrd --append-to-version=t61 kernel_image kernel-headers

上述命令中的t61可以用自己喜欢的字符代替,最后的字符一定是数字。输完上述命令回车之前,建议把浏览器还有别的运用程序都关掉,机器开始的工作比较艰苦。

六、安装内核

编译完成就是安装工作。编译好的内核在上一层目录。包括linux-headers-...-_i386.deb和linux-image-...-i386.deb两个文件,如果不搞开发的话,只要安装内核就可以,头文件以后要用的时候再说。

命令:

$ cd ..

$ sudo dpkg -i   linux-image-(按tab键)

文件名很长,如果不用tab自动补足是不可能的。安装完成后和老内核比较一下大小。

命令:

$ ls -l /boot/

七、重新启动验证新内核。

代码:

$ sudo reboot

重启时,电脑可以正常开机,内核也可以正常运行。

给我留言

留言无头像?