Chromium是「铬」的意思,所以本文标签我用了CrOS(Cr是化学元素铬缩写)。
转入正题,这次来讲一下怎样给Chromium OS编译内核,当然编译Chromium OS的时候会自动把内核编译上,不过出于很多原因,我们会要修改内核编译的配置文件(.config)。如果说Linux的内核编译让人很头痛,那Chromium OS的内核编译可以说让人头痛欲裂了。
首先得chroot进入编译Chromium OS的状态(看我上一篇关于编译Chromium OS的文章)。然后获取当前版本的内核源代码,慢慢等吧,要下载接近1G的代码(如果当初你下载的是完整代码而不是minimum layout的话,时间可能会节省很多)。
cros_workon start chromeos-kernel --board=amd64-generic repo sync
–board参数请自行修改对应你选择的board,因为我已经设置过board的默认值了,所以下面需要–board参数的地方我都省去了。然后要正式开工了!
export BUILD_DIR=/tmp/kernel #随便哪个目录都行,将在这个地方来编译内核 mkdir -p $BUILD_DIR cp /build/amd64-generic/boot/config-3.4.0 ${BUILD_DIR}/.config #config-3.4.0是目前的名字,随着内核更新,后面的版本号会变化 cd ../third_party/kernel/files/ make oldconfig O=${BUILD_DIR} make menuconfig O=${BUILD_DIR} #按照你的硬件,耐心配置好!特别是显卡驱动和网卡驱动 make -j4 O=${BUILD_DIR} sudo make install INSTALL_PATH=/PATH_TO_YOUR_ROOT_A/boot/ O=${BUILD_DIR} sudo make modules_install INSTALL_MOD_PATH=/PATH_TO_YOUR_ROOT_A/ O=${BUILD_DIR}
嫌那个O参数什么的很麻烦的话,可以复制一份源码到其它地方,然后直接按平常内核的编译就好。
本文是按照Geek流程,内核的make install和modules_install指定安装到灌好的U盘的ROOT-A分区,直接进行修改。下次懒得编译整个系统了?可以直接下Hexxeh编译的镜像灌好去改内核了。。。当然我还是推荐自己编译的,因为能够针对自己的CPU指令集进行优化(make.conf里面指定的那些GCC参数),最大限度提升效能。
如果镜像关闭了检查的话,也可以直接挂载之前制作的镜像,直接修改然后灌到U盘。
参考文章:Kernel FAQ、Kernel Configuration(这篇文章给出的是较为标准的方法,利用了chromeos的脚本,我会在下一篇文章中介绍)
P.S. 用本文的办法修改内核不会对cros_sdk的起作用,下次build_packages的时候编译出来的内核还是没改动过的。下一篇文章我会介绍官方的办法,修改后每次build_packages都会用修改过的配置文件。下一篇文章大概明天发~
2 responses to “简易编译Chromium OS内核教程”
我也编译过,这玩意比起Android太TM麻烦了。
怪不得发展不起来
开源的没有发展起来,但是Chrome OS本尊和Chromebook卖得还不错(除天朝外)。