Linux内核编译

系统发行版ubuntu13.04,内核版本3.12.13 首先,官网下载所需内核。

为了之后的方便,切换到root权限 命令:sudo -i

复制内核包到制定目录 命令:cp ./linux-3.12.13.tar.xz /usr/src

解压内核包 命令:tar -xvf linux-3.12.13.tar.xz

切换到/usr/src目录下 命令:cd /usr/src

把原来编译产生的垃圾删除 命令:make mrproper

配置内核,选用基于图形窗口模式的配置界面 命令:make xconfig

正常的话应该可以开始配置内核了,可惜ubuntu没有自带qt环境或者我之前吧qt环境卸载了

缺qt3环境,然后去装qt3环境,发现现在大多数源里边已经没有qt3了,索性安装qt4的环境,重新开始配置内核,发现2.6的内核必须要qt3的环境,于是换到了3.12.13的内核。

重新执行 make xconfig,出现配置界面

开始配置内核,看不懂,找到了@金步国的一篇博文 博文链接

为了确保所有有关文件都处于最新版本状态 命令:make clean

开始编译压缩形式的内核 命令:make zImage

大概编译了20左右,内核编译完毕。

开始编译模块,这个过程时间比较长。 命令:make modules

编译完模块之后开始将编译后的模块转移到系统标准位置 命令:make module_install

最后执行 make install,这应该算是最后一步了,结果出问题了。

原因:当时装系统的时候boot分区是单挂的,分了80M进去,结果make install的时候报错:gzip: stdout: No space left on device. 看样子是boot分区太小gzip解压包的时候没有空间了。

解决办法:删掉boot分区下边当前没用的所有内核,然后update-grub 结果boot还是太小,最后想着把boot umount掉,然后把活动分区标记为根分区,想了想太危险,万一搞坏了,现在ubuntu下的所有配好的环境都完蛋了,最后选择了虚拟机。

Mar 9th, 2014