Installing Debian on a Iomega iConnect Wireless Data Station is not that difficult but will unavoidably void your warranty. You will need to rip apart the device in order to access the console port.
Requirements:
- Access to the Serial Console through a USB to serial interface such as the FTDI - TTL-232R-3V3-WE (some soldering required)
- USB harddisk or stick (harddisk is advisable since stick tend to wear off)
- Ethernet Connection for debian installation - Important!!! you MUST use Gigabit Ethernet!!! due to a bug in the Debian Install Kernel
- Linux Host in order to setup the kernel
First step is to rip apart the iConnect and reach the serial port as depicted here.
After connecting your host to the iconnect through the usb serial adapter you should be getting a prompt:
In the prompt type:
Take note! You must really saveenv and reset
Next we will load the debian lenny install environment either through USB or TFTP (this procedure is based on the procedure published here used for the OpenRD). Links to the debian uInitrd and uImage are available here. I provide you here 2 alternatives, you can use a USB stick formated using ext2 or you can download the initrd and kernel through TFTP by setting up a TFTP server in your host (e.g. atftpd), please use only ONE of the options.
==USB==
==TFTP==
After loading the kernel and Initrd into memory we configure the boot arguments to the debian installer
Last we boot the kernel + Initrd
You should be able to use the debian installer without any troubles, as it is no different from the x86 installer. In the end it will nonetheless fail to install the kernel and boot loader, but don’t panic :)
After install, we still need to setup the kernel and initrd.
Mount the USB disk into which you just installed Debian, in your Linux host.
(or whatever device your usb disk/boot partition is on)
(this only works in debian based linux distributions)
You can now unmount the USB device from your host and get back to your iConnect.
At the uBoot prompt type:
This line currently setups the MTD device (in case you want to use it in the future) and delays boot in order to give the kernel time to detect the external USB device where the root filesystem lies.
In order to have a backup solution in the improbable case that a kernel doesn’t boot we setup a bootcmd that downloads a kernel from a TFTP daemon running at 192.168.1.100
The previously line will have as a drawback, your system will take longer to boot (much longer, >20sec) as it will have to timeout trying to retrieve the kernel through TFTP.
Last the lines that will boot your kernel:
Now that we have debian lenny installed moving to squeeze is a “normal” procedure. You need to update your /etc/apt/sources.list and issue:
That is it! Your system should be up and running. If you run into any problem drop a comment.
In my next post, I’ll describe how to cross-compile to the iConnect and how to build a custom kernel specifically targeted at the iConnect.