总结一下在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 的下载地址:请点这里
相关阅读:
Ubuntu 13.10 (Saucy Salamander) 内核已升级至 Linux Kernel 3.10 RC5