感谢支持
我们一直在努力

Gentoo编译内核

启动Gentoo发现x server无法启动,察看了一下log,是nvidia驱动没有安装,记得升级的时候,已经安装过了,不知道为什么出现这么个问题.


那就重新安装nvidia-drivers


#emerge nvidia-drivers


出现错误,找不到.config文件,察看了一下,内核2.6.37的/usr/src/linux-2.6.37-gentoo-r4里面已经没有内核源码了,察看一下gentoo最新的稳定内核是39了,就接着


#emerge gentoo-sources


先安装内核39吧,为了省事儿,采用genkernel编译,eselect过后,wk,无法编译啊,出现


ERROR: Could not find source tarball: /var/cache/genkernel/src/busybox-1.7.4.tar.bz2!


于是换用手动编译内核,编译完成后,kernel panic, 没有搞懂gentoo的加载内核的方式是怎么实现的,


genkernel是需要initrd的,但是手动编译的不需要,kernel panic的原因应该就在于此,应该是内核启动起来过后,没有相应的驱动(模块)来识别硬盘导致的.


还是暂时换用genkernel吧,


#etc-update


更新配置文件,这下genkernel正常了,接着安装nvidia的驱动,可以起来了.


这个问题有时间好好研究一下.


********************************************************************************


原来在编译的时候,选择了Initial  RAM filesystem and RAM disk support ,在这里(删掉了)



这个选上了,内核在启动过程中,会挂载这个小型的文件系统(主要成分为busybox),加载完磁盘驱动和其他驱动过后,开始挂载磁盘分区到根文件系统,系统就起来了.


而自己手动编译的时候,没有生成initrd,所以运行到这里就出错了.


有两种解决方案:


1.不使用initrd,把磁盘等驱动编译到内核里,并且不要编译Initial  RAM filesystem and RAM disk support


2.使用initrd,可以手动生成initrd,也可以使用genkernl来生成initrd.

赞(0) 打赏
转载请注明出处:服务器评测 » Gentoo编译内核
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏