ubuntu中linux内核的编译、更换与使用

本文转载于网络,侵权删。

原文链接:https://www.cnblogs.com/jeffkuang/articles/3699955.html

由于需要在PC机上做一些Linux驱动的实验,来学习《linux设备驱动开发技术及应用》这本书,最近在ubuntu上配置、编译、安装了更老一些的内核。原来ubuntu11.10自带的内核是linux-3.0.0-12的,我改为了linux-2.6.39.4版本的。过程主要参考《Ubuntu环境下编译linux-2.6.36内核操作手册》。

以下过程全部在root权限下操作。

1、 安装必备软件编译工具:

#apt-get install libncurses5-dev build-essential kernel-package

注意:

(1)libncurses5-dev是为之后配置内核能运行 make menuconfig程序做准备

Build-essential为编译工具,kernel-package是编译内核工具

(2)如果系统显示无法查找到这三个文件,输入#apt-get update更新数据源。

2、 下载内核

www.kernel.org下载你需要的内核版本的源代码:linux-3.6.39.4.tar.bz2

3、 将源码放在windows下的共享目录内,这样在linux下就可以看到并操作了。

我在linux下的共享目录为:

linux@xiangpingli:~/桌面/share$ pwd

/home/linux/桌面/share

linux@xiangpingli:~/桌面/share$ ls

linux-2.6.39.4.tar.bz2  vimrc.tiny3

4、 将该压缩包拷贝到/usr/src/目录下解压

5、 配置内核:

建议使用当前系统配置文件,使用当前系统配置文件方法:

 #cp /boot/config-XX  ./.config,然后进入menuconfig选择load选项。

6、 编译内核:

make,这可能需要2~3个小时的时间。

7、加入模块

#make modules_install

8、生成可执行的内核引导文件

#make bzImage

#cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.39.4

9、将System.map复制到/boot下:

#cp System.map /boot/System.map-2.6.39.4

10、生成initrd.img文件

#cd /lib/modules/2.6.39.4

#update-initramfs –c –k 2.6.39.4

11、自动查找新内核,并添加至grub引导

#update-grub

12、修改/boot/grub/grub.cfg文件,将几个timeout的值设为10

这样grub在引导的时候就会出现10秒的停留,如果有按键输入,则可以对内核镜像进行选择

猜你喜欢

转载自blog.csdn.net/masterbee/article/details/88026953
今日推荐