Installation
From GeeXboX wiki
Voir cet article en français - 以正體中文觀看本文 - Puede ver el artículo en español
About the Installator
The GeeXboX CD-ROM contains an installation tool which allows for installing GeeXboX automatically to the local system. To use this tool, place the CD-ROM in the drive, reboot and at the boot prompt type "install" and hit enter.
Using the Installator
After booting into the Installator, you will be shown a list of recognized drives you may install to. IDE drives are listed as "hda" through "hdz" and SCSI drives as "sda" through "sdz." Typically USB drives, if properly recognized, will be emulated as SCSI drives, so will tend to show up as sdx rather than hdx. If the drive you wish to install to does not show up at first, refreshing the list might show it (especially useful if you've just plugged in a USB device and it wasn't set up yet.) Select the drive you will be installing to with the arrow keys and then hit enter to continue.
The Installator will inform you of the requirements, such as how many megabytes are required currently and what filesystems are supported, then when you hit enter again it will run cfdisk so that you may make any needed modifications to your partitions. You can use this tool to create a new partition to install GeeXboX to, or, if you already have partitions correctly set up, you can simply quit the editor without making any changes. If you do need to create a partition for GeeXboX, simply select "new" with the arrows and hit enter, then choose the type of partition (select primary if this is an empty harddrive and logical if it has other partitions unless you know what you are doing.) It will then ask you how large you wish to make the partition. Enter a minimum of the amount mentioned on the previous page (providing extra space won't hurt, but, it means you have less space for other partitions. Later installations of future versions of GeeXboX may need more space, so providing a bit more the first time may be useful down the road.) If this is the only partition, select "bootable" at the bottom after creating the partition. If there are other partitions, you will probably want to leave the currently bootable partition (if there is one) for this. Either way, make sure there is a "Boot" flag set for exactly one partition (you can use the "bootable" menu item to toggle this setting on any partition.) *You should now be able to select "Write" (commit) from the menu to tell it to write the new partition table to the harddrive. Whenever you're done making any modifications, select "quit" to close the partition editor.
Next the Installator will ask which partition you wish to install to and list all partitions on the device you selected on the first screen earlier. It will offer to format whichever partition you select, which you must do if you have just created a new partition and may wish to do even when upgrading to clean up extra files. If you select yes, it will ask which format you wish to use. If you don't know what you want, simply select ext2 as it's the most compatible overall, but, ext3 will work fine too.
Next, the Installator asks if you wish to configure your network parameters on the installed copy. By default, GeeXboX currently autodetects the type and uses DHCP to configure the device every bootup. If you need to change this, select yes and tell it the appropriate options (if you don't know what to do here, select no as the defaults will work in more setups overall.) However, you can also change the default username and password for accessing networked shares so that GeeXboX will be able to access whatever shares you will need. If you wish to use the default settings, just simply keep hitting enter on each line until you get to what you wish to change. NOTE: domain accounts are entered in lower case form with a double slash as in 'domain\\jdoe'
Finally, the Installator asks if you wish for it to install a bootloader for you. If you don't know how to manually install a bootloader, and have no other operating systems on your system, select yes here. If you do have other operating systems, you may need to manually configure this yourself. The Installator attempts to detect if you have a bootloader installed already or not, but, it does not recognize some, so you need to be careful if you aren't sure. If you do not have a bootloader, you will not be able to boot GeeXboX after installing it until you install one on your system.
After selecting the appropriate option here, installation is complete. Choose ok, and wait for it to reboot, then remove the CD-ROM from the drive. You should now be able to boot up GeeXboX directly from your harddrive.
Manual Installation
This part explains how to manually install GeeXboX. Under normal circumstances, the Installator is the ideal solution for installing GeeXboX and should be used instead of this method. However, on occasion one needs to manually install, perhaps for a device the Installator does not recognize, perhaps because you wish to test certain changes or use your own bootloader, or even maybe you just wish to learn how because, once you know how to do it, it's actually quite easy to install GeeXboX and upgrades involve copying only a few things. I strongly recommend that, unless you know what you are doing, you stick to using the Installator for installation to your harddrive or other devices.
Here are the steps to follow to accomplish this:
- The first step, obviously enough, is to download GeeXboX's files. The ISO image is preferable as you can make the same changes the Generator makes yourself. The Generator includes all necessary files, however, a few are renamed or modified during compilation, so you will need to either generate an ISO using the tool or figure out which files it renames and modifies to manually do this yourself (if you can do this, you will be able to simply copy the files, skipping mkzftree.) You do not have to actually burn this image unless you want to.
- You will need access to the partition you wish to install to. If you are in Windows, you will be unable to do a full installation from Windows alone to a non-Microsoft partition. For this reason, FAT16 or FAT32 partitions are preferable if using Windows. Don't worry, the files which require specific linux filesystem related settings (eg permissions) are kept in an archive with these settings to be extracted during bootup into the ramdrive, so even if stored on a FATxx partition, GeeXboX will function correctly. Linux users should have no issues with the proper filesystems. GeeXboX recommends installing to a FATxx or EXTx partition. Either one should be fine, so use what is best for you.
- Gain access to the downloaded files. The reason I call this a seperate step is because you may not necessarily wish to burn the image to a disc to access them. If you do not wish to do this, in Windows you will need to use a tool designed to access CD images, and in linux you can simply mount the image as a loopback filesystem. Linux users simply type something along the lines of "mount -t iso9660 -o loop ~/downloads/geexbox.iso /mnt/cdrom" appropriately changing paths and the filename as necessary. Windows users will probably most benefit from using a "virtual drive" software. There are many which can do this, some of which are integrated into burning software. Probably the best of the free utilities to do this is Daemon-Tools What you use is up to you, just as long as you can access the image as if it were a CD-ROM. I have not yet found a tool which will extract the image correctly due to the usage of compression.
- Copy the GeeXboX files from the image you've downloaded. Normally you could simply copy the entire /GEEXBOX folder into the root of the partition on which you wish to install GeeXboX, however GeeXboX currently uses mkzftree to compress part of the filesystem. Windows does not understand this, so you will need to properly extract the files. Most linux distros have support seamlessly integrated, so linux users will be able to simply copy the files without worrying about the compression. Windows users will need to be famililar with the console or find some GUI frontend to mkzftree. For Windows users:
- Copy mkzftree to where you can get to it (either in your path or directly where you plan to install GeeXboX to make it easier in the future.)
- Open a command prompt and change to the partition you wish to install to.
- If you are a linux user, simply copy the /GEEXBOX folder from the CD image to the root of the partition you wish to install to. If you are a Windows user, run mkzftree with the -u (or --uncompress) command, citing the appropriate path to the CD image. Ex: "mkzftree -u Z:/GEEXBOX ./GEEXBOX" (note that the target folder must not exist for this command to work for some reason.) Some versions of mkzftree may have troubles, if so, the safest bet is to use the copy included in the Generator in the Win32 folder (you may also need to put the two DLL files with it. Be careful with these as there are sometimes conflicts when you use a different version of the Cygwin DLLs with programs, so it's probably best if you copy all three files to the place you intend to install GeeXboX rather than placing them into the path.)
- Set it up for your favorite bootloader. You will probably need to copy the vmlinuz and initrd.gz files from /GEEXBOX/boot to wherever your bootloader needs them unless it is ok with such a path. Any bootloader capable of loading a linux kernel should be alright here. (I personally use Syslinux which is the harddrive incarnation of the tool used to boot the CD-ROM, and find it easiest to configure when using multiple operating systems.) It may be necessary to rename these files appropriately, such as "geexbox" for the kernel and "geexinit.gz" for the ramdrive image. The actual filenames only matter insofar as what the bootloader needs and whether or not you can remember what they are.
- Configure and install the bootloader (I can't be too specific since different bootloaders operate differently. If you aren't sure about this, read the bootloader's documentation very carefully to prevent making your system unbootable.) /GEEXBOX/boot/isolinux.cfg shows the configuration used on the CD-ROM. Look at the second line under the "geexbox" label for the current append statement being used by the version of GeeXboX you are installing. Most of it you will leave as-is, but, you'll want to change the boot=cdrom statement to the place you are installing. For example, hda1 if installing to the first partition of the first IDE harddrive. Similarly, sda1 for the first partition of the first SCSI drive (and USB drives typically get treated like SCSI, so this setting usually works when installing to a USB flash drive.) So, in the first example, you would change it into "boot=hda1" and in the second "boot=sda1" (for new kernel mast use string "boot=UUID=..." UUID can know ls -l /dev/disk/by-uuid)
- Reboot and test your new setup.
Hopefully this method will help a few people. I personally use this method because I wish to use my own bootloader, but, I have seen at least one person who said that the Installator did not properly work with their flashdrive, so this sort of method might help there as well. Once you've gotten the idea down, it's rather easy to repeat. Normally one has only to copy over the GeeXboX folder and replace the kernel and ramdrive images to manually update. Rarely a change is made to the syntax of the appended statements and these need to be adjusted in the bootloader.
Note: Installator will fail in case you are using old BIOS that does not support booting from USB as RMD-HDD. Manual installation is helpful there. Just do not create any partition table on targe USB drive. (I had to set the BIOS setting as USB-RMD-FDD to make sure it boots.)

