红联Linux门户
Linux帮助

Fedora Core 6+Xen虚拟Fecora Core 6

发布时间:2007-10-23 11:51:44来源:红联作者:Codefnas
现在新版本为Fedora 7,不过发出来给大家参考下吧,转载。

抑郁了很长时间,终于能在xen上运行GuestOS了。

首先安装的HostOS为Fedora Core 6,安装时选上虚拟化软件,系统就自动为我们安装xen,省去了很多麻烦

1、下载一个Fedora Core 6基础系统,现在最新的是Fedora 7了。

2、新建一个目录 mkdir /opt/fc6 ,将下载的基础系统的镜像放在此目录下,解压,后会出来4个文件:fedora.fc6.img,fedora.swap,以及两个*.cfg的配置文件。

# bzip2 -d fedora.fc6.20070313.img.tar.bz2
# tar vxf fedora.fc6.20070313.img.tar

3、修改配置文件fc6.cfg如下:
kernel = "/boot/vmlinuz-2.6.18-1.2798.fc6xen"
ramdisk = "/boot/initrd.img"
memory = 128
name = "fc6"
vif = [ '' ]
dhcp = "dhcp"
disk = ['file:/opt/fc6/fedora.fc6.img,sda1,w','file:/opt/fc6/fedora.swap,sda2,w']
root = "/dev/sda1 ro"

4、# mkdir /mnt/fc6
将/opt/fc6/fedora.fc6.img挂载到/mnt/fc6上
# mount -o loop /opt/fc6/fedora.fc6.img /mnt/fc6

将/lib/modules/下的文件夹2.6.18-1.2798.fc6xen复制到/mnt/fc6/lib/modules/下,然后
# umount /mnt/fc6

5、做一个initrd.img镜像
新建一个文件夹initrd,将/boot下initrd-2.6.18-1.2798.fc6xen.img复制到initrd文件夹下

# mkdir /initrd
# cp initrd-2.6.18-1.2798.fc6xen.img /boot /initrd
# mv initrd-2.6.18-1.2798.fc6xen.img initrd.gz
# gunzip initrd.gz
# cpio -idcmv < initrd

此时,initrd文件夹下会解压出许多文件夹,将/lib/modules/2.6.18-1.2798.fc6xen/kernel/drivers/xen/netfront下的xennet.ko以及/lib/modules/2.6.18-1.2798.fc6xen/kernel/drivers/xen/blkfront下的xenblk.ko复制到/initrd/lib下,并且在/initrd下的init文件中添加如下:

echo "Loading xenblk.ko module"
insmod /lib/xenblk.ko
echo "Loading xennet.ko module"
insmod /lib/xennet.ko

进入到initrd文件夹,执行命令:
# find .|cpio -c -o > initrd.img
# gzip initrd.img
# mv initrd.img.gz initrd.img将新生成的initrd.img复制到/boot中,并且按照上面将配置文件修改好,执行命令:
# xm create -c /opt/fc6/fc6.cfg

激动人心的一刻到来......

常见错误如下:
mount: could not find filesystem '/dev/root'

switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init
没有做第5步工作会导致上面两个错误

VFS: Cannot open root device "sda1" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
没有做第4步的工作会导致上面的错误。
文章评论

共有 0 条评论