准备工作:
u Longene-0.3.0只支持root用户,所以请用root用户登录。
u 从Longene网站的下载中心频道下载longene-0.3.0.tar.bz2的安装包和linux-2.6.30.tar.bz2的代码包(也可以从Linux Kernel官方网页下载http://www.kernel.org/)
u 某些发行版(如ubuntu)安装完后会缺少编译必要的包,首先要安装这些包。如可以编译则可以跳过这一步
#apt-get install build-essential (安装 gcc, make, patch等)
#apt-get install libncurses5-dev (安装 make menuconfig 时必须的库文件)
从http://wiki.winehq.org/Recommended_Packages下载wine依赖包并安装,ubuntu系统可以直接运行如下命令:
#apt-get build-dep wine1.2
一、 编译Linux内核
u 解压linux-2.6.30.tar.bz2
#tar jxvf linux-2.6.30.tar.bz2
u 在编译安装linux-2.6.30前,要先为该内核打补丁,补丁在longene-0.3.0.tar.bz2中,名为longene-0.3.0-linux-2.6.30.diff,进入linux-2.6.30的顶层目录:
#cd linux-2.6.30
#patch –p1 < ***/longene-0.3.0-linux-2.6.30.diff
***是存放补丁文件的目录
u 接下来对内核进行配置,你可以使用补丁中的.config文件,也可以使用自己的配置文件,或者/boot目录下的/config-***文件,这是发行版的默认配置文件,将它复制到linux-2.6.30目录,并更名为.config,然后执行:
#make menuconfig
如果你使用的是Longene提供的.config文件,只要退出并保存即可。否则,请按照如下进行配置:
需要选中的:
1. [*] General setup -> Longene support
2. -*- General setup -> Configure standard kernel features (for small systems) -> Load all symbols for debugging/ksymoops
3. [*] General setup -> Configure standard kernel features (for small systems) -> Do an extra kallsyms pass
4. [*] General setup -> Disable heap randomization
5. [*] File systems -> Native language support -> Simplified Chinese charset (CP936, GB2312)
不能选中的:
1. [ ] Enable loadable module support -> Module versioning support
2. [ ] Processor type and features -> Symmetric multi-processing support
u 配置好后,对内核进行编译和安装:
#make
#make modules_install
#make install
u 对于有些系统(如ubuntu),需要手动生成initrd.img文件
# mkinitramfs -o /boot/initrd.img-2.6.30-longene-0.3.0 /lib/modules/2.6.30-longene-0.3.0
initrd.img-2.6.30-longene-0.3.0是你要生成的initrd.img文件的名字,可以自己取名
/lib/modules/2.6.30-longene-0.3.0是编译完内核后生成的针对longene的内核版本的目录
有了initrd.img后还有手动添加启动项:
ubuntu9.04及以下版本修改/boot/grub/menu.lst,增加一个启动项(可以复制一段其他启动项的信息,将title字段内容修改为自己可识别的名称,将kernel字段修改为Longene对应的vmlinuz文件名,将initrd字段修改为Longene对应的initrd.img文件名)
ubuntu9.10及以上版本修改/boot/grub/grub.cfg,增加一个启动项
u 重启系统,可以在启动选项中看到新编译的内核选项,如果没有改过内核配置文件,这里的内核选项应该是:2.6.30-longene-0.3.0,选择该选项,进入系统。
二、 编译Wine For Longene
u 进入Longene提供的Wine For Longene(wine-1.0-longene)目录,依次执行如下命令:
#./configure
#make depend && make
#make install
u 如果以前编译、安装过wine,请删除/usr/local/lib/wine目录下的:
rpcss.exe.so
explorer.exe.so
services.exe.so
winemenubuilder.exe.so
u 编辑/etc/ld.so.conf文件,添加一行
/usr/local/lib
保存退出后执行ldconfig
三、 编译Longene模块
u 进入Longene代码包的module目录,编译模块:
#make
u 编译完,会生成unifiedkernel.ko,加载该模块:
#insmod unifiedkernel.ko
注:每次重启或者卸载模块后都请执行这一步
现在您就可以使用Longene了。
卸载Longene
u 卸载Wine For Longene,进入wine-1.0-longene目录,执行以下命令:
#make uninstall
#make distclean
u 卸载Longene模块,进入module目录,执行以下命令:
#make clean
u 卸载内核linux-2.6.30-longene-0.3.0,进入Longene的内核代码所在目录,执行以下命令:
#make distclean
删除menu.lst或者grub.cfg文件中增加的内核启动项。