环境:
CPU: AMD Athlon64 X2 5200+ 很老不过支持硬件虚拟化,很实用
芯片组:nForce . 不知道几代,但是Linux对这种非主流的芯片组支持不好,导致系统各种不稳定
显卡:nForce 6150se 其实我用它跑过黑暗弥赛亚和罗马全战8000人战。当然后者是沾了处理器的光。nouveau下使用OpenGL屏幕会卖萌
其他:SATA硬盘、PATA刻录机各一台 各种当机的幕后黑手(这完全是躺枪)磁盘控制器的驱动默认是Module导致当机,改成编译进内核,也许可以解决?
编译器:gcc4.6.1 mint自带的版本
准备工作:
sudo apt-get install git mercurial
3.2.6内核咱还是从kernel.org下载吧……不太会用git选择branch,每次都下载到unstable版本
安装libncurses5-dev
解压,链接一下
viktor@viktor-mint /usr/src $ sudo ln -s ~/src/linux-3.2.6 linux-3.2.6
配置:
sudo make menuconfig
processor type and features
processor family = athlon64
PV guest support = Xen的部分默认
PV debugging = yes
Preemption model = 默认。如果选择PREEMPT,会召唤各种bug出现,严重影响正常使用。
memory hot add……勾上
其他的intel的去掉
Networking
Amateur Radio去掉 噗
红外 蓝牙 去掉
(note:检查了一下NetFilter support, iptables和ebtables的所有部分都作为模块编译)
Device driver
Xen block device backend driver=yes!其他各种xen的驱动(前端、后端、内存等)全部直接编译进内核
rados block device 去掉
floppy去掉
misc device里面还有一堆猎奇的什么三轴陀螺仪阿 光传感器 全部去掉,咱又不是手机
Graphics
Bootup Logo?加上试试
Staging Driver
这个build里面的Staging 特别多,各种disable掉 nouveau留着。
Platform Specific Driver
一样 各种删
IOMMU Hardware support 自动把amd的选上了
note:后来出现了无法启动,不稳定panic等问题,于是补上了以下内容
+infiniband,一些固件(firmware)
把sata_nv , pata_amd两个从默认的模块(M)改成内核(Yes),尝试能否解决崩溃问题。
make使用-j3。这个处理器编译的速度是实验室的渣E2160的3倍!那台机器早就得换了
接下来一贯的步骤。
sudo cp -a .config /boot/config-3.2.6
sudo cp -a System.map /boot/System.map-3.2.6
sudo cp arch/x86/boot/bzImage /boot/vmlinuz-3.2.6
创建initrd
sudo update-initramfs -c -v -o initrd.img-3.2.6 3.2.6 // 创建一个新的initramfs
Fedora下是dracut命令