Tiny computers surround your life. In your coffee maker, remote control, vacuum cleaner, telephone, and clock radio. Unlike your personal computer, where a central processor has a huge amount of processing power, these tiny computers are special purpose devices that have relative low performance requirements. These tiny computers are, in general, microcontrollers.
Microcontrollers are getting more and more available to the general hobby-hacker through the advent of devices like the BasicStamp and the Arduino.
My first step into 1/8 scale offroad racing is a Hong Nor X1X-CR 1/8 buggy, arriving as a nitro car destined for conversion to brushless electric drive.
Electric has become a “standard” for my cars, and brushless my standard for offroad. So the buggy will be no worse that my other cars, and is given a brushless conversion. The -E extension of the model-name reflects my electrification 😛
The X1X-CR is a factory-made options-upgrade of Hong Nor X1-CR RTR. The X1-CR RTR is a “parts-downgrade” of what Hong Nor calls X1-CR Pro, this kit is available under a more familiar name as OFNA Jammin X1-CR. The kit I am based on is a “80% RTR” kit, meaning no engine or electronics are included.So the start of brushless conversion was as simple as removing only a handful of parts.
In this document I will document my base PXE boot-server setup. It is my intention to have quite a few “features” in my setup, including:
Menu-based selection of boot options
Booting of installers for several open-source operating systems
Booting of Live-environments for several open-source OS.
A selection of system-tools, like disk-shredder, partitioning tools, disk-backup and antivirus
Support for chainloading other net-boot mechanisms.
The setup is built on Debial Lenny, and is based on pxelinux, a part of the syslinux tools. In general, PXE-booting will be useful for booting x86/ia32-related hardware. Details related to making individual operating systems and distributions PXE bootable are left to separate articles.
The task here is: at work, we have these cute little Vesa-mount-sized computers originally manufactured by DMP Electronics as the eBOX 4310, rebranded as NorhTec MicroClient Sr, that we are going to use backpack-mounted on large-screen HDTV's for our internal digital signage project.
These little boxes are to have no spinning disk, and an as reliable as possible system. To get no moving parts, the boxes skip using a hard drive, and we are setting them up with Compact Flash (CF) as the main storage. But, as any documentation will tell you, CF has a limited number of write-cycles, and as a result of that, it is desirable to have the system running with its filesystem read-only once booted.
Internally we normally standardize on CentOS for servers, and Ubuntu+Fedora as supported desktop Linux'es. But none of these are really “dead simple” to make read-only-rootfs, and to be honest comes with too much bloat in my opinion. So I am trying to do this using Debian Lenny. Debian is stock, standard, known tech, easily modified (ref. Pebble, LEAF, DSL, Ubuntu, Mint), and supportable. The base install is also fairly easy to make small.
My preferred method for installing Debian (or any compatible OS really) onto the RaQ, is the "out-of-body" installation. This requires an i386 - i586 (fairly old) PC with IDE/ATA available as a boot controller. There is quite a bit of "post install cleanup" to do compared to a standard Debian install, so read on...
Compiling and installing a new, working Linux kernel on a RaQ appliance is not as trivial as it would be on a commodity PC/server. Here, I go through how I got my Lenny based RaQ's up and running with new kernels, starting from an already operational Debian Lenny i386 install
Do not attempt this with a RaQ550, it will damage it!((http://www.osoffice.co.uk/romupdate.html))
For RaQ3, please see the methods for “Flash without OS“((http://www.osoffice.co.uk/romupdate.html))((http://wiki.parvi.org/index.php/ROM_Flash_without_OS_Guide))
Installing any modern OS onto the RaQ GenIII hardware, requires that the RaQ's BOOT ROM is upgraded to a version that supports Linux kernels newer than the Linux 2.4 series. The the StrongBolt((http://www.osoffice.co.uk/)), BlueQuartz and Cobalt-ROM((http://sourceforge.net/projects/cobalt-rom)) projects are the sources for newer BOOT-ROM's. How to update your ROM file is outlined at http://www.dincom.co.uk/bq/rom.php and at the StrogBolt OS pages (http://www.osoffice.co.uk/romupdate.html).
Basically, you need a running OS on your RaQ before you start. This is because the flashtool((http://www.dincom.co.uk/bq/centosbqfiles/mirror/flashtool/)) needs to be run on the actual hardware. If you do not have an operational original OS on disk, using the Strongbolt CDROM, or other means of net-booting may get you to your goal.