I know we have the win32 installer,
I know we can install to USB from CD,
but I wanted to use only Linux to
create a live USB that replicates the CD.
Requirements
UnetBootIn (in Xubuntu repos)
Standard or Custom GeexBox iso ( I used a Custom GeexBox 1.2.3)
USB Flash Drive (Used a Buffalo 1GB)
This all carried out on Xubuntu 9.04
Part I - Create Bootable USB Drive
Insert USB Drive to your PC running Linux (Ubuntu etc)
Start UnetBootIn
Tick the Disk Image Radio Button, ensure ISO is selected in the drop down and then select your GeexBox iso
Select your USB drive from the drop down box
Click OK and Wait until you get the Reboot or Exit buttons appear
Click Exit
Part II - Get the right GEEXBOX directory
Mount the GeexBox iso so you can access files
I use Gmountiso but you can create a directory and issue a command in the terminal
sudo mkdir /media/gb-iso
sudo mount -o loop /path/to/geexbox.iso /media/gb-iso
Go to your root directory of your USB drive and delete (yes, delete!) the entire GEEXBOX directory
Got to /media/gb-iso and copy the GEEXBOX directory, pasting it to the root of your USB drive.
Why have we done this? UnetBootIn does something to the GEEXBOX directory files, you need the unadulterated ones on the iso.
Part III - Edit syslinux.cfg
In a terminal, run the command:
sudo blkid -L
On newer systems (e.g. Karmic) run
sudo blkid
or
sudo blkid -o full
You will get all the UUID’s from your drives and partitions.
Note down the UUID for your USB drive
Mine was 0633-157B
Open up syslinux.cfg on the USB drive in your favourite text editor
Make it look like this:
########################################
default vesamenu.c32
prompt 0
timeout 20
MENU BACKGROUND /GEEXBOX/boot/splash.png
MENU TITLE Welcome to GeeXboX i386 1.2.3 (C) 2002-2009
MENU VSHIFT 11
MENU ROWS 6
MENU TABMSGROW 15
MENU CMDLINEROW 14
MENU HELPMSGROW 16
MENU TABMSG Press [Tab] to edit options, [F1] for boot options.
MENU COLOR sel 7;37;40 #e0000000 #fa833b all
MENU COLOR border 30;44 #00000000 #00000000 none
label ubnentry0
menu label Start GeeXboX …
kernel /GEEXBOX/boot/vmlinuz
append initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=UUID=0633-157B lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=vesafb:ywrap,mtrr quiet
label ubnentry1
menu label Start GeeXboX for HDTV …
kernel /GEEXBOX/boot/vmlinuz
append initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=UUID=0633-157B lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=vesafb:ywrap,mtrr hdtv quiet
label ubnentry2
menu label Install GeeXboX to disk …
kernel /GEEXBOX/boot/vmlinuz
append initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=UUID=0633-157B lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=vesafb:ywrap,mtrr installator quiet
label ubnentry3
menu label Start in debugging mode …
kernel /GEEXBOX/boot/vmlinuz
append initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=UUID=0633-157B lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=0 vga=789 video=vesafb:ywrap,mtrr debugging
label ubnentry4
menu label Start HDTV edition in debugging mode …
kernel /GEEXBOX/boot/vmlinuz
append initrd=/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=UUID=0633-157B lang=en remote=atiusb receiver=atiusb keymap=qwerty splash=0 vga=789 video=vesafb:ywrap,mtrr hdtv debugging
########################################
Make sure you replace my UUID entry with your own for each stanza
Save syslinux.cfg
Part IV - Clean Up
Unmount the iso
sudo umount /media/gb-iso
Delete the directory if you wish
sudo rmdir /media/gb-iso
You are done. Either safely remove your USB drive, or leave it in and reboot.
You may need to edit your bios settings to allow booting from USB.
And there you have it, LiveUSB, just like the CD, but you can edit settings if you wish.