|
前几天在模拟器里装了一次LFS, 结果发现没学到什么东东只是胆子大了不少,什么都敢试了(不象以前,畏手畏脚的)
下载内核原代码: ftp://ftp.cn.kernel.org/pub/linu ... inux-2.6.25.tar.bz2
tar xvf linux-2.6.25.tar.bz2
cd linux-2.6.25
抄袭Archlinux的设置:
zcat /proc/config.gz .config
升级.config到.25版
make oldconfig
之间会问一大堆新选项,我一路回车不管它,到时再说
make menuconfig 或者 make gconfig
默认已经按Archlinux的配置了,很重要的一项改个前缀:General setup-->Local version - append to kernel release (NEW), 我就改成了-MYARCH以防止和ARCH的重叠,另外也我去掉了里面默认编译的一大堆我没有的驱动(声卡,网卡,IP,IC,IQ卡等,顺便把CPU由原M686调成了K7)
保存好后:
make
sudo make modules_install
sudo cp arch/x86/boot/bzImage /boot/mybzImage
编译新内核倒是没什么问题, 完后记得
sudo mkinitcpio -k 2.6.25-MYARCH -g /boot/myinitrd
做一个新的initrd镜象,这里的2.6.25-MYARCH对应上面改的Local version(下同)
重启,在GRUB菜单出现时先中Archliunx,按e进入编辑,分别把它默认的vmlinuz26和kernel26.img改成mybzImage和myinitrd,按b启动.
这样做是为了如果没成功的话不影响任何东东,直接重启就是原来的版本
如果成功启动,试用没什么问题,把它更新的/boot/grub/menu.lst里.
偶不成功 nvidia驱动找不到了,照wiki的方法编译驱动不成功,后来在一个gentoo网上找到了解决方案:
1.下载nvidia驱动和补丁
驱动:
http://www.nvidia.com/Download/index.aspx?lang=en-us
补丁:
http://www.nvnews.net/vbulletin/showthread.php?t=110088
2.重启,如上修改grub, 在kernel /boot/mybzImage ...这行最后加数字3,进入字符模式.
应用补丁:
sh NVIDIA-Linux-i686-169.12-pkg1.run \
--apply-patch NVIDIA_kernel-169.12-2286310.diff.txtf
sh NVIDIA-Linux-i686-169.12-pkg1-custom.run --extract-only
cd NVIDIA-Linux-i686-169.12-pkg1-custom/usr/src/nv
ln -s Makefile.kbuild Makefile
make SYSSRC=/lib/modules/2.6.25-MYARCH/build module
现在应该能成功编译了,生成一个nvidio.ko文件,把它放到它该去的地方:
install -m644 nvidia.ko /lib/modules/2.6.25-MYARCH/kernel/drivers/video/
知会一下系统:
depmod -v '2.6.25-MYARCH' > /dev/null 2>&1
重启,进入X系统出现nvidia logo,搞定
我不会PKGBUILD语法,不知道哪位达人能把对应这个2.6.25的nvidia驱动做一个pkg?那就方便多了 |
|