Stephen_yu的个人空间 https://blog.eetop.cn/yukanglong [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Ubuntu7.10下2.6.24.4的内核编译

已有 1466 次阅读| 2008-4-16 11:44 |个人分类:UBUNTU

Ubuntu下2.6.24.4的内核编译

第一步 安装必要的工具

首先要安装必要的包。

包有:libncurses5-dev(menuconfig需要的)和essential
sudo apt-get install build-essential bin86 kernel-package
sudo apt-get install libqt3-headers libqt3-mt-dev  //
sudo apt-get install make
sudo apt-get install gcc

另外,查看系统是否有这样的两个命令,用tab键
mkinitramfs mkisofs

这两个工具在编译内核时用来生成 *.img文件的。如果没有就需安装。 第二步 下载内核 到www.kernel.org下载新内核到/usr/src 我下载的是linux-2.6.24.4.tar.gz(原来的内核是2.6.22-14-generic)

第三步 编译前的准备 察看当前内核的版本
uname -a
[size=+0]建议最好下载比当前已安装版本高的内核解压linux-2.6.24.4.tar.gz到linux-2.6.24 .4
cd /usr/src
sudo tar xvf linux-2.6.24.4.tar.gz
cd linux-2.6.24.4/

第四步开始编译
cd /usr/src/linux-2.6.24  //以下所有的工作都在/usr/src/linux-2.6.24.4下完成
sudo make menuconfig  //用menuconfig的话还需要Ncurses,或者用sudo make xconfig

apt-get install libncurses5-dev
然后到新立得里把所有以ncurses开头的软件包全部装上,这样就可以开始编译内核了。
 先运行以下命令,复制当前内核的配置文件。
cp /boot/config-`uname -r` ./.config然后
sudo make menuconfig  //一般是用menuconfig

选择 "Load an Alternate Configuration File",再选择你刚才拷贝过来的.config文件作为配置文件。 然后确定。当结束后,你选择退出时,会提示问你  "Do you wish to save your new kernel configuration?"选择yes即可。


配置完以后保存(系统中保存的一份内核配置文件是在/usr/src/linux-2.6.24.4 下名为.config,你也可以自己在别的地方另存一份)也可以cp原来在/boot目录下的config-2.6.xx 到当前目录下,在make menuconfig是使用这个配置文件。

sudo make dep    //也许系统会提示现在不必要进行make dep,那就下一步 2.6.24.4的我编译就没有使用过。
sudo make clean //清除旧数据,新解压的内核源码就不需要这一步了
sudo make –j2 可以分两个线程来进行编译工作,不过我用make –j4 却发现系统有9个make进程在工作。所以这个参数未必起作用。
sudo make bzImage //编译内核,将保存到/usr/src/linux-2.6.24.4/arch/i386/boot/下
sudo make modules //编译模块
sudo make modules_install //安装模块
sudo mkinitramfs -o /boot/initrd-2.6.24.4.img 2.6.24.4

此时可能提示找不到这样的一个文件夹“/lib/firmware/2.6.24.4”,你需要手工创建一个这样的文件夹。

sudo mkdir /lib/firmware/2.6.24.4

sudo install //安装内核安装完后/boot下将增加以下几个文件(用ls -l *24*查看)

helight@helight-desktop:/boot$ ls -l *24*
-rw-r--r-- 1 root root    85203 2008-03-14 22:24 config-2.6.24.4
-rw-r--r-- 1 root root    85203 2008-03-14 20:23 config-2.6.24.4.old
-rw-r--r-- 1 root root 37968871 2008-03-15 08:31 initrd-2.6.24.4.img
-rw-r--r-- 1 root root  4014080 2008-03-14 22:24 initrd.img-2.6.24.4
-rw-r--r-- 1 root root   932315 2008-03-14 22:24 System.map-2.6.24.4
-rw-r--r-- 1 root root   932315 2008-03-14 20:23 System.map-2.6.24.4.old
-rw-r--r-- 1 root root  1858864 2008-03-14 22:24 vmlinuz-2.6.24.4
-rw-r--r-- 1 root root  1858864 2008-03-14 20:23 vmlinuz-2.6.24.4.old
helight@helight-desktop:/boot$

给/boot/grub/menu.lst中添加一个新的启动项,如我的menu.lst增加了如下一段文字

title            Ubuntu, kernel 2.6.24.4
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.24.4 root=UUID=d7e2cf74-ebf5-4c78-ac2c-9f85a9809eae ro
initrd          /boot/initrd-2.6.24.4.img

从新启动即可。

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 10

    评论
  • 266

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 06:57 , Processed in 0.014072 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部