// post · 356

Installing "Linux-2200" onto the IBM Netvista N2200 (8363)

I thought the documentation on installing Linux onto the N2200 wasn’t great so I decided to write up something myself.



Please note that I did not write or compile this software, the original source of this program can be found here.



Things you’ll need:
  • A Netvista N2200 thin client
  • A Linux box (I used a live Ubuntu CD has I don’t have any Linux systems)
  • A Compact Flash (CF) card (min 64mb)
  • A card reader or some way of modifying the CF card on your Linux system
  • linux-2200-0.2.1.tar.gz (29mb)
  • Latest BIOS for N2200 (520k)
Getting the files



Local Mirror of Linux-2200 (Aust): http://michaeldale.com.au/files/N2200/linux-2200-0.2.1.tar.gz

Original Location: ftp://ftp.berlios.de/pub/linux-2200/linux-2200-0.2.1.tar.gz

Latest BIOS for N2200: http://michaeldale.com.aufiles/N2200/bflash.2200



Make sure you have all this stuff before you start.



Notes:




You will need to be logged in as root for most of this installation, if you feel you may break something use a live CD.



I used Ubuntu 4.10 on my PC as that is what I had on CD at the time. This can be downloaded from here.

If you don’t feel like downloading a 600mb ISO you could try damn small linux, this should work too, although I haven’t tried it

(Note: Some people have had issues with Fedora 4 and 5 when creating the image on the CF card).



Some people have had problems with certain CF cards, although many have gotten theirs to work after reformatting the card and trying again. If you have a camera that supports CF, try formatting the card in this first.



Installing Linux-2200



The first step is to create a partition on your CF card. I used fdisk to do this. In most cases the CF card is seen as a SCSI device and will be in the form /dev/sdX where X is the SCSI number (a,b,c etc). If you have no other SCSI devices it should be /dev/sda, if you have a multi format card reader (or USB stick plugged in) it maybe /dev/sdb /dev/sde etc.
Fdisk /dev/sda


Create a new Linux partition (you want it set to partition 1) Then write and close. Now you can create the Linux file system.
mke2fs /dev/sda1


(1 being the partition) Now you can mount the drive
Mount /dev/sda1 /mnt/someplace


Now extract the linux-2200 tar file to a place onto your hard drive:
tar -xzf linux-2200-0.2.1.tar.gz


open the folder linux-2200-0.2.1 Copy everything inside it to your CF.
cp -a linux-2200-0.2.1/* /mnt/someplace cp -a linux-2200-0.2.1/.fluxbox /mnt/someplace cp -a linux-2200-0.2.1/.xinitrc /mnt/someplace


If you need to update your N2200 BIOS copy bflash.2200 to the root of the CF card too. Now un-mount the CF card.
Umount /mnt/someplace.


Put the CF card into your N2200.



If you need to upgrade your N2200 BIOS press ESC on start up and choose to boot off the flash card and point the system to boot from /bflash.2200. Then restart the system. The BIOS should be upgraded and the system will restart. Go back into the BIOS and make sure the system now boots off /linux.2x00 (not 2200). Linux-2200 should now be running on your system .



Installing software



The following is taken from here:
You must have a Debian Woddy Linux.



First look where the app (for example:Nedit) you needed is:

$ whereis nedit

nedit: /usr/X11R6/bin/nedit



copy nedit to your card



cp /usr/X11R6/bin/nedit /yourcard/usr/X11R6/bin



look which libraries needed by Nedit

$ ldd /usr/X11R6/bin/nedit

libXm.so.1 => /usr/lib/libXm.so.1 (0x40021000)

libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x4014b000)

libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4015a000)

libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40167000)

libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x401b1000)

libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x401b9000)

libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x401cf000)

libm.so.6 => /lib/libm.so.6 (0x402a9000)

libc.so.6 => /lib/libc.so.6 (0x402ca000)

/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)



look if the libaries are on your card, otherwise copy the missing libraries to yourcard. Make sure the libary isn't a link.



example:/usr/X11R6/lib/libXt.so.6



ls -l /usr/X11R6/lib/libXt.so.6

lrwxrwxrwx 1 root root 12 4. Apr 2004

/usr/X11R6/lib/libXt.so.6 -> libXt.so.6.0



you see /usr/X11R6/lib/libXt.so.6 is linked to libXt.so.6.0



to copy both (the lib and the link) make



cp -a /usr/X11R6/lib/libXt.so* /yourcard/usr/X11R6/lib



In this case (nedit) thats all. Some apps needed more files (configuration files, etc) or depend on other apps, then you have to look into the docs,to google or to find it out by "try and error".
Software included
  • Dillo 0.8.3 (web browser)
  • XMMS 1.2.7
  • Fluxbox window manager
  • Nedit
  • Un-patched 2.4.21 Kernel
Hardware differences



I have both a N2200 EXX and an WXX.



The EXX is the standard Ethernet version with no flash card by default. The WXX is the Windows CE version with a 16mb flash card.



Unfortunately my WXX doesn’t power on, it seems as though about 7 capacitors have blown on the system. I am looking into replacing them although I don’t know if this will bring it back to life.



The capacitors are 1500 microfarad at 6.3volts (although voltage isn’t an issue as long as it is at least 6.3volts).

It seems that is was fairly common on the N2200, although I think it maybe only the WXX model as my 4 EXX systems are fine.



Have a look at the photos below, the WXX is on the left (blown capacitors are in lower left).



WXX and EXX side by side



The 16mb flash card in the WXX contains Windows CE although this doesn’t work on the EXX model. Apart from that (and the small motherboard differences) the systems are almost identical. Each system has a Cyrix MediaGX subsystem (Video and CPU).
  • CPU at 233MHz with 16k L1 memory (no L2)
  • 3mb shared video card (up to 1280x1024)
  • 32mb ram on board with a standard SDRAM slot, which can handle up to 256mb (288mb total)
  • Compact Flash slot
  • Ethernet
  • 2x USB 1.1
  • External power brick
  • Microphone and Headphone slots
  • Small internal speaker
  • Completely silent, no fans (CRT monitor makes more noise)
Setting up Linux-2200



Linux-2200 is a very basic Linux install based on Debian. It is quickly done and probably needs a little work. Here are some configuration changes I did to the system after I installed it. Make sure you make these changes to the flash card (and not the ram disc). Fixed the keyboard mapping as it is set to a German style keyboard.
  • Delete the line “loadkmap < /key.map” from /etc/inti.d/rcS
  • Remove /usr/X11R6/lib/X11/xkb
Changed the DNS settings
  • change the IP address in /etc/resolv.conf to an ip address for your local (or ISP) DNS server
Performance



A quick note on performance
  • System boots very quickly
  • Runs happily on the base 32mb ram (although I’d recommend 64mb)
  • XMMS plays mp3s without problems, although can skip if you are doing more than a few things
  • Faster than I expected for a 233MHz Cyrix system with no L2 cache
Things to do



There are some issues with Linux-2200, for example the web browser included (dillo) at its current version does not support CSS and many other things. I plan on getting firefox running on it, so I will update this page when/if it gets done. I would also like to redistribute Linux-2200 with some small changes (including the fixes above and firefox)



Other Software for the N2200
Other Links
// post · 350

IBM thin clients

Spending a bit of money this week! Argh. Anywho.



I picked up 5 IBM thin clients (because it was about the same price as one :p) off ebay the other day (IBM 8363 Netvista N2200).



They have a 233MHz CPU, 64mb SDRAM, Internal CF card slot (for client software), sound card, USB, Ethernet, and a 4mb video card. They can do network boot via PXE and they have also been hacked to support linux booting off the flash card. The linux distro includes XMMS and a Web browser.



They are almost silent and look pretty cool (and are really small). I haven't got them yet, I should get them late next week.



Some pictures:

IBM 8363 Netvista N2200

IBM 8363 Netvista N2200

IBM 8363 Netvista N2200

IBM 8363 Netvista N2200

(check the keyboard to compare the size):

IBM 8363 Netvista N2200 A forum thread about getting linux to work on them

// post · 343

Setting up Raid 1 on FreeBSD 5.4

This post is following on from my entry about the servers hard drive dying and how I setup Raid 1.

During an automatic weekly backup, my web server's hard drive failed. Luckily I run a database backup nightly and had last weeks full backup.

I decided it was time to move to Raid. Raid 1 uses two hard drives to store your information. When one drive fails the other continues to operate allowing you to install a new drive and rebuild the array.

Please note, Raid is NOT a backup solution.

So I went and purchased two Seagate 80gb SATA hard drives. Since the motherboard doesn't have SATA support I also needed a SATA controller. I decided it was about time to move towards SATA and also the 80gb SATA drives come with an 8mb cache. The old hard drive in the server was the same model but in IDE form (and thus 2mb cache).

So I got home (from the Hunter Valley) on Saturday afternoon with two drives in hand. Later that day I got a PCI SATA controller based on an ALi m5283 chipset.
I plugged it in, setup the Raid 1 through the cards BIOS and loaded the FreeBSD 5.4 CD. I was greeted with the friendly message that no hard drives were detected, damn. I then did some googling and found that there really wasn't any support for this card outside of Windows. Great.

Anyway I needed a solution quickly and it was late. I needed to get a SATA controller from somewhere on Sunday. The only shop open close to me was Adelong and they had one SATA controller based on the Silicon Image 3112 chipset. Another quick google and from the looks of it FreeBSD supported the card.

So I got it home and plugged it in and setup another hardware raid (quasi hardware at least). Well FreeBSD loaded and showed me two hard drives. Interesting. With Raid 1 you should only see one. Looks like it supported the card, but not the raid function. Oh well I thought, software raid should do.

So a bit of google searching and some failed attempts at software raid I found this quick howto.
1. Install FreeBSD on to ad4.
2. Reboot with the Install CD.
3. Enter Fixit mode. (For FreeBSD less than 5.4, use Install CD disc2 as the “live filesystem”)
4. # chroot /dist

# mount_devfs devfs /dev

# gmirror load

# gmirror label -v -b round-robin gm0 /dev/ad4

# gmirror insert gm0 /dev/ad6

# mount /dev/mirror/gm0s1a /mnt

# echo ‘geom_mirror_load=”YES”‘ >> /mnt/boot/loader.conf
# echo ’swapoff=”YES”‘ >> /mnt/etc/rc.conf
5. # sed “s%ad4%mirror/gm0%” /mnt/etc/fstab > /mnt/etc/fstab.new
# mv /mnt/etc/fstab.new /mnt/etc/fstab
6. Reboot

Right looked easy. So I setup my first software raid and the system booted! Great.

I did a gmirror status gm0 and go this output:

gmirror status
Name Status Components
mirror/gm0 DEGRADED ad4 ad6(6%)

Gmirror was syncing up my second hard drive (ad6), so I decided to leave it for the night and headed to bed.

The next morning (Monday) I awoke to the follow error:

ad4:TIMEOUT - WRITE_DMA retrying (2 retries left)

The system was still online, but when ever there was any disc activity the system would lock for a few seconds before doing anything.

I did some searching and it seemed that the ATA drivers had some issues with SATA chipsets. Great.

Anyway there was a patch out for it, so I patched the system and recompiled the kernel. The system seemed to boot somewhat better. But I spoke too soon. As soon as I tried to copy over the backup image, gmirror reported that ad4 and ad6 were disconnected and the system locked up. Fantastic.

Another google search and it simply looks like the SiliconImage 3112 (Sil3112) is a piece of crap hardware. Don't buy one.

A quick call to Bryn and I had a lovely High Point RocketRaid 1520 card in my hands at about 5pm. Over three times more expensive than the first card I tried, and a much larger box, it was guaranteed to work! (also the fact that the card said FreeBSD support on the box :p).

I loaded it up, setup the raid through the bios and freebsd detected it as a hardware raid! Sweet.

Jul 19 21:21:48 metro kernel: ad4: 76319MB [155061/16/63] at ata2-master UDMA133
Jul 19 21:21:48 metro kernel: ad6: 76319MB [155061/16/63] at ata3-master UDMA133
Jul 19 21:21:48 metro kernel: ar0: 76319MB [9729/255/63] status: READY subdisks:
Jul 19 21:21:48 metro kernel: disk0 READY on ad4 at ata2-master
Jul 19 21:21:48 metro kernel: disk1 READY on ad6 at ata3-master

and

metro# atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: READY

four and a half days, 3 SATA controllers and many hours later, that night the server was online. :)
// post · 333

Apple moving to Intel based CPUs

It's true!



So anyway, it is official. Apple is moving to Intel based CPUs, replacing the IBM G5 and the Motorola G4. So here is a quick run down of what is happening:
  • First Apple computer with an Intel CPU by this time next year
  • Majority of the transition within 2 years
  • Developer Kits running a Pentium 4 3.6GHz PowerMac are available to developers NOW for $US999 and must be returned in 2007 (Ships with 10.4.1)
  • Every operating system since OS 10.0.0 has worked internally on Intel CPUs
  • Most Mac applications will work on the new CPU via a layer called "Rosetta"
  • New version of Xcode (2.1) out now will compile for Intel CPUs
  • Apple is not dropping support for the PowerPC
  • There is nothing stopping the new Macs from running Windows, but OS X will not run on a standard PC.
Hopefully we'll see Pentium-M Laptops and NOT Celeron ibooks/imacs


// post · 328

Ubuntu on PPC

I decided to give Linux a shot again. I’ve never been a huge fan. Personally I feel much happier with BSD, but UNI runs Fedora Core 3 on most of the FIT computers so I felt I should give it a try again.

This time I didn’t feel like screwing around with installing Linux on my Athlon so I downloaded the live boot disc of Ubuntu version 5.04 for PPC (PowerPC) and booted it on my 12” 1.2GHz iBook.

To boot off a cdrom on the mac you need to hold down “c” as the system boots.

So anyway I’ve been using Ubuntu on my iBook for about 30 minutes and I thought I’d get down my first thoughts (I’ll probably write something more in detail later).

The system booted fairly quickly (remembering this is off a CD) and the first thing I noticed when Gnome (the default window manager for Ubuntu) appeared was that the mouse moved really quickly! Now when I say really quickly, I mean normal speed. Mac users take things slowly, so it was fast for ME!

Anyway the first test was network connectivity through the wireless card. Now I wasn’t really expecting it to work, considering it is a mac and all. Well it didn’t; no wireless. Aww. There is a good post about why it doesn't work here.

So I plugged in a network cable and turned on my network card and picked up an address via DHCP. Fired up firefox, working internet. Easy.

I then loaded “Music Player” and the first thing I noticed was that it seemed to support the iPod. So I plugged in my apple formatted iPod via firewire. Well it worked. The drive mounted and I could read all my music and files. Cool.

Only problem was that there is no MP3 support built in (or AAC for that mater). Oh well, not that hard to install.

sudo apt-get install gstreamer0.8-mad

apt-get couldn’t find some PPC binaries towards the end of the install but that didn’t really seem to break anything. MP3s now work, although the sound is really soft (and it is turned up to maximum).

I then decided to put the thing to sleep. The iBook quite happily went to sleep. So I went off to dinner. When I came back the laptop was still sleeping (good thing) so I opened it, bad idea. I got a blast of sound through the speakers, it didn’t stop. I quickly reset it (and no I didn't need to take the exploding iBattery out). Pity. There is a bit of information about it here

So I restarted back into Ubuntu to have a last play.

It is a bit hard to work with one button in Ubuntu; probably could bind the keys to something else, haven’t really looked.

Also the laptop seems to be working pretty hard. The fan does come on, which doesn’t happen much at all in OS X.

A part from those issues, it is fairly usable. The system runs really fast. I’m impressed. Video seems to work okay (the iBook has an ATi Radeon 9200, ATi aren’t known for their great linux support). I haven’t tried any 3D a part from the screen saver.

So final thoughts?

Would I use it?

No, not just yet. Lack of wireless and sleep support really make it hard to use for what I do. But saying that, I am impressed with the system. I wasn’t expecting much out of a mac version of linux, but it runs fine.

Hopefully in the future we’ll see better support for the mac hardware.

If I had an older mac that couldn’t run OS X then I’d probably seriously look at Ubuntu.

I think I could get to like Ubuntu, no wait I already like it. I’ll defiantly look at putting it on my PC which should have better support for everything.

Now there are probably ways around the problems I had, but I didn’t look all that hard into it. I did notice that the update system showed a new kernel version (not much use on a live CD) which might fix some stuff. But at the moment I’ll have to leave it.

// post · 316

File copying, from OS X to Windows

If I get time tomorrow I am going to purchase tiger. So I decided to do a backup of my Mac to my Windows 2003 file server.

I have Windows sharing turned on for the Mac and am copying the files from the Windows system.

Currently the Mac cannot access Windows shares on a Server 2003 system because of the authentication used, I’m hoping tigers adds support for this. (Note that a Mac works happily with every other Windows OS).

There were a few problems copying files, mainly to do with permissions and the simple fact that the Mac file system (HFS+ if I remember correctly) is much more advanced than NTFS.

Although there were a few problems I was impressed with the way Windows handled the errors (of course Samba on the Mac translated most of the file structure differences into something Windows understands).

General Access Denied Error

Permissions of the current user do not have access to the file (above).

Unable to copy a symlink

Unable to copy a symlink

locked file

Locked file

permissions properties

General Permissions.

Advanced Permissions

Advanced Permissions

// post · 293

email about setting up a cron file

I received an email earlier today from a reader who has a better way to manage and run backups. Here is a slightly edited version of the email.

I tackled the same problem at my own company and I think my solutions a little nicer than yours so I thought I'd share it with you :)

Ok so this is how I do backup for the local server at my company:

General Steps:

  1. Take a snapshot of everything I want to backup (every night)
  2. Archive and compress that snapshot (once a week)
  3. Upload that snapshot to a remote location (once a week)
  4. Leave the compressed archive lying around in a samba share so I can  burn it to DVD from my desktop machine whenever I get around to it.

The process is very similar to yours, the main difference between our implementations is that I use rsync to speed everything up and my scripts log their actions. I also wrote a couple of tests scripts to automate testing and prove everything works. The whole thing is a little hacky and I'd like to make the format of the log files look nicer but it does work :) It's also a really really fast way to do backups. The technical details are:

  1. Use rsync to copy your data from it's current folder to the snapshot folder. This is really fast as rsync only copies the differences not the entire tree. Logs on my server shows it usually takes about 3 mins. I call this script 'snapshot.sh'
  2. Use tar to create an archive.
  3. Gzip the archive with a version of gzip that has the '--rsyncable' patch applied[1]. I call the script that does 2 and 3 'archive.sh'
  4. Upload the compressed archive to the remote server using rsync. I call this script 'upload_archive.sh' (I'm really creative)

I wrap these scripts in two scripts called 'everyday.sh' and 'weekly.sh' depending on what needs to happen on each of those days. There also a little timer script that writes the time each command takes.

For connecting to the remote server I use ssh with keys so I don't need to worry about storing passwords in any of the scripts.

The really cool part of this whole thing is in step 4 where rsync will only copy the different bits in the compressed archive. I don't know exactly how this brilliant piece of magic works[2] but it's save me and my clients quite a bit of time and money.

[1] The patch is already in redhat's gzip so hopefully it's in the default freebsd one. Nothing in the man page about it yet though. [2] I first read about it here where the guy provides some explanation of what its doing: http://lists.ubuntu.com/archives/ubuntu-devel/2005-January/003327.html

 

--

Myles Byrne Web Architect

// post · 292

IPv6 tunnel

I have setup an IPv6 tunnel through AARNET

E:\>tracert vee-six.telstra.net

Tracing route to vee-six.telstra.net [2001:360::3] over a maximum of 30 hops:

1 22 ms 19 ms 18 ms 2001:388:f000::246
2 39 ms 53 ms 40 ms gigether0-2-0.bb1.a.syd.aarnet.net.au [2001:388:1:5001:204:e0ff:fe00:1022]
3 19 ms 17 ms 19 ms gigabitethernet2.7304.syd.aarnet.net.au [2001:388:1:5006:20f:23ff:fea3:ef02]
4 26 ms 26 ms 39 ms 2001:388:200:4::2
5 26 ms 24 ms 26 ms vee-six.telstra.net [2001:360::3]

Trace complete.

I'll have a play around with it some more later. :)