가이드 · 1 min read · Dec 02, 2025

Debian Lenny를 사용하는 Paravirtualized Gentoo 2009 domU

Debian Lenny를 사용하는 Paravirtualized Gentoo 2009 domU

이 가이드는 Debian Lenny에서 gentoo paravirtualized xen 게스트를 만드는 데 도움이 됩니다. 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 문제

이 문제를 해결하는 것은 /proc을 마운트하려고 시도하는 /sbin/rc의 섹션을 주석 처리하는 것뿐입니다. 약 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
Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.