Installing Ubuntu on Debian
From Linux-VServer
How to install an Ubuntu vserver guest on Debian.
Contents |
Prepare debootstrap
What is a Debootstrap?
From Ubuntu Packages:
"debootstrap is used to create a Debian base system from scratch, without requiring the availability of dpkg or apt. It does this by downloading .deb files from a mirror site, and carefully unpacking them into a directory which can eventually be chrooted into."
So a debootstrap is basically something that will let you build your guest system.
Preparing
You will need the debootstrap script for your desired Ubuntu release (eg feisty, gusty, hardy).
Check that you have the debootstrap script in /usr/lib/debootstrap/scripts/
, eg /usr/lib/debootstrap/scripts/gusty
.
If you do not have the debootstrap script for your desired Ubuntu release, the easiest way is to download and install the latest debootstrap deb from Debian sid.
If the script is not available in Debian sid, download Ubuntu's latest bootstrap release from here. (eg, as of August 2008, download the debootstrap deb for Hardy Heron). You want the debootstrap from the latest release, even if you want to install a previous release Ubuntu vserver guest.
Extract the Ubuntu scripts from the deb and place them in /usr/lib/debootstrap/scripts/
.
For example, do something like:
$ cd /tmp $ wget http://mirrors.kernel.org/ubuntu/pool/main/d/debootstrap/debootstrap_0.3.3.2ubuntu3_all.deb $ dpkg --extract debootstrap_0.3.3.2ubuntu3_all.deb debootstrap-feisty $ sudo cp -P debootstrap-feisty/usr/lib/debootstrap/scripts/{warty,warty.buildd,hoary,hoary.buildd,breezy,dapper,edgy,edgy.fakechroot,feisty,feisty.fakechroot} /usr/lib/debootstrap/scripts/
Build
Build with guest architecture the same as host (eg. 32-bit guest on 32-bit host, 64-bit guest on 64-bit host etc.)
# vserver hardy-guest build -m debootstrap --context 42 --hostname hardy-guest --interface dummy0=eth0:10.0.0.123/8 --rootdir /var/lib/vservers -- -d hardy -m http://us.archive.ubuntu.com/ubuntu/
Build 32-bit guest on 64-bit host
# vserver hardy-guest-32 build -m debootstrap --hostname hardy-guest-32 --interface dummy0=eth0:10.0.0.123/8 --rootdir /var/lib/vservers -- -d hardy -m http://us.archive.ubuntu.com/ubuntu/ -- --arch i386
Verify 32-bitness of guest:
host:# file /var/lib/vservers/hardy-guest-32/bin/ls /var/lib/vservers/hardy-guest-32/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, stripped