UNIX BLOG

Blog for NIX system based administrators

How to install gentoo on xen vps

This article will show how to create a xen gentoo vps.

mkdir /tmp/gentoo && cd /tmp/gentoo

links http://www.gentoo.org/main/en/mirrors.xml

Choose your mirror and download stage3 file – latest release something like stage3-amd64-20120308.tar.bz2

<code>tar xvjpf stage3-*.tar.bz2</code>

One more time choose a mirror
<code>links http://www.gentoo.org/main/en/mirrors.xml</code>

Get the latest portage from snapshots and untar it. ( usually it's snapshots/portage-latest.tar.bz2 )
<code>tar xvjf /tmp/gentoo/portage-latest.tar.bz2 -C /tmp/gentoo/usr</code>

Edit /etc/make.conf

CFLAGS="-O2 -pipe -march=native"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j4"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
USE="mmx sse sse2 -X -gnome -gtk -qt -kde ssl"

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

mount -t proc none /tmp/gentoo/proc
mount --rbind /dev /tmp/gentoo/dev
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"

Select Server Profile

eselect profile set 8
Set Locales
nano -w /etc/locale.gen

en_US ISO-8859-1
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8

locale-gen
Set Timezone
cp /usr/share/zoneinfo/America/New_York /etc/localtime
echo "America/New_York" > /etc/timezone

Only if you want to install gentoo kernel:

Install Sources
emerge gentoo-sources
cd /usr/src/linux

Code Listing 2.3: Enabling Xen Support for i386 Kernels

Processor type and features --->
Subarchitecture Type (Xen-compatible)

Code Listing 2.4: Enabling Xen Support for x86_64 Kernels

Processor type and features —>
Subarchitecture Type (PC-compatible)
[*] Enable Xen compatible kernel
[*] Support for hot-pluggable CPUs

Code Listing 2.5: Domain-0 Kernel Config

Bus options (PCI etc.) --->
[*] PCI support
[ ] Xen PCI Frontend Debugging

Networking —>
Networking options —>
802.1d Ethernet Bridging
Only required by bridged networking.

XEN —>
[*] Privileged Guest (domain 0)
Backend driver support
Block-device backend driver
Network-device backend driver
PCI-device backend driver
PCI Backend Mode (Virtual PCI) —>
[*] Scrub memory before freeing it to Xen
[*] Disable serial port drivers
Xen version compatibility (3.0.4 and later)

Code Listing 2.6: Domain-U Kernel Config

Bus options (PCI etc.) --->
[ ] PCI support

Device Drivers —>
SCSI device support —>
< > SCSI device support
Disabling SCSI support frees up the /dev/sd* device names
for use as Xen virtual block devices.

XEN —>
[ ] Privileged Guest (domain 0)
Block-device frontend driver
Network-device frontend driver
[*] Scrub memory before freeing it to Xen
[*] Disable serial port drivers
Xen version compatibility (3.0.4 and later)

make && make modules_install
cp arch/x86_64/boot/bzImage /boot/kernel-2.6.34-gentoo-r1

Edit FSTAB
nano -w /etc/fstab

/dev/xvda1              /               ext4            noatime         0 1
/dev/xvda2              none            swap            sw              0 0
proc        /proc        proc    defaults             0 0
shm         /dev/shm     tmpfs   nodev,nosuid,noexec  0 0

Edit hostname
nano -w /etc/conf.d/hostname

Install Network
nano -w /etc/conf.d/net

config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
routes_eth0="default via 192.168.0.1

cd /etc/init.d
ln -s net.lo net.eth0
rc-update add net.eth0 default

emerge syslog-ng
rc-update add syslog-ng default

nano -w /etc/inittab
add a line with hvc0

That’s all, thank you for you time.

Tags:

One Response to “How to install gentoo on xen vps”

  • Alex says:

    mount -t proc none /tmp/gentoo/proc
    mount –rbind /dev /tmp/gentoo/dev
    chroot /tmp/gentoo /bin/bash   (tmp is correct)


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>