How to run Linux and Windows 98 on OG Xbox

How to run Linux and Windows 98 on OG Xbox

First step download all & extract necessary files :

  • GDMorry xdsl and win98.zip (The xdsl and win98 qemu package)
  • cromwell-2.40.tar.gz (xromwell / cromwell is a linux BIOS replacement for OG XBOX)

Download: xromwell here:

https://github.com/XboxDev/cromwell/releases

(For GDMorry xdsl and win98.zip please use google):

Copy the files to your xbox with FTP

The files have to been put on E:\ or alternative to E:\debian but it's important here to track the path in linuxboot.cfg file!

# Content of GDMorry xdsl and win98.zip
E:\KNOPPIX\
E:\Apps\Chimp2618\
E:\linuxboot.cfg

# Also the win98img files:
E:\quemu\
E:\win98.img
E:\98.sh

Put the chromwell to E:\ and edit C:\items.xml for menuentry

# Rename to default.xbe
E:\Apps\chromwell\default.xbe

# Edit: C:\items.xml
<Item TStamp="dadc2d00" Action="E:\Apps\cromwell\default.xbe" Region="0" ID="00000000" Icon="E:\UDATA\00000000\TitleImage.xbx">Linux-Win98</Item>

Edit your linuxboot.cfg

title WIN98-LINUX-MOD640x480
kernel KNOPPIX/linux24
initrd KNOPPIX/minirt24.gz
append root=/dev/ram0 init=/etc/init rw video=xbox:640x480 dsl lang=xbox utc mydsl=hda50 joy quiet kbd-reset

title 800x600
kernel KNOPPIX/linux24
initrd KNOPPIX/minirt24.gz
append root=/dev/ram0 init=/etc/init rw video=xbox:800x600 dsl lang=xbox utc mydsl=hda50 joy quiet kbd-reset

title 480p
kernel KNOPPIX/linux24
initrd KNOPPIX/minirt24.gz
append root=/dev/ram0 init=/etc/init rw video=xbox:480p dsl lang=xbox utc mydsl=hda50 joy quiet kbd-reset

title 720p
kernel KNOPPIX/linux24
initrd KNOPPIX/minirt24.gz
append root=/dev/ram0 init=/etc/init rw video=xbox:720p dsl lang=xbox utc mydsl=hda50 joy quiet kbd-reset

title Chimp2618
kernel /Apps/chimp2618/linux265
initrd /Apps/chimp2618/initrd.gz
append root=/dev/ram0 init=/linuxrc video=xbox:640x480 quiet kbd-reset

title XDSL Frugal
kernel KNOPPIX/linux24
initrd KNOPPIX/minirt24.gz
append root=/dev/ram0 init=/etc/init rw video=xbox:640x480 frugal quiet kbd-reset
Quick example boot config

Now start your Xbox and the entry you've created

Select E: drive at startup to run the linuxboot menu at the next step

Now your XDSL Linux ist starting and you can choose a terminal to run 98.sh

sh /cdrom/98.sh

Appendix / README

In order to execute either application, just enter the folder and select the default.xbe file.  XDSL will have 
several resolution options, e.g. 640x480, 800x600, etc.  If you have an HDMI connection to your display you can 
try one of the higher res options, e.g. 720p.  Select Chimp2618 to run that utility.  Frugal opens XDSL in frugal 
mode, but to be honest, I'm not sure what the difference is, if any at this time.

Boot into XDSL, where it will open into Joe's Window Manager (JWM).  Select the Term tab at the bottom of the screen to 
open a bash terminal.  We'll need to mount the USB drive in order to access it.  We'll also need to mount F: if 
you want to copy files to it.  E:\ will already be mounted as /cdrom (not sure why, but probably because that was 
the mount point the system files were loaded from, which was intended to be a bootable cdrom).

Within the terminal, enter sudo su.  This will give you root access (needed for mounting).  If you are asked for 
a password it should be xbox.  To mount a USB drive:

mkdir /mnt/sda1  (ignore the error if it tells you it already exists)
mount /dev/sda1 /mnt/sda1

If you want to mount drive F:

mkdir /mnt/hda55 (again ignoring the error if it tells you it already exists)
mount -t fatx /dev/hda55 /mnt/hda55

When finished you can unmount:

umount /dev/hda55
umount /dev/sda1

If your USB drive has multiple partitions, adjust sda1 for sda2, etc., as necessary.

Now that the drives are mounted you can either do the file copying via the command line using cd, cp, ls, mkdir, mv, etc.
or you can use the graphical file explorer emel:

emelfm /mnt/sda1  (would open emel file manager with /mnt/sda1 already open)

Or you can open both /mnt/sda1 and /mnt/hda55 in emelfm at the same time:

emelfm /mnt/sda1 /mnt/hda55  (opens emel file manager with both drives already open)

The other XBox partitions are available as hda50 through hda55 (e.g. hda52).  If you have a drive G: it might be 
at hda56, but I'm not sure about that.

You can also switch window managers from JWM to fluxbox.  The option is there somewhere in the menu system in JWM, 
look for exit options or some such.  Fluxbox features a graphical drive mounter.  (You'll see a black square in 
the lower right hand corner of the screen, that's the GUI drive mounter.)  If the drive mounter is blank, there's a 
bug in it that causes it not to redraw its screen.  Easy workaround is just press B (or right click with mouse) 
next to it so it has to redraw itself, then it should be good to go.  Click where it says cdrom to cycle through 
the available drives, clicking mount or unmount as the case may be.

Be sure to unmount all the drives before turning the Xbox off or rebooting, especially if you copied files.  Unmounting 
will ensure all files are copied and all buffers are flushed.  I find the best way to reboot is via the terminal as 
root using:

reboot -f

All the other methods involve manually shutting down and restarting via the power button.