Linux on a cash register

<< 019.html Return to index specs.html >>

Here's the full unit, all assembled and ready to go. It doesn't look nearly as hinky as I thought. I even added some little rubber feet to the bottom of the PC case. I'm thinking of moving it somewhere more central, like downstairs. It's really very unobtrusive (bright green stick notwithstanding). The whole thing is a little over two floppies wide. It's sitting next to a tiny 14" monitor. You can see the printer there in front of it on my other PC. Imagine the width of an average store receipt and then look at how wide the printer's housing is in comparison to the register's PC case.

The idea is that the thing sits there underneath or whatever and the stick rises up and displays info. It's got one tiny fan and so is pretty quiet. I also discovered that it'll boot without a keyboard, even though I could find no BIOS option to enable such a thing (I checked prior to booting). It makes sense to have this hard-wired, though, since it's a cash register at heart. If I do hook a keyboard up to it, I'll likely have STDOUT redirected to the stick. I'd also like boot messages to display there as well. I've already got syslog going to it, but the info isn't that useful since I only get 2 lines of 20 characters, which barely gets me past the date. I might wind up writing a filter that strips the date, hostname, and process name and only gives me the messages. It'd be a very simple C app to write. Although even the smallest motor could lift the Sphinx given enough time. I'm not sure how much I'm willing to devote to tweaking every single aspect of the box. I mostly wanted a web server out of it.

The PC itself is mostly the same as it was before. The main change (other than swapping a dodgy Intel NIC for a Netgear FA310TX) was that I re-installed Red Hat on it. I used Red Hat 8 this time, mostly because I wanted to see if it would run. It runs great (certainly no worse than my Sun Ultra10). Anything I/O intensive is slow since the HDD is still the older 5400 rpm one (with a tiny cache). I think it has like a 20ms avg. seek time or something. But Linux runs fine, as does Apache. Try getting MicroSoft's latest desktop or server OS offering to run on a Pentium 233 with 48MB RAM. They say Win2K Pro will run on a P133 (Win2K Server needs 128MB RAM minimum) but I don't buy it. Install their latest HTTP server see if you can use it. Not a chance. See, I had the choice to not install a GUI, and I had a very fine-grained choice of what apps I wanted installed (right down to the kernel itself).

That's enough rant. I just wanted to say how impressed I was that this old hardware is not only still useable, but fits in perfectly with my plans, thanks to Linux and Open Source/Free software.

The stick is running an updated version of a weather script I wrote a while back for its old incarnation. You can see the weather in Corvallis, OR (the relative humidity, in this case; the city name stays constant on top while the weather data gets updated on the bottom line). I had a small problem installing the scripts, though. Something between Red Hat's newest release and Perl 5.8 wouldn't let the Device::Serial Perl modules build. I had to run h2ph to (re?)build all Perl's header files, but for some reason it wouldn't build files for /usr/include/asm/string-486.h and /usr/include/asm/checksum.h. I moved them out of the way temporarily, re-ran h2ph and then moved them back. The modules installed fine and the LED-on-a-stick lives again.

Go check the specs page if you want to find out more info about Linux on a cash register. I got some interesting emails from people as a result of the Slashdot story and I'll try to collate it all there.