ubuntu12.04内核编译记录
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.最后重启 查看下自己的内核版本吧。
附图:

评论暂时关闭