准虚拟化Gentoo 2009 domU使用Debian Lenny

准虚拟化Gentoo 2009 domU使用Debian Lenny 本指南将帮助您创建gentoo半虚拟化客户 在Debian Lenny下。 Sinc ...

虚拟化Gentoo 2009 domU使用Debian Lenny

本指南将帮助您在Debian Lenny下创建gentoo半虚拟化xen guest。 由于Gentoo 2008.0版本已被弃用,所以我们将使用当前的gentoo阶段。

基础

dd if=/dev/zero of=gentoo.img count=4096 bs=1M

mkfs.ext3 gentoo.img

mount -o loop gentoo /mnt/gentoo

Gentoo舞台

wget http://mirrors.kernel.org/gentoo/releases/amd64/current/stage3-amd64-20090702.tar.bz2

tar jxvf stage3-amd64-20090702.tar.bz2 -C /mnt/gentoo

模块

mkdir /mnt/gentoo/lib/modules

cp -R /lib/modules/2.6.26-2-xen-amd64 /mnt/gentoo/lib/modules

Chroot基地

mount -t proc none /mnt/gentoo/proc

mount -o bind /dev /mnt/gentoo/dev

cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf

chroot /mnt/gentoo /bin/bash

env-update

source /etc/profile

emerge --sync

emerge dhcp

emerge syslog-ng

rc-update add syslog-ng default

emerge dcron

rc-update add dcron default

nano -w /etc/conf.d/hostname

nano /etc/conf.d/net

config_eth0=( "192.168.1.100 netmask 255.255.255.0" )
routes_eth0=( "default gw 192.168.1.254" )
#config_eth0=( "dhcp" )

nano /etc/fstab

/dev/sda1 / ext3 noatime 0 1
proc /proc proc defaults 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0

passwd

exit

组态

kernel      = '/boot/vmlinuz-2.6.26-2-xen-amd64'
ramdisk     = '/boot/initrd.img-2.6.26-2-xen-amd64'
memory      = '256'
root        = '/dev/sda1 ro'
disk        = ['file:/xen/gentoo.img,sda1,w',]
name        = 'Gentoo 2009'
dhcp        = 'dhcp'
vif         = [ '' ]
extra = 'xencons=tty'
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

/ proc的问题

解决这个只是一个注释掉/ sbin / rc的部分,这个部分尝试挂载/ proc开始在第217行,像这样:

#       check_statedir /proc
#
#       ebegin "Mounting proc at /proc"
#       if [[ ${RC_USE_FSTAB} = "yes" ]] ; then
#               mntcmd=$(get_mount_fstab /proc)
#       else
#               unset mntcmd
#       fi
#       try mount -n ${mntcmd:--t proc proc /proc -o noexec,nosuid,nodev}
#       eend $?

您还需要对尝试安装/ sys的部分进行评论,或者在下次启动时,您将收到与其他安装点失败相同的错误。

#       if [ "$(get_KV)" -ge "$(KV_to_int '2.6.0')" ] ; then
#               if [[ -d /sys ]] ; then
#                       ebegin "Mounting sysfs at /sys"
#                       if [[ ${RC_USE_FSTAB} = "yes" ]] ; then
#                               mntcmd=$(get_mount_fstab /sys)
#                       else
#                               unset mntcmd
#                       fi
#                       try mount -n ${mntcmd:--t sysfs sysfs /sys -o noexec,nosuid,nodev}
#                       eend $?
#               else
#                       ewarn "No /sys to mount sysfs needed in 2.6 and later kernels!"
#               fi
#       fi