MSNTV2 Boot Tutorial
Well, it’s 3AM, but I got my first MSNTV2 server running using linux kernel 2.6.12.5, so here’s a writeup on how it’s done.
This is provided with no guarantee of accuracy or completeness
This tutorial assumes the following:
- You will be installing a hard drive into the MSNTV2 box via an IDE cable.
- (The process for a USB drive is similar, with the exception that you must compile the kernel as such to be able to boot from USB, and you must append rootwait=10 to the CMDLINE file)
- You have soldered an IDE header onto the MSNTV2 motherboard
- You have already patched the BIOS of the MSNTV2 (See “Getting into the service menu” and “Flashing the patch” on the Toc2rta Wiki
- You already have a CompactFlash card prepared as detailed in the Toc2rta Wiki, with:
- a CMDLINE file (root=/dev/hdc3 init=/sbin/init console=ttyS0,115200)
- BIOS.BIN (You’ll have to search Google for it)
- (We will be compiling the VMLINUX.BIN in this tutorial)
- You are currently using the hard drive you wish to install into the MSNTV2. It currently has:
- Some version of Linux installed and running on it, probably on a Desktop system at the moment.
- OpenSSH installed and set up correctly (Example for installing and setting up OpenSSH on Ubuntu Linux)
Note: The CompactFlash card is known as /dev/hda to the MSNTV2 box. Once the drive is installed into the MSNTV2, it will be known as /dev/hdc (If the drive has no jumpers present) or /dev/hdd (If jumpered as ‘slave’).
For those trying to compile it for themselves, and for myself for later reference:
- Download linux-2.6.12.5.tar.gz
- Move linux-2.6.12.5.tar.gz to /usr/src/ (mv linux-2.6.12.5.tar.gz /usr/src)
- Change directories to /usr/src/ (cd /usr/src)
- Extract linux-2.6.12.5.tar.gz into /usr/src/ (tar -xvf linux-2.6.12.5.tar.gz)
- Add the .config file:
- Download the attachment to this article
- Change directories to where the attachment was downloaded (Example: cd ~/Desktop/)
- Copy it to the /usr/src/linux-2.6.12.5/ folder and rename it to .config (cp msntv2-config-2.6.12.5 /usr/src/linux-2.6.12.5/.config)
- Make the kernel and modules:
- Change directories to /usr/src/linux-2.6.12.5 (cd /usr/src/linux-2.6.12.5)
- Make sure the source code has no temporary files, etc (make clean)
- Build the Kernel (make)
- If you are prompted whether or not to include an item that was not included in the .config, just press Enter, and it will select the default recommended setting.
- Install the modules (make modules_install)
- Copy the vmlinux.bin to the first partition of your CF card.
- Mount your CF card if not already done. Note: Many GUIs will do this for you. The mounted path and device may vary. (Example: mount /dev/sda1 /media/sda1)
- Copy the vmlinux.bin from /usr/src/linux-2.6.12.5/arch/i386/boot/compressed/vmlinux.bin to the first partition of your CF card. (Example, assuming a USB card reader mounted to /media/sda1: cp /usr/src/linux-2.6.12.5/arch/i386/boot/compressed/vmlinux.bin /media/sda1/)
- Edit your /etc/fstab file: (See attachments for an example of a modified fstab)
- Change any references of /dev/hda to /dev/hdc
- Remove or comment out any /dev/cdrom entry
- [Experimental, for me at least] Add an entry for the first partition of the CompactFlash (/dev/hda1 none vfat defaults 0 0)
- Install this hard drive onto the MSNTV2 using an EIDE ribbon cable.
Picture of my current setup: