XBox Media Center pre-configured to work directly out-of-the-box from a CD or USB drive without touching the users hard drive for demo purposes, and also a fully-fledged installer that allows the installation of the XBMC Media Center onto your empty local hard disk. Once booted, XBMCbuntu will give the user the option to either just run it as a demo from only the CD/USB (not touching your harddrive) or do a permanent installation of XBMC complete with embedded operating-system onto an 8GB (or larger) USB-flash-memory-stick or your internal harddrive for a dedicated set-top-box style installation of XBMC. Currently, Microsoft's Windows MCE (Media Center Edition) Remote with USB IR-receiver receiver dongle is the default supported controller and is supported directly out-of-the-box.
When installed onto a USB flash drive or hard disk drive XBMCbuntu has the ability to save settings and make updates to XBMC Media Center and the operating-system back onto the USB flash drive or hard disk drive that it is installed onto, this is not possible when running XBMCbuntu from a Live CD booting from a CD-ROM disc as they are read-only and any changes settings are only temporarily saved until the system is rebooted.
Fig.78.1 XBMCbuntu booted from a USB Flash drive with RMPrepUSB QEMU emulator session
If you just wish to create a single purpose USB Flash drive with XMBCbuntu on it, I would recommend using UNetBootin.
However, in this tutorial we are going to assume that we already have a grub4dos multiboot/multipass USB drive and that we want to add XBMCbuntu to the USB drive. Unfortunately, XBMCbuntu does not currently have the necessary scripts and code to support booting directly from an ISO image on a USB drive, therefore it is necessary to extract the contents of the ISO and copy some of the contents to your USB multiboot drive.
New - it is possible to boot from an ISO of xmbcbuntu - see end of this Tutorial!
If you do not already have a bootable USB Flash drive using one of the other Tutorials on this site, make one now using RMPrepUSB (use FAT32) and install grub4dos using the Install grub4dos button, make sure you also copy over the grldr file when prompted. Press F4 in RMPrepUSB to create a menu.lst file on the USB drive and add the following text:
Now test that it boots correctly by pressing F11 in RMPrepUSB or clicking the QEMU button.
Now we can begin adding XBMCbuntu to our grub4dos bootable Flash drive...
1. Mount the XBMCbuntu ISO file using Imdisk or Virtual Clonedrive or any other application that will mount an ISO - or - extract the contents of the ISO to a temporary folder on your system hard drive using 7Zip, etc. The contents of the ISO or extracted folder should look like this:
Contents of the XBMCbuntu ISO
2. Create a new, empty folder on the root of your target USB drive called xbmcbuntu using Windows Explorer
3. Copy the entire contents of the casper folder to the new xbmcbuntu folder on the USB drive (do not copy the casper folder itself to the xbmcbuntu folder, just the files that are inside it)
4. Copy the .disk folder to the root of the USB drive. If there is already a file called .disk\info on your USB drive, then skip that file as it is not required. The casper-uuid-xxxxx file is required and must be under the .disk folder. Note that Windows Explorer does not allow you to create or rename a folder called .disk, but you can copy it directly from the mounted ISO using Windows copy and paste.
The preseed and isolinux folders are not required.
5. If you want persistency (i.e. you want XBMCbuntu to keep your changes) you now need to create an ext2 file. Use the Create Ext2 FS button on RMPrepUSB to create a large file called casper-rw on the root or the USB drive. Now move that file to the xbmcbuntu folder using Windows Explorer. Depending on your requirements you might need quite a large file (e.g. 2GB) but you can just make a 100MB one just for test purposes.
Note: if there is already a file at \casper-rw on your USB drive, then simply create a file called xbmc using RMPrepUSB and then move it to the xbmcbuntu folder and rename it to casper-rw.
The ext2 file path for XBMCbuntu must be:
6. Now cut and paste the following text to the bottom your existing menu.lst menu file on the USB drive (tip: press F4 in RMPrepUSB to load the menu.lst file into Notepad).
Note: if you wish to see the linux text output as XBMCbuntu boots, remove the words splash and quiet - this will help you to see what is wrong if it is not booting. You can also press the ESC key during booting to view any linux error messages, etc.
By using the live-media-path= and persistent persistent-path= switches, we can use XBMCbuntu on the same USB drive which also contains other Ubuntu and linux installs.
7. Check you folder structure looks like this (or similar if you are using a different version):
8. Finally, check that it will work. I suggest you test it using the QEMU button in RMPrepUSB and select the first non-persistent menu item. As QEMU is quite slow, just check it gets as far as finding the squashfs (press ESC to see the linux boot messages).
If XBMCbuntu is not booting, try the following steps:
Tip: If you want a dedicated XBMC system for less than £40, checkout the Raspberry Pi!
If you already have a grub4dos multiboot USB drive, try this (note that the 4th partition entry on your USB boot drive must be free, as it will be destroyed by this menu!)
1. Create a \_ISO\Linux folder and place the ISO file in it - e.g. xbmcbuntu-12.00-RC1.Intel-NVIDIA.iso
2. Add the following entry to your grub4dos menu.lst file
Note that you cannot use persistence (at least I have not found a way to make it work).