Installing ubuntu 32bit 10.04 LTS

From PrgmrWiki

1. Sign up for an account at prgmr.com

2. when asked for a OS, say Ubuntu 9.10 (all though it really doesn't matter at this point)

3. sign into your dom0 (e.g. crock.prgmr.com) with your ssh key you've provided one thats set up

4. in the menu, make sure you switch to the i386 bootloader by pressing 6:


chris@chris-desktop:~$ ssh nbv4@crock.prgmr.com
Name                                        ID   Mem VCPUs      State   Time(s)
nbv4                                        86   512     1     r-----   6186.1

Options for nbv4
1. console
2. create/start
3. shutdown
4. destroy/hard shutdown
5. reboot
6. swap i386/amd64 bootloaders (pvgrub)
7. exit
press the number> 4
Connection to crock.prgmr.com closed.

5. Now connect back to crock, and this time shut down the server by selecting 4.

6. connect again, and now select 2 to restart the server.

7. when you boot up again, you'll be greeted with a grub menu. At the bottom there should be an option for an Ubuntu 10.04 installer, highlight that option and then press enter.

8. There will be a series of screens that will guide you through the installation process. You should use the default settings for most things. Prgmr uses an older version of grub that doesn't support ext4. Make sure your boot partition is not an ext4 partition, or you will not be able to boot your server.

9. Once the installation process has completed, it will try to boot into your newly installed ubuntu system, but it will most likely not work. If it does then congratulations! Otherwise, read on...

10. go back to the crock menu screen and shut down your server by selecting 4.

11. No restart the server with menu option 2.

12. you'll be greeted with a screen much like the one you used to select "Ubuntu 10.04 installer". This time you want to select "CentOS recovery"

13. Once it loads, enter "root" into the login prompt.

14. mount your Ubuntu drive so we can modify files on it:

# mount -n /dev/xvda1 /mnt

15. now we need to add a grub menu so we can boot up our Ubuntu system. But first, we need to get some information about our kernel. Type the following:

# ls /mnt/boot
abi-2.6.32-22-generic-pae	  memtest86+.bin
config-2.6.32-22-generic-pae	  System.map-2.6.32-22-generic-pae
grub				  vmcoreinfo-2.6.32-22-generic-pae
initrd.img-2.6.32-22-generic-pae  vmlinuz-2.6.32-22-generic-pae

take note of whatever the filenames are in this directory listing, we'll use it later

16. Now create the grub menu

vi /mnt/boot/grub/menu.lst

it should open an empty file. Inside that file, paste the following:

default=0
timeout=5

title Ubuntu lucid
root (hd0,0)
kernel /boot/XXX root=/dev/xvda1 ro
initrd /boot/XXX

title Ubuntu lucid single user
root (hd0,0)
kernel /boot/XXX root=/dev/xvda1 ro single
initrd /boot/XXX

...replaxing the xxx's with the names of the files in the directory listing we made earlier. Note, kernal in this example would use vmlinuz-2.6.32-22-generic-pae and initrd would use initrd.img-2.6.32-22-generic-pae.

17. save and exit by typing [esc] :wq

18. type ctrl + ] to exit the CentOS recovery console

19. reconnect to the crock console and reboot your system.

20. On the first menu, select Use existing boot settings (or something to that effect), then select "Ubuntu lucid"

21. your server should work

(this tutorial was written from memory, so it may not be 100% accurate, fell free to edit it if something is wrong)