Palmtop NetBSD
BSD Forums writes "'Of course it runs NetBSD.' NetBSD is fantastically portable, but that doesn't make it supremely easy to install on oddball hardware like a Dreamcast or a palmtop computer. Michael Lucas demonstrates cross-installation with the HP Jornada."
Palmtop NetBSD
/usr/src/sys/arch/hpc/stand/binary/ARM/hpcboot.exe .uu. If you have trouble with uudecode, Google led me to a variety of places from which it could be downloaded. Get the boot loader hpcboot.exe and save it for later. Don't worry about the kernel linked from that page; we'll build our own kernel.
/usr/src ./build.sh -m hpcarm -T /
by Michael Lucas
06/05/2003
In my previous article, I discussed building the latest NetBSD-current and installing it on your system. Today, we take things a little further and use NetBSD's cross-building abilities as a tool to install it on a rather unusual platform â" specifically, the HP Jornada 728 palmtop, which comes with Windows CE (WinCE) embedded. While HP no longer makes this device, you can pick them up used or on auction sites. The process discussed here uses examples from the Jornada 728, but with some tweaking will work on many other types of hardware. You could even install onto standard PC hardware in this manner, if you wanted to be masochistic about it.
Setup
This method requires that you already have a NetBSD machine that can physically accept the disk device you want to install onto, and that has the same sort of disklabel(8) as the Jornada, which means that you need the same endian hardware. You're probably best off running standard X86 hardware for this type of installation on this type of palmtop. In this example, I use a Toshiba laptop running NetBSD-current 1.6P to install NetBSD-current 1.6P on my Jornada. I'm using a 512MB flash card to run NetBSD, and am using a PCMCIA adapter to attach the flash card to the laptop during the installation phase. If you're using a desktop, you could use a USB-to-Flash adapter.
Running NetBSD on your Jornada will erase all data from the WinCE operating system. That's OK, because you'll never boot back to Windows once you discover the joys of palmtop UNIX, right? Still, you might want the WinCE data some day, so be certain to back up your device before starting this install! Some people who switch boots between WinCE and NetBSD use the backup tool that comes with WinCE to back up their data to the FAT partition on their flash card. If you do this, be sure to use only the backup tool that came with the Jornada, not a newer version.
NetBSD runs on a whole bunch of hardware that was never intended to run UNIX, so this install isn't really anything special. Each of these unusual platforms has its own unique requirements, which are generally documented on the appropriate port page for that architecture. Check the port page for an instructions document, which in this case is the Using NetBSD/hpcarm page. The directions may be partially obsolete, as code development frequently outpaces the web documentation. Still, it's a good place to start. Also search the mailing list archives for your chosen platform for other people's experiences installing and running NetBSD on that system. Lastly, you'll want to be certain that NetBSD runs on your system â" for example, while the Jornada 720 and 728 are well-supported, the Jornada 820 isn't yet.
Bootstrapping
The how-to-use page for hpcarm shows that you need a kernel and a boot loader that runs in the WinCE environment. At this time the page also mentions a root filesystem image, which is not yet available. The only piece you really need to get at this point is the hpcarm boot loader, which is available as a uuencoded file in the NetBSD source tree at
Now go to your existing NetBSD system. We covered the basics of building NetBSD in the last article, including getting the source code and using the build.sh building system. As each platform has its own compiler requirements, make(1), and so on, we need to start by building these tools for the hpcarm architecture. Here, we use the -T flag to specify where to put these tools, and the -m flag to specify the type of machine for which you're building.
# cd
#
People have done similar installations on Windows CE devices for awhile. For example, I run NetBSD 1.6 on my IBM z50, also with a 512MB Compact Flash card. The only difference is that this installation was done entirely from a NetBSD mothership while I installed from a FreeBSD ftp server I set up.
Well, there's palm linux (palm-linux.sourceforge.net). Doesn't work on my m100, dunno about the older Palms.
Close, but not quite:
http://sourceforge.net/projects/liteos/