InstallationFromUSBstick

From SME Server

Problem

Imagine that you have a server that won't boot from USB CDROM drive or that it has no internal CDROM drive. Perhap you prefer to install from a USB stick instead of physical media.

Solution

Create a USB stick with SME software on it.

Requirements

You'll need a usb stick with more space than the sme.iso something like 800mb should do.

Tested with SME v7.3 ~ v7.5.1 and SME8B6, so download your preferred iso file.

The latest GRUB4DOS (no Grub/Grub2 wont do). I used 0.4.4
Download from http://sourceforge.net/projects/grub4dos/

Creating USB stick

1) Getting the usb to boot

  • Unpack the grub4dos.zip.

Plug in your USB drive and identify what device it is. U can see it by using:

fdisk -l
  • Installing to your usb drive

cd into directory where you expanded the grub4dos, find and run this command:

./bootlace /dev/<YOUR USB DEVICE FROM STEP ABOVE> 

take a peek at http://diddy.boot-land.net/grub4dos/files/install.htm for more hints on this

  • Mount you usbdrive, well use /media/usb
mount /dev/<YOUR USB DEVICE FROM STEP ABOVE>  /media/usb 


  • Copy files to USB root drive:
cp grldr menu.lst /media/usb


2) Getting the iso ready for the boot

  • Copy the file smeserver*.iso to the usb stick.
cp smeserver*.iso /media/usb

Its important to NOT rename this iso, as sme's install program will search for it
If you know you will never have to work on servers with less than 1GB ram, then skip next step


  • for servers with less than 1GB RAM you'll need to

mount the iso in a temporary directory and copy the boot.iso to the root.
Something like

mkdir /media/iso
mount -t iso9600 -o loop smeserver*.iso /media/iso
cp /media/iso/images/boot.iso /media/usb/SMEboot.iso
umount /media/iso
rmdir /media/iso 

3) now for the magic.
On USB edit the menu.lst to include this

title SMEserver
fallback 6
find --set-root /smeserver-8.0beta6-i386.iso
map /smeserver-8.0beta6-i386.iso (0xff) || map --mem /smeserver-8.0beta6-i386.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2


title SME boot.iso(lowmem)
fallback 7
find --set-root /SMEboot.iso
map /SMEboot.iso (0xff) || map --mem /SMEboot.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2

If you want, you can delete the rest of the entries in the menu.lst
It's the std example file we're using, so there are a lot of other boot options we won't need.


4) Read this too
When booting, grub4dos, will cache the cd image to memory
Thats why I included the boot.iso method
the Boot.iso just isn't as polished as the normal installer, so avoid if you can
When booting the smeserver, the initial caching will take some time (mine took 2.5 minutes)
Therefore, booting from the Boot.iso will be quicker
If anyone has any idea how to get an invadeaload game on, I'll take it, otherwise just wait
You're not working.. SME is working for you

5) IMPORTANT
When the installer is running, it will ask where to find the install image.
THAT is also why the smeserver can be booted like this.
If it isn't booted from the cd, it will ask where you placed it
Point it at the usbdrive.
When asked if you want to format/repartition the drive with the loopback device
JUST SAY NO
Otherwise, I suspect you'll have to start over ;-)