分享

ubuntu 9.1 内核编译

 照壁山人 2010-07-02

第一步 安装必要的工具

首先要安装必要的包。
包有: libncurses5-dev menuconfig 需要的)和 essential
sudo apt-get install build-essential kernel-package(内核打包deb的可以不用装手动安装)
sudo apt-get install make
sudo apt-get install gcc
另外,查看系统是否有这样的两个命令
mkinitramfs mkisofs
这两个工具在编译内核时用来生成 *.img 文件的。如果没有就需安装。

第二步 下载内核

www.kernel.org 下载新内核到 /usr/src
我下载的是 linux-2.6.30.tar.gz

解压 linux-2.6.30.tar.gz linux-2.6.30
cd /usr/src

sudo tar zxvf linux-2.6.30.tar

cd linux-2.6.30/


第四步 开始编译

以下所有的工作都在 /usr/src/linux-2.6.30 下完成
sudo make menuconfig //
menuconfig 的话还需要 Ncurses ,或者用
sudo make xconfig

sudo make menuconfig // 一般是用 menuconfig

配置完以后保存(系统中保存的一份内核配置文件是在 /usr/src/linux-2.6.30 下名为 .config, 你也可以自己在别的地方另存一份)

不会配置,就选用默认配置可能也能用(就是make menuconfig 后直接退出)
sudo make dep     //
也许系统会提示现在不必要进行 make dep ,那就下一步 2.6.30 的我编译就没有使用过。
sudo make clean //
清除旧数据 ,新解压的内核源码就不需要这一步了

sudo make –j4    // -jn 参数指要衍生的作业数,一般每个处理器2个作业,所以,双核可以选择-j4
sudo make bzImage //
编译内核,将保存到 /usr/src/linux-2.6.30/arch/i386/boot/
sudo make modules //
编译模块
sudo make modules_install //
安装模块 把编译好的模块安装到系统的/lib/modules下

sudo mkinitramfs -o /boot/initrd-2.6.30.img  2.6.30 #根据安装好的模块做镜像后面的参数号是指你的版本号,也就是modules下你安装的文件夹名

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

sudo mkdir /lib/firmware/2.6.30
sudo make install //
安装内核

#以上的几个步骤不能乱来要搞清楚各个步骤的实质内容   编译(包括内核和模块)->安装模块->做模块镜像->安装内核顺序不能乱


经过以上几步,内核就编译安装好了。然后就是修改grub,能够引导我们自己的新内核。

ubuntu9.10使用Grub2,默认启动菜单不显示

$ sudo gedit /etc/default/grub

找到如下行,并修改为:

#GRUB_HIDDEN_TIMEOUT=3
GRUB_TIMEOUT=XXX <---Make sure you put in a timeout value here.

保存文件,并执行:

$ sudo update-grub
update-grub 会自动探测已有的内核

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多