总结一下在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内核改名字都省略了,至于用到的命令也没有过多的解释,需要再查资料加深理解。

 

 

参考文章:

1.blog.csdn.net/jinble03/article/details/7070982

2.System.map、vmlinuz、initrd.img的产生和作用 

http://dogking.chinaunix.com/space.php?uid=22896670&do=blog&id=189483

3.内核编译之vmlinuzvmlinux system.map initrd

http://hi.baidu.com/masterfoo/blog/item/3cdd88aa312b91bdca130ca4.html

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值