作者: forever steel(zhoun)
原发: http://guo9310.blog.163.com/
发现一个非常好的生成slackware package的工具: src2pkg
可以从deb, rpm, 源代码生成slackware的package, 非常好用.
这样很多自己install的包, 都可以用src2pkg安装, 升级和卸载都比较方便
我用src2pkg安装了不少包, 很少有不能处理的情况,
现在版本1.8, 支持普通用户生成安装包了.
强烈推荐
升级linux-2.6.24-rc5内核
1. 从www.kernel.org 下载下载linux-2.6.23.tar.bz2, patch-2.6.24-rc5.bz2
2. 下载disk-protect patch for kernel 2.6.24-rc3和Fix deadlock in hdaps protect patch
http://sourceforge.net/mailarchive/a...ocal&counter=2
http://sourceforge.net/mailarchive/a....org&counter=1
这是hdaps的邮件列表地址, 可以从这里找到最新的hdaps内核补丁
http://sourceforge.net/mailarchive/f...me=hdaps-devel
3. 下载 thinkpad-acpi 内核补丁thinkpad-acpi-0.18-20071203_v2.6.24-rc4.patch.gz
http://sourceforge.net/project/showf...roup_id=117042
4. 下载tp_smapi 0.32
http://sourceforge.net/project/showf...?group_id=1212
5. 解压内核linux-2.6.23.tar.bz2到/usr/src下面, 建立符号链接linux
#rm linux; tar jxvf linux-2.6.23.tar.bz2; mv linux-2.6.23 linux-2.6.24-rc5; ln -s linux-2.6.24-rc5 linux
6. 打patch
#patch -p0 < patch-2.6.24-rc5 #patch -p0 < disk-protect.patch.2.6.24-rc3 #patch -p0 < hdaps-errorcheck-fix.patch #patch -p0 < thinkpad-acpi-0.18-20071203_v2.6.24-rc4.patch
7. 把老内核的.config复制到linux目录
# make oldconfig
把新加的kernel选项回答一下, 这里发现intel 3945无线网卡直接支持了, 还有intel的无线设置工具iwlwifi
8. 正常的编译内核,编译modules
# make bzImage; make modules; make modules_install
9. 建立一个脚本,自动安装kernel
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-$VERSION-x61 cp /usr/src/linux/System.map /boot/System.map-$VERSION-x61 cp /usr/src/linux/.config /boot/config-$VERSION-x61 cd /boot rm System.map rm vmlinuz rm config ln -s vmlinuz-$VERSION-x61 vmlinuz ln -s System.map-$VERSION-x61 System.map ln -s config-$VERSION-x61 config rm initrd.gz rm -fr initrd-tree mkinitrd -m ext3
10. 重启系统, 继续安装tp_smapi
其中tp_smapi编译的时候出错, 提示要用EXTRA_CFLAGS代替CFLAGS
打开Makefile, 把其中的所有CFLAGS改成EXTRA_CFLAGS,
然后
#make install HDAPS=1
自动把三个moduel文件安装到/lib/modules/2.6.24-rc5-x61/extra目录
11. Virtualbox安装的时候, 要添加一个vboxdrv.ko module
运行VirtualBox_1.5.2_Linux_x86.run, 编译报错
# ./VirtualBox_1.5.2_Linux_x86.run --target vbox
1)到vbox目录,
# mkdir temp;cd temp; tar jxvf ../VirtualBox.tar.bz2
2)修改其中一个头文件, 加两行
src/include/iprt/types.h
# define false linux_false # define uintptr_t linux_uintptr_t # include # include # undef uintptr_t # undef false
3)回到temp目录, 重新打包
# tar jcvf VirtualBox.tar.bz2
4)替换打包文件
# cd ..; mv temp/VirtualBox.tar.bz2 .;rm -fr temp
5)运行安装
# ./install.sh
安装之后, vbox的源代码也在/opt/VirtualBox-1.5.2/src目录,
下次如果升级kernel, 直接到src目录, 编译对新内核的module,
然后复制vboxdrv.ko到/lib/modules/`uname -r`/misc目录就可以,不用重新安装vbox