Wednesday, January 25, 2012

Thin client IBM NetVista N2200 Model 8363 Debian 4.0 root on CF card

IMPORTANT NOTE: This blog contains several pages related to Linux on the IBM NetVista N2200 (Model 8363). All the information is summarized here:

Linux on the IBM NetVista N2200 (Model 8363) page on Smithfarm - the Brain

NOTE 2: When I originally wrote this page, I put the kernel and modules on zShare - a very short-sighted move on my part. A couple weeks later, zShare went belly-up. Sorry.


Wow, what excitement. For about a year now, I've had an IBM NetVista N2200 (Model 8363-WXX) thin client lying around here gathering dust. Recently I finally got my hands on a power supply for it, and I now have it booting from a CompactFlash (CF) card into Debian 4.0 (root filesystem on the CF card).

Installation

Get the kernel (and, optionally, pick up your prize and get your BMI checked out) here: Antonio Martins' Linux 2.6.24 kernel for IBM NetVista N2200 (8363)

(( Here's how I came about this file. At this link - N2200-OSS-10.3-CF-v3.tgz - I downloaded a tarball containing a full installation of OpenSUSE 10.3 for the N2200. I put this on a CF card and booted my N2200 for the first time. My joy at that was soon tempered by the fact that the system was excruciatingly slow when running off a CF card in the N2200. This led me to the idea of running it off Root-NFS which, I found, is possible - with the right kernel. ))

Rename the file from kernel.2x00-opensuse to kernel-2x00.
Get the modules:  http://www.zshare.net/download/98942749b9e55c85/

On an x86 (32-bit) machine, use debootstrap  to create a fresh Debian 4.0 ("etch") installation:
# mkdir tmp
# cd tmp
# apt-get install debootstrap
# debootstrap etch . http://archive.debian.org/debian

(Note: this won't give the desired result if you run it on a 64-bit machine, because it will download the 64-bit Debian 4.0 instead of the 32-bit, which is what we need for the N2200. Don't ask me how I know this.)

Put the kernel.2x00 file in tmp (i.e, the directory where we are assembling the contents of the N2200 root directory). Unpack the modules under tmp/lib/modules.

Get your trusty CF-to-IDE adapter and CF card (512MB and more) ready and set it up with a single primary partition. I used a 512MB CF card formatted by my Canon EOS digital camera. The N2200 can be picky about which CF cards it will work with, so be ready to try several. Apparently, you can use Linux fdisk to create the single primary partition on the CF card, too.

Make sure you're in "tmp" and then:
# mke2fs /dev/sdb1    (assuming /dev/sdb1 is your CF card)
# mkdir /mnt/flash
# mount /dev/sdb1 /mnt/flash
# cp * /mnt/flash

At this point, we have a minimal Debian "etch" install on the CF card along with the file "kernel.2x00" in the root directory of the CF card and modules in /lib/modules/2.6.24.7-N2200-RT.

Put the CF card into the N2200 and boot it.

Troubleshooting

If it didn't boot right up, nil desperandum. Any number of things can go wrong. Getting it to work is 90% of the fun. Here are some notes that may or may not help.

When my unit came, it was set up to be extremely terse at bootup. Basically, it didn't display any useful messages at all. It just said "testing hardware" (or something similar) and then immediately read the "kernel.2x00" file off the CF card and tried to boot.

First, I discovered that I could interrupt the process by pressing "Esc" (on the keyboard) before the N2200 started reading the kernel. If done at the right moment, this got me to a new screen where it asked for an Administrator password that I didn't know. After trying the obvious ("administrator", "admin", "password" etc.) I gave up and looked for a clear password jumper. I noticed two jumpers on the motherboard, so I picked one at random. It worked! The next time I booted and interrupted the boot process, it plunked me right in the setup menu.

In the setup menu, I enabled verbose booting message under "Change verbose diagnostic setting". Also, I was able to look at the boot log. That, for example, told me that the N2200 couldn't read my CF card, or that it wasn't seeing the server where I had my tftp setup, or whatever.

Another reason why it may not be booting is that the firmware is old. The latest firmware is "BL072902 07/29/02". According to one source, you have to have the latest firmware or it won't boot. The firmware is (or was) available for download here: http://www.bluetrait.com/files/N2200/bflash.2200

My unit already had the latest firmware, so I didn't have to reflash it, but there are instructions for doing that on the web. The idea is you put the "bflash.2200" file in the root directory of the CF card and tell the N2200 where to find it (using the firmware configuration menus).

The above kernel will only work when booting directly off the CF card, with the root filesystem on the CF card. This can be a painfully slow way of using the N2200. My next job is to get it booting (kernel and root filesystem) off NFS.

No comments:

Post a Comment