Ubuntu上编译Linux内核的过程笔记


总结一下在Ubuntu上编译Linux内核的过程

 

1.首先要获得root权限,方法有二,均验证过:

a.sudopasswd root

******(输入原先的root口令)

******(输入新的root口令,可以保持原样。我就保持的原样)

******(再次输入新的root口令)

su root

输入一遍设定的密码

之后就可以在终端中使用root权限了!

b. sudo -s –H

*********(输入设定的密码)即可获得root权限

2. 安装编译程序

必须:#(sudo) apt-getinstall build-essential kernel-package libncurses5-dev fakeroot

这一步安装了编译内核必须的程序,是必须安的

3.cd到内核下载后放置的目录进行解压缩,一般有两种情况:

a. 如果是bz2格式的话使用 tar -jxvf linux-2.6.33.tar.bz2 或tar xjvf linux-2.6.33.tar.bz2(参考网上和老师ppt,自己未验证)

b.如果是gz格式的话则root@jb-laptop:/home/jb#tar -zxvf linux-2.6.33.tar.gz

4. 复制源码到目录/usr/src/下

root@jb-laptop:/home/jb# mv linux-2.6.38.8 /usr/src/

然后cd到 /usr/src/linux-2.6.33文件夹下进行下面的操作(cd到想要的文件夹下有的需要加/有的则不需要,(?)cd直接返回上级文件夹)

5. makemrproper (其实这一步可以省略,因为是刚下载好的源码,一定是干净的;如果使用的是已经编译过的code,则需要做这一步)

6.配置Kernel选项:make menuconfig (这一步很重要,它决定了你可以个人定制化你的Kernel。当你使用menuconfig时,会有一些选择列出来) 具体东西有些复杂,下面提供不需要手动配置的方法:cp /boot/config-`uname -r` ./.config(用你现在的内核配置设置新内核)然后make menuconfig,进入一个界面然后先最底下的load……然后save……然后exit

7. makebzImage 编译内核.(大约15分钟)

8. makemodules 编译模块.(1小时或更久)

9.makemodules_install 安装模块

此时/lib/modules/下应该新生成一个KERNEL_VERSION文件.

10.生成新内核make install

把编译好的内核放入/boot中,会把vmlinuz和System.map复制到/boot目录下,并建立相关的链接

11.完成最后的工作

首先是生成initrd.img。

mkinitramfs2.6.38.8 -o /boot/initrd.img-2.6.38.8

如果系统提示没有安装mkinitramfs,那就apt-get install mkinitramfs

接着修改引导程序文件grub.cfg

update-grub

尽量不要手动去修改grub.cfg文件,搞不好连电脑都启动不了

12.重启电脑

reboot

然后在grub引导界面上选择你的新内核

啰嗦了这么多总算是完成了简单的内核编译,写得有些琐碎,但是每一步都很明确也经过了验证。其实这还算是比较偷懒的方式,关于内核选项的配置和把内核映象以及System.map拷贝到/boot/下,还有给自己的linux内核改名字都省略了,至于用到的命令也没有过多的解释,需要再查资料加深理解。

Linux Kernel 的详细介绍:请点这里
Linux Kernel 的下载地址:请点这里

Linux内核将用nftables替代iptables

Linux 3.12代号Suicidal Squirrel

怎样在 Ubuntu 上安装 Linux 3.11 内核

Ubuntu 13.10 (Saucy Salamander) 内核已升级至 Linux Kernel 3.10 RC5

Linux Kernel 3.4.62 LTS 现已经提供下载

如何在Ubuntu 13.10上安装Linux内核 3.12

相关内容