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: gentoo xen vps
mount -t proc none /tmp/gentoo/proc
mount –rbind /dev /tmp/gentoo/dev
chroot /tmp/gentoo /bin/bash (tmp is correct)