Monday, April 16, 2007

SBC PC in the kitchen

In the kitchen?

A PC in the kitchen... whatever for? We often get people over who has the need to "use the internet". Then I take them into the study and they use my PC. Afterwards, I find that:
  • some bookmarks was created
  • windows was moved around
  • stuff downloaded onto my desktop of all things!
First solution was to let them use my laptop, but I had the same problems. Then came this solution: put a PC in the front of the house for general usage. Maybe like a very small little internet cafe. But a real PC presented issues of its own, the biggest of which is the noise from fans.

Enter my friend the IB300. We used them on some projects at the office, but have since replaced them with a difference SBC (SingleBoardComputer). I was able to put my eager little hands on one and started playing.

Parts

The parts that I used:
  • 1x IB300
  • 1x 128Mb RAM
  • 1x 128Mb compactflash (used to be in the digital camera, but that was upgrade to 1Gb)
  • 1x 5V powersupply (thanks Tiaan)
  • 1x standard 15" LCD screen (thanks for the donation Tanya! Proving again that you love me more than most...)
  • 1x USB keyboard
  • 1x USB mouse
  • a couple of M3 standoffs and allencap screws
  • some CAT5 for the network connection
  • 1x Linux machine to be the terminal server

Step 1

The Linux server was already up-and-running with FC4, so I just installed the LTSP software (version 4.2). For this I pretty much followed the installation instructions as supplied. The one thing that was a bit hard, is to get your DHCP server to work with you. Mine happen to be Dnsmasq running on a OpenWrt-enabled Linksys WRT54G. Here is the config that I added:
dhcp-vendorclass=pxe,PXEClient
dhcp-vendorclass=eth,Etherboot
dhcp-boot=net:pxe,/lts/2.6.17.3-ltsp-1/pxelinux.0,pion,192.168.22.2
dhcp-boot=net:eth,/lts/vmlinuz-2.6.17.3-ltsp-1,pion,192.168.22.2
dhcp-option=17,192.168.22.2:/opt/ltsp-4.2/i386
dhcp-option=48,192.168.22.2 # font-servers
dhcp-option=49,192.168.22.2 # x-display-manager
dhcp-option=66,pion # tftp-server-name

Here is the config from lts.conf

[Default]
SERVER = 192.168.22.2
XSERVER = auto
X_MOUSE_PROTOCOL = "PS/2"
X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS = 3
USE_XFS = N
SCREEN_01 = startx
SCREEN_02 = shell

[192.168.22.118]
X_MODE_0 = 1024x768
X_MODE_1 = 1024x768
X_VERTREFRESH = 60
SCREEN_01 = startx
SCREEN_02 = shell

Step 2

The IB300 runs of 5V DC. The power supply I could get had strange "uk/euro" (not sure which) plug and I was not able to get a real adapter for it. With some soldering, a couple of short cables and plenty help from the glue gun I ended up with this:
5v plug

Step 3

I needed to get the IB300 to boot from a local device. This is where the compact flash comes in. With Slackware it is very easy to do a bare-as-you-can-get installation. Now I download a zlilo image from magic and add that into the lilo config. In the end I do not use any of the local installed Slackware software except for LILO to do the boot.
note to go and get the LILO config file to show here...

Step 4

At last I can assemble the entire "PC". I use the standoffs to make a little platform on which the IB300 is mounted. This platform is then fixed to the side of the bookcase. You can see some photos of the final result here.


. current status

ib300 mounted

Notes...

  • It takes about 90seconds from poweron to login prompt.
  • The only noise is a single BEEP on startup (and it rarely reboots!)
  • Need to get the sound working under LTSP. This will enable me to also replace the CDplayer in the kitchen by playing mp3's on here.
  • I have a TV-tuner card in the Linux server: how to stream the FM radio here? More toys!
  • Still need to do some cleanup of the cables!

No comments: