X-DSL is a Linux distribution for the original Xbox. The old Xbox sells for about $35 on eBay and can be used as an NAS for both IDE and SATA hard drives and can be used as a BitTorrent client.
For the sake of brevity, I will assume the Xbox already has XBMC installed and the ability to FTP files to the Xbox and execute xbe files.
Software used:
Xdsl iso, and use 7-zip to extract the iso
SSH/Putty
FileZilla or any FTP client
RealVNC
Part 1: Uploading Xdsl via FTP
Extract the files in the the Xdsl iso. Create an FTP session with the Xbox. Copy the KNOPPIX folder from the extracted iso to the Xbox’s E: drive. Open the KNOPPIX folder on the Xbox and copy minirt24.gz and linux24 to this folder. E:\KNOPPIX should now have three files, one of which is named KNOPPIX, and no further subdirectories. Also copy README-FTP\linuxboot.cfg to E:\linuxboot.cfg. Now make a folder in the E:\Apps directory called simply Linux and copy the default.xbe file to E:\Apps\Linux\default.xbe.
In total, four files are copied and the overall structure is:
E:\linuxboot.cfg
E:\Apps\Linux\default.xbe
E:\KNOPPIX\KNOPPIX
E:\KNOPPIX\linux24
E:\KNOPPIX\minirt24.gz
In XBMC run the Linux default.xbe. The Xromwell blue screen will appear. Select the hard drive and press A. It should boot directly into Xdsl.
Part 2: Installing Xdsl
The D-pad and left joystick move the mouse. Press Y to right-click the desktop and go to System > Daemons > ssh > start. Open putty/ssh and connect to the Xbox with username admin and password xbox. Then run the command xbox-loopbackinstall.
ssh root@192.168.1.101
root@192.168.1.101's password: xbox
xbox-loopbackinstall
Go through the menus and when it asks for the size of the loopback filesystem, change it from 200 to 600. Continue through selecting for the defaults. After it’s finished, reboot the Xbox:
Part 3: Configuring Xdsl for SSH and VNC
After the Xbox is done rebooting, go back in Xbmc and run Xromwell again and select the hard drive. This time a menu will appear. Choose XDSL Loopback, the second choice. Start the ssh daemon again (right-click the desktop and go to System > Daemons > ssh > start). Connect to the Xbox using Putty/ssh again. Users who are using ssh will need to remove the key from their system:
ssh-keygen -R 192.168.1.101
To set the ssh daemon to start when Xdsl boots, enter the following. If you are using Putty on Windows, copy it to the clipboard then right-click the Putty window to paste.
ln /etc/init.d/ssh /etc/rc5.d/S20ssh -sfn
Now on the Xbox go right-click the desktop and go to MyDSL > MyDSL Browser. In the left panel expand + net and scroll down and select vnc4x-1.4.6.dsl. Click the Install Selected button. Close out of the MyDSL Browser and right-click the desktop and go to MyDsl > vncserver > vnc4x0. Start up the RealVNC client and enter the Xbox’s IP and click connect.
Part 4: Installing BitTorrent
Now, using RealVNC, right-click the desktop XDSL Upgrades > Upgrade to GNU Utils, then XDSL Upgrades > Enable Apt. Right-click desktop, MyDSL > MyDSL Browser. Install net > bittorrent-cli.dsl.
Now in the ssh session enter:
ln -sfn /usr/bin/python2.2 /usr/bin/python
Mount the E: drive, then open a screen session and su to the regular user (dsl):
mount /dev/hda50
mkdir /mnt/hda50/torrents
apt-get install screen
screen
su dsl
BitTorrent can be run using the following command.
$ btdownloadcurses --saveas /mnt/hda50/torrents --minport 52130 --maxport 52140 CompletelyLegalLinuxDistribution.torrent
Note: VNC uses about 70% of the CPU. Only run it when you have to; use SSH.
To start more than one torrent, press [Ctrl]+[A], then [C] and type the command with the next torrent. [Ctrl]+[A],[P] and [Ctrl]+[A],[N] go back and forth between the two buffers.
That’s all for now. You can use SFTP to access the hard drive, SSH, VNC, and BitTorrent. Let me know in the comments if you enjoyed this tutorial. Comments are always appreciated.
Part 5: Serving files using Samba
Per a request in the comments, here’s how to have the Xbox serve files using Samba.
In Xdsl, right-click the desktop and go to MyDSL > MyDSL Browser. In the left pane, click the [+] net, and then find samba.dsl and click it. Click the Install Selected button at the top of the window.
Open up an SSH session to Xdsl. Enter the following commands, but you may need to change WORKGROUP to MSHOME. These commands backup your Samba configuration file, then change the workgroup, and finally add the E, F, and G partitions as shares. Copy the entire contents of the following, then right-click in Putty to paste them.
cp /opt/samba/smb.conf /opt/samba/smb.conf.bak
sed -i -e 's/^\tworkgroup = .*$/\tworkgroup = WORKGROUP/' /opt/samba/smb.conf
sed -i -e 's/; encrypt passwords/encrypt passwords/' /opt/samba/smb.conf
printf "[E]\n path = /mnt/hda50\n public = yes\n writable = yes\n\n[F]\n path = /mnt/hda55\n public = yes\n writable = yes\n\n[G]\n path = /mnt/hda56\n public = yes\n writable = yes\n\n" >> /opt/samba/smb.conf
printf "mount /dev/hda55\nmount /dev/hda56\nnmbd -D -s /opt/samba/smb.conf\nsmbd -D -s /opt/samba/smb.conf\n" >> /opt/bootlocal.sh
Now you need to mount the other partitions, restart Samba, and set a new Samba password for root. Just hit enter twice when it asks for a password to use a blank password.
mount /dev/hda55
mount /dev/hda56
nmbd -D -s /opt/samba/smb.conf
smbd -D -s /opt/samba/smb.conf
sudo smbpasswd -a root