由于现在用的FC8里面的C和C++库太老了,有时候跑一些已经编译好的比较新的软件会出现一些莫名其妙的错误,所以决定在将系统换成gentoo。
先在qemu上实验了一下gentoo的安装。
首先是虚拟硬盘空间的分配,可以利用dd或者qemu-img来创建。
dd if=/dev/zero of=gentoo.img bs=1024 count=4096 (创建一个3G的空文件)
qemu-img create -f qcow2 gentoo.img 3G (创建一个3G的空镜像,但是实际大小是已经使用的大小,推荐用这个来创建)
下载一个gentoo-minimal-install CD,大概就600M,这个实际上就是一个CD版的gentoo环境,之后的gentoo安装就是在这个CD里面完成(必须要有网络环境)。
使用CD启动qemu: qemu -hda gentoo.img -boot order=d -cdrom gentoo-minimal-install.iso -m 512 -net nic -net user
我机器上的qemu默认模拟的是P2的CPU,www.linuxidc.com然后指定了MEM为512M,使用了网络环境。
然后就会看见qemu使用gentoo的CD启动,然后按照gentoo的handbook,将4G的硬盘分割并mount在对应的地方。
/dev/hda1 ext2 32M
/dev/hda2 swap 512M
/dev/hda3 ext3 剩下的空间
然后的顺序都是按照handbook上面的去做,首先是mount proc和dev,然后chroot,接着编译kernel,安装syslog工具,安装grub。这里需要注意一下网络环境的设置,因为在启动qemu的时候就已经设定了使用user和nic的启动,而qemu默认使用的SE2000的网卡。在设置的时候先用ifconfig看看eth0是不是已经设置好了,然后可以用links上g.cn看看是不是能够连上网络。详细的网络设置可以看qemu里面的set up networking的doc。
还有就是关于在编译kernel时候要注意这个时候qemu到底给你模拟了什么硬件,可以使用lspci,lsusb,lspcmcia,lsscsi来查看。而默认的硬盘是使用IDE的界面,在编译的时候一定要把IDE的相关驱动给装上,不然会出现boot的时候不能读取硬盘的情况。
在qemu上编译kernel时间比较长,在我的机器上用了10个小时才将kernel编译好,而syslog的emerge也用了将近3个小时。
然后在完成了handbook所有的程序之后,正常poweroff,重新开启qemu,这个时候用下面的指令:
qemu -hda gentoo.img -boot order=c -m 512 -net nic -net user (其实就是去掉了CD启动,不然直接重启的话还是会从CD启动)
OK,基本就是上面的步骤就可以在一个qemu的虚拟机玩刚刚装好的gentoo了~~
接下来我还要试试怎么从已经有了的distribution并且是使用LVM的情况上将gentoo给装上。