ubuntu12.04内核编译记录


最近学习linux这门课,做实验要编译系统内核,然后。。五一没事就捣鼓了一上午,还好成功了大笑

注意:下面过程的有些make 这类的命令 可能要获取权限

1.开始时可以查一下自己现在系统的版本: uname -a ; 我的是 3.2.0.-23

2.然后在 http://www.kernel.org/下载一个和你自己版本高一点的内核;我下的是 3.4.88

3.安装编译所要的工具:

sudo  apt-get install libncurses-dev kernel-package bzip2 make ncurses-dev fakeroot module-init-tools patch

sudo apt-get install libqt3-headers libqt3-mt-dev

sudo apt-get install libqt3-compat-headers      
我上午是装了这三个就可以了。。。

4.然后就是解压下载的那个内核了 //貌似可以直接在下载的目录下解压 不用拷贝到src目录下

4.1. 将源代码拷到 /usr/src/ 目录下, cp linux-3.4.88.tar.xz /usr/src/; 这里注意我下的格式是 .tar.xz

4.2. 进入/usr/src/ 目录 cd /usr/src/ ;

4.3. 解压。tar Jvfx linux-3.4.88.tar.xz ;注意是大写的 J

5.进入到解压后的源代码所在目录 :cd linux-3.4.88

6.清理以前编译留下的临时文件。make mrproper

7. 使用make localmodconfig自动精简内核配置。make localmodconfig,所有的选项,如果你不确定,就按回车键,选择默认配置。//看到其他资料用 make menuconfig 也可以。。。不过有点麻烦

8、配置完成以后,开始编译内核,在终端输入make命令即可。

还有一种比较麻烦的方法,在终端依次输入以下命令:(前面加上sudo吧 如果没有权限的话)

make dep     ;可能系统提示不需要,没事 直接下个命令
make clean    ;貌似我当时用的是这个。。。 sudo make-kpkg clean
make bzlmage     ;这里注意bz后面的I 是大写的
make modules
上面貌似花费了几十分钟。。。。。。。。
9.编译完内核之后就是要安装内核模块了

sudo make modules_install

sudo make install

10、将生成的bzImage文件和System.map文件拷贝到/boot/目录下,命令如下: //也不知道这步弄没弄。。。

cp /usr/src/linux-3.4.88/arch/x86/boot/bzImage /boot/

cp /usr/src/linux-3.4.88/System.map /boot/

12、在终端输入命令:

mkinitramfs 3.4.88 -o /boot/initrd/img-3.4.88 来建立镜像文件

然后输入命令:

update-initramfs -c -k 3.4.88

再输入命令:

update-grub2 //

13.最后重启 查看下自己的内核版本吧。

附图:

\

\

相关内容