真是折腾死人啊。
先说说过程,我再写写问题吧。
第一步当然是引导啦。不过在这之前,需要先下载安装镜像。我这里下载的是这个chakra-2011.12-Edn-CD-x86_64.iso
挂载这个镜像后,把引导内核提取出来chakraiso和chakraiso.img。放在某个分区的根目录。如果你会对U盘安装GRUB,那最好啦。如果你不想覆写U盘的引导记录,想利用系统自己的引导记录,也行。
Linux下就不说啦,讲讲在windows下面怎么办。
如果你使用win7 可以使用boot.ini 虽然nt6.0开始使用bootmgr了,不过还是认这个boot.ini的。XP自然就不必说了。唯一需要注意的是,有限软刷BIOS激活的Win7,不能使用官方grldr覆盖根目录下那个隐藏的grldr,否则可能导致软激活失败。这个grldr使用随机的hash和干扰码干扰生成,为的也是骗过微软的反盗版检测。如果你没有上面这些问题,你就先下载官方的GRUB4DOS,提取出grldr.mbr,grldr。grldr.mbr的作用就是在被ntldr/bootmgr引导后寻找grldr并加载并加他。如果你有上面有上面那种情况,和软刷的win7冲突的,请下载我修改的irldr.mbr和irldr。作用是一样的,不过irldr.mbr寻找和加载的是被重命名为irldr的grldr(貌似有点拗口 )
boot.ini这样写
[text][boot loader]
timeout=0
default=c:\irldr.mbr
[operating systems]
C:\irldr.mbr="Grub4Irldr"[/text]
然后写个menu.lst
[text]title Install Chakra
find --set-root --ignore-floppies --ignore-cd /chakraiso.img
kernel /chakraiso chakraisolabel=CL_20111217 quiet lang=zhcn nonfree=yes xdriver=no
initrd /chakraiso.img [/text]
简单说明一下,这个的kernel后面的引导参数都是从光盘的isolinux引导参数上面提取的(我提取自"/cdrom/isolinux/zhcn.cfg"),我只修改了一个地方,nonefree被我修改成了yes,因为我是nvidia显卡。你懂的。
chakraiso和chakraiso.img放在任何一个盘的根目录下面均可。同时把那个ISO也放到因盘或者你的U盘的根目录下面。
接着就是重启,win7的引导菜单里面选择Grub4Irldr。接着出现一个GRUB4DOS的界面,选择install chakra。如果你的ISO在U盘,记得天前插入。
接着chakra内核就开始引导了。大概过了三十秒,会报错,同时进入一个busybox的ram shell。
下面就开始技术活了。假设你的U盘在Udev里面被映射成为sdb,文件系统为fat
[bash]mkdir udisk
mount -t vfat -r /dev/sdb /udisk
losetup /dev/loop7 /udisk/chakra-2011.12-Edn-CD-x86_64.iso[/bash]
这里说明一下,如果你的iso放在ntfs格式的硬盘,vfat换成ntfs格式即可。记得加上-r进行只读挂载,如你不想出现文件系统错误,windows提示自检的话。
iso文件名字其实输入的时候可以按tab补全,这个大家都懂的。loop7什么的不是固定的 只要是不被占用的loop设备就可以了
完毕后按下快捷键ctrl+D,内核开始寻找和挂载安装设备,接着就无障碍的进入图形安装界面了。
到安装界面的话基本顺利了,如果要说,不得不说的是那个地球仪选时区的创意很棒啊。
还有要说的就是一个这个chakra的一个bug。其实是mkswap的一个bug。由于2011.12这个build使用的是linux 3.0分支的内核,而内置的util-linux版本是2.19.1-2 。这个版本内置的mkswap不能正确检测linux kernel version string,
mkswap检测kernel version string,低版本内核(2.2.x),那么就只支持创建小于2GB的swap分区。3.x这个数字让mkswap咯屁了。mkswap以为是2.2.x或者更旧的内核分支。于是出现了这样的提示
[text]mkswap /dev/sda8
mkswap: warning: truncating swap area to 2097144 KiB
Setting up swapspace version 1, size = 2097140 KiB
no label, UUID=e7745552-5c78-4a80-8228-fac5ad501ef8[/text]
这个问题已经在目前的testing分支修复了升级到util-linux 2.20 +就可以。
如果你需要创建大于2GB的swap分区,你可以先行升级。编辑live环境的/etc/pacman.conf 取消testing分支的注释,然后启用163镜像。
[bash]cat <<EOF >>/etc/pacman.conf
[testing]
Include = /etc/pacman.d/mirrorlist
EOF
echo 'Server = http://mirrors.163.com/kdemod/$repo/x86_64' >/etc/pacman.d/mirrorlist
pacman -Syy
pacman -S testing/sysvinit testing/util-linux[/bash]
升级这两个包到最新版本即可。
另外,不建议在安装程序里面分区。我在安装程序里面的分区到PM或者DiskGenius下面看 全是错误且无法修复。只能重建。所以你还是实现规划好几个分区,哪怕是fat32的(swap分区例外),然后在安装的时候进行重新格式化就可哟i了。
其他,没什么了。默认的引导器是BURG(基于GRUB2),漂亮是漂亮的,不过安装程序没有提供安装到分区上的选项。只能写MBR,是有点不太人性化。不过不建议在这里取消后使用chroot进去装在分区上,你就先让他写MBR,完事了用BootICE再写回去,然后用我们刚才说道的irldr的menu.lst引导就可以了。
[text]title Boot Chakra
find --set-root /boot/burg/core.img
kernel /boot/burg/core.img[/text]
然后进去后再重新使用burg-install安装到分区引导记录上就可以了。
安装完毕后我装了一下nvdia的控制面板。GTK的。很丑。所以装了个oxygen-gtk ,又装了一个 chakra-gtk-config
,便于在控制面板内设置GTK主题外观。其他么应该没什么了。一些必要的bundle可以使用bundle manager管理。这个已经不是重点。不说了。你们自己折腾去吧。
@a
启用闭源驱动。
貌似NV 自己的驱动问题相对较少。
博主能不能告诉我一下nonfree这个参数是干嘛用的?