Gentoo · 2 min read · Dec 02, 2025

Паравиртуализированный Gentoo 2009 domU с использованием Debian Lenny

Паравиртуализированный Gentoo 2009 domU с использованием Debian Lenny

Этот гид поможет вам создать паравиртуализированный xen-гость gentoo под Debian Lenny. Поскольку релиз 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
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.