SuSE on X-box
Results 1 to 3 of 3

Thread: SuSE on X-box

  1. #1
    Senior Member cwk9's Avatar
    Join Date
    Feb 2002

    Thumbs up SuSE on X-box

    The source:

    Thats right now you can run SuSE on your X-Box.

    How to Install SuSE Linux 8 on your Xbox

    by Michael Steil, 5 September 2002

    Standard Linux distributions do work on the Xbox, with minor modifications. To run SuSE Linux as a server, you only have to change two lines in the Linux kernel, disable one init script and install two drivers for audio and networking. Having an Xbox that runs as a standalone Linux workstation does not require much more work. This article is a step-by-step tutorial to install SuSE 8 with X-Window on the Xbox.

    You will need

    * an Xbox that is equipped with a 10 GB drive (most are) and with any modchip
    * a SuSE 8 compatible PC with a network card
    * SuSE Linux 8 (at least CD 1)
    * the latest XBE bootloader as well as the patched SuSE kernel available from the Xbox Linux Project ("SuSE8-Xbox.tar.bz2")
    * either a CD/RW (or DVD/RW) that works in your Xbox DVD drive or EvoX on your Xbox hard disk
    * good Linux knowlegde

    For network and audio support you will also need

    * the SuSE 8 nForce device driver RPM, available on nVidia's site (the SuSE support database links there)

    To work interactively on the command line, you'll need,/p>

    * an Xbox/USB adaptor, as described on the web site
    * a USB keyboard

    To work in X-Window on your Xbox, you will need in addition:

    * either another Xbox/USB adaptor or a hub to plug the Keyboard and the mouse into the first adaptor
    * a USB mouse
    * the Xbox Linux 0.4 ISO


    We'll do a cross-install, i.e. we connect the Xbox hard disk to the PC, install Linux onto it, make some more modifications to the installation (drivers, patches), plug it into the Xbox and install the bootloader for the Xbox.
    Cross-Installing SuSE

    Before you start, it is strongly recommend to backup your Xbox hard disk, as described on the Xbox Linux site. Linux will be installed into unused parts of the hard disk, but...

    You cannot just connect the Xbox hard disk to your PC, because it is locked. You have to "hot-swap" it. Place the PC and the Xbox next to each other and prepare an IDE cable to be able to connect the Xbox hard drive as secondary master. With the USB keyboard and USB mouse (if you want to use them on the Xbox later) connected (and with the PS/2 keyboard and mouse disconnected), turn the PC on and put the SuSE boot CD into the PC's CD drive. Stop at the boot loader menu and turn on the Xbox. When the Microsoft Dashboard (or EvoX) shows up, disconnect the Xbox hard disk's IDE cable and connect the PC's IDE cable while both computers are running. Chose "Installation" in the bootmanager. In the boot messages, the HD should be detected as a 10 GB drive at /dev/hda. If it's only 8 GB, you cannot install SuSE using this method (yet), sorry.

    The USB mouse and the keyboard should get properly detected, just install according to your wishes (keyboard map, time zone, packages to install), but you will have to change the partitioning SuSE suggests or else it will overwrite your Xbox system data and savegames on the disk. Tell SuSE to discard the suggestion, and you want to define the partitions on your own in expert mode. Create /dev/hda1 starting at track 15534 (that's right after the last Xbox partition) with a size of 128 MB as a swap partition. Allocate the rest behind this partition (about 1.7 GB) as your root file system /dev/hda2; ReiserFS is preferred. Note that the SuSE installer can safely write a PC-like partition table, since the first sector of the Xbox hard disk is unused.

    Start the installation and follow the onscreen-instructions. If the installer tells you that the disk might not be bootable, just ignore it, it should be bootable afterwards, unless your PC is really very old. When the installer wants to reboot, you either have to disconnect the IDE cable of the hard disk between the unmount messages and the actual reboot and reconnect it when the VGA card's bios prints it's initialization messages onto the screen, or you will have to unlock it again by connecting it to the Xbox and starting the Dashboard and hot-swap it to the PC while the VGA messages are shown (these should be some seconds), because a reboot locks the hard disk again.

    The second phase of the installer should now start from hard disk. Configure your network now to match the settings you will expect in your Xbox. Just ignore all other hardware settings. The installer will reboot again, and you'll have to do the disconnect trick or unlock process again. Boot into your newly installed system.

    Install the nForce driver RPM now. Edit /etc/modules.conf and disable your PC network interface and audio hardware. Enable the already existing nForce lines (just scan for "nForce"). Also edit /etc/inittab and change the default runlevel from 5 to 3 ("id:3:initdefault:"). The init script "hwscan" in /etc/init.d would crash the Xbox, so disable it by simply renaming it. Copy the file /boot/initrd to a disk, because we will need it later. Your SuSE installation is now prepared for the Xbox hardware. Shut down and connect the hard disk to the Xbox.

    You need a bootloader configuration now. Either you boot from CD or through EvoX. In either way, you need the bootloader default.xbe, the patched SuSE kernel, the initrd you copied from the SuSE hard disk before, and a linuxboot.cfg file. The package from the Xbox Linux web site contains the kernel and for each of both solutions a default.xbe and a linuxboot.cfg. Put the corresponding four files either onto a CD/RW (DVD/RW) containing a UDF filesystem ("mkisofs -udf") or copy them to E:\Linux\ using EvoX.

    You should now be able to boot Linux. You should see the kernel initialization messages, the initrd messages and the init scripts, and you should finally get a "Login:" after a minute or two. If you chose to access the Xbox only through the network, you can ssh into it now and do everything you can do on a Linux PC. If you want to work with the Xbox directly, you can now connect the USB keyboard through the adaptor, and you should be able to log in.

    If you want to use X-Window, you'll have to use the X server contained in the Xbox Linux 0.4 ISO, SuSE's server don't work (yet). Extract the initrd from the ISO (mount -o loop etc.), uncompress it (gzip -d), and extract the files in the initrd (mount -o loop again) to the newly created directory /X on the Xbox. Create the devices tty0, tty7, fb0 and usbmouse0 and create a symlink from mouse to usbmouse0 in /dev. You can now start X-Window with

    chroot /X X

    Change to another virtual terminal, log in as a user and type

    export DISPLAY=localhost:0; startkde

    and, when you change to console 7, you should be in KDE.

    This is not yet perfect. Some issues:

    * Starting SaX or installing software with YaST crashes
    * Pressing the eject button reboots
    * Pressing the power button doesn't shut Linux down
    * Trying to reboot Linux only makes it halt, you can reboot then by pressing the eject button.

    Why SuSE?

    I only had the current versions of Mandrake and SuSE here, and I don't have a broadband internet connection, so that I could download any other distributions. I tried Mandrake first, starting with root mounted as NFS, and with its own partition later. Too bad Mandrake is very pedantic about module versions, and there's something wrong with the compiler, so I was unable to run a kernel based on the Mandrake-patched 2.4.18 sources that loads nvnet.o. And without a Mandrake kernel, the kernel modules on hard disk would not load. So I tried SuSE, which made a lot less problems. If there are any Mandrake experts out there, I would still like to try Mandrake, too! And RedHat...

    Again: The project has nothing to do with SuSE.
    Final Words

    This article has been written in 1.0.1 in SuSE 8 on the Xbox.

  2. #2
    Join Date
    Aug 2001
    Too bad it isn't sponsored by Microsoft. It would be cool to have a linux development environment for the Xbox similar to that offered by Sony for their PS2.

    But $199 for a decent linux server isn't all that bad either.
    Time is a created thing -- to say \"I don\'t have time\" is like saying \"I don\'t want to.\"


  3. #3
    Holy w00t!

    Im gonna try this right now on my friends X-Box, and if it works then on mine.... There is another website dedicated to making a Linux distro 'specially for the X-Box... I wonder what MS is doing to prevent this in their next game system
    /me wonders if they'll go back to cartrages.....

    Edit: Here is the tutorial on installing Debian/GNU on yer X-Box =)
    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.

    What do you need?
    a modded Xbox with a 10 GB hard disk ore an upgraded one
    my Xbox Linux install CD from Sourceforge
    a CD/RW wich 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 bzip2 -d 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 make the needed partitions on your Xbox harddisk. Create /dev/hda1 starting at track 15534 (that's right after the last XBOX partition) with a size of 128 MB as a swap partition. Allocate the rest behind this partition (about 1.7 GB) as your root file system /dev/hda2. The root filesystem must be ext3 and on /dev/hda2 at the moment. (mkfs.ext3 /dev/hda2 ). If you have done this, you can start the little copyscript XBOXLinuxInstall. This script ask you two questions. On both you can press return. Now you can, if you are a smoker, smoke a cigarette or drink a coffee. After the script is finished, you are not far away. 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. Now you have to configure your network and default gateway. The network preconfiguration is :

    IP :
    Netmask :
    Gateway :
    Nameserver : ( this is a public DNS )
    Hostname : xbox.localdomain.local
    The config files are:

    After changing your settings and applying it, 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 also the Xfbdev X-Server. If you install the X-Window System, you must change two links after installation or your system will hang on the next restart. The first link is /etc/X11/X pointing to /usr/bin/X11/XFree86. This must be changed to /usr/bin/X11/Xfbdev. The next one is /usr/bin/X11/X which is pointing to /usr/bin/X11/XFree86. This must also changed to /usr/bin/X11/Xfbdev. Now you are ready to start your X-Window System with startx. If everyting 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:

    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.

    Now you find a new ISO image under iso/ which can burnt to CD.

    Check That site for great tutorials on hacking up your X-Box =)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts