How to Install Debian GNU/Linux on your Xbox
by Edgar Hucek, 6 September 2002
My goal was it to bring Debian GNU/Linux to the XBOX. This Document describes the steps which are needed to install Debian on your XBOX.
History
06 September 2002 : Written for Version 0.0.3
13 September 2002 : Adapted for Version 0.0.4
What do you need?
- a modded Xbox with a 10 GB hard disk or an upgraded one
- my Xbox Linux install CD from Sourceforge
- a CD/RW which works in your XBOX drive
- a PC or Router which acts as internetgateway, for installing additional packages
!!! Warning !!!
It is highly recomended to make a backup of your XBOX harddisk.
How to start
After downloading the Xbox Linux install CD from Sourceforge you have to decompress the ISO image with tar-xjf xbox-linux-install-...
, the decompressed ISO image can be burnt with cdrecord or any other burning software which can use ISO images as source.
Turn on your Xbox on and wait until the Dashboard is loaded (I only tested with the Dashboard). Now you can put in the install CD into your Xbox. If your Xbox does not start from the CD, open the tray and close it again. If this does not help, you have to use another CD.
If you see Linux starting it's ok. On the login you can log in as user root with the password xbox. Now you are ready to start the installationscript XBOXLinuxInstall
.It's also possible to start the installation script remotely, if you don't have a keyboard. Simply connecting with ssh
to your XBOX.
Machine preconfiguration:
IP : 192.168.0.2
Netmask : 255.255.255.0
Gateway : 192.168.0.1
Nameserver : 62.99.200.2 ( this is a public DNS )
Hostname : xbox.localdomain.local
There are 3 stages in the installationscript.
- Creating the swap space and rootfs
In this stage of the installation the script will ask you for the Swapsize. The swapszie must given like the fillowing.
+{SIZE}M
( e.g.+256M
, this means the swapsize is 256 MB ). The rootfs is ext3 and will created at the end of the swappartition. - Copying the bootstrap system.
Now the installscript ask you two questions. Hit on both return and the copying of the bootsdtrap system begins.
( Now you can, if you are a smoker, smoke a cigarette or drink a coffee. ;-) )
- Configure the network
After copying the files the script ask you some things about the network configuration. ( hostname, domain, ip, netmask, gateway )
The installation is done. The next step is to put your xbox linux install CD in your desktop computer. On the CD is another iso image which is called hddboot.iso. This image you must burn onto another CD/RW. With this image you can start your bootstraped Linux from the hdd.
After the boot you can login (root/xbox) to your bootstraped system. It's time to run apt-get update
. This will download a new package repository to your harddisk. Now you can run dselect
and choose the packages you want. Some packages are preeselected. This packages are choosen by debian as default for a Basic system. You can change it ore leave it.
Congratulation your Basic system is running.
Notes on running X
On your harddisk there is a configuration for the XFree86 Server. You can find it under /usr/lib/xbox/XFConfig-4
. If you install the X-Window System, you copy this file to /etc/X11/
or your system will hang on the next restart. Now you are ready to start your X-Window System with startx. If everything is ok the X Server should come up.
Notes about the boostrap system
There are some changes to an original Debian system.
There are two additional directories. You can see /XBOXLocal and /usr/debian. This is my way i have choosen to make things work from CD. To the directory /XBOXLocal i have moved /etc, /home, /var, /tmp and /root. In the root directory these are only symbolic links to /XBOXLocal/{dirname}. To /usr/debian i have moved some bigger directorys from the original /var. The structure under /usr/debian is the same as the original. In the original locations i only make symbolic links. At boottime the initrd mounts an tmpfs to /XBOXLocal. The contents of /XBOXLocal from the rootfs is also in a compressed file on the boot CD which will decompressed after the mount of an tmpfs to /XBOXLocal. This makes it possible to hold temporary file and changeable files in the memory.
Some notes to the CD
With the CD it is possible to bootstraping a system to the harddisk, build an live filesystem on a CD or making a new bootstrap system. If you plan to make a live CD or a new bootstrap system from CD you need a kernel which supports transparent compression for the ISOFS filesystem, a new alpha version of cdrecord which supports compressed isofs and the zisofs-tools which can be found here: http://www.kernel.org/pub/linux/utils/fs/zisofs/.
On the cd there is the file xbmake.tar.bz2. Decompress this to you harddisk. After decompressing you find a directory with the name xbmake. Under this directory there are several scripts und subdirs. Change to xbmake, mount the file rootfs on cd with mount -t iso9660 -o ro,suid,loop /{mountpoint of cd}/rootfs mnt
and copy all files with cp -aR mnt/* xbox-linux/
. Now you have the base for building new ISO images. You can change to xbox-linux make a chroot and install additional software to the base, changing the preconfiguration or what you want. After making your changes exit the chroot and change to the directory xbmake. Now run the following scripts to cdreate a compressed roots and a new bootcd.
./create_rootfs.sh
./make_iso.sh
Now you find a new ISO image under iso/ which can burnt to CD.