内核编译的主要任务就是把自己的硬件对应的编译进内核或模块。
尽量去掉内核中自己没有的硬件。
所以用一些探测自己硬件的命令非常重要。
比如自己的显卡,键盘鼠标,硬盘,网卡声卡。
现在(2015年)的机器基本上
显卡是n卡或a卡,
键盘鼠标一般是usb的,
硬盘一般是sata的,原来的是ide的。可以用df命令查看。
文件系统一般是ext4,原来的是ext3,可以用blkid命令查看。
因为家庭一般都在用无线路由,网卡一般都是接usb无线网卡啦,所以pppoe协议也不用编译啦。
编译内核的时间好像大家的文章上少有提及。
基本上内核需要半小时,模块需要半小时。
内核大小的问题,文件大小bzImage大约5m左右,现在我减少到了4m。
模块是53个,大约9m。官方的模块4000个左右,大约130m。
我用的系统是ubuntu 14.04。
我们一般在官方发布版上重新编译内核。
所以make localmodconfig是个非常好的方法。但是也不是所有的模块都是我们需要的。
现在编译内核我用make xconfig
图形界面的可以先关闭大项,能最大限度的减少编译时间。
图形界面可以很好的看出子项和父项的关系。
原来08年左右大家大部分都在用make menuconfig。
编译的方法是逐渐减少的方法。
sudo cp /boot/*-3.18.4 /home/cheng/bootbak/
sudo cp -r /lib/modules/3.18.4 /lib/modules/3.18.4.bak
这样如果第二次编译的内核不能启动则能把第一次的拷贝回去。
如果出现错误,可以用dmesg命令查看哪里出错,就算自己不懂,
也可以发给别人让别人帮忙分析。