Mobile Pro 770/780 has a very nice form factor that is not too big to carry all the time, while still provide a touch typable keyboard and a screen wide enough to display most websites. As a system admin, I like to carry it around as my SSH client and X term. But those functions are not available from the original HPC CE 2.11 OS, and third party applications are limited too. So I dicided to give NetBSD a try, the hpcmips port of NetBSD 2.1 has been pretty solid. at first I installed directly from the sets available from netbsd.org using a 512M CF card. I Figure I will probably have to compile some stuff on this, so I did full installation with compile tools, which took about 60 percent of the CF card.
Then I recompiled the kernel using this conf file, rebuild the release sets using this mk.conf. Basicly disable all the functions that is not likely to be used on the portable platform, for example YP and UUCP and SENDMAIL etc.I didn't compile the kernel and the release sets on the Mobile Pro itself, that would take too long. Instead, I didn't cross build using my desktop PC running Netbsd 3.1. On which the kernel build only takes about half an hour, while the sets takes about a half day.
Now I have a full function UNIX box right in my palm, SSH and Xhpc works great right out of the box. I use ssh at work to connect to any server manages, then forward X sessions down to the MobilePro, that allows me to securely manage my servers anywhere I go. Here is the simple command I use for ssh and X forwarding:
ssh -X username@remote.host
Once connected, you should find that the DISPLAY environment variable has been set to something like LOCALHOST:10.0 So in order for the MobilePro's X server to actually accept connections, I just added a line to the X0.hosts file that simply reads localhost. Now it was ready to launch all those fancy X apps and have them displayed in the palm of my hand...
After making sure that NetBSD is fully functional on the Mobile Pro, I dicided to add some new functions to the little machine using pkgsrc, whice provided thousands of apps. But packages can not be cross built, so I have to do the compiling on the Mobile Pro itself. That requires some prepare job. First the 512M CF card is not big enough to hold all the pkgsrc files, not to mention all the distribution tar balls, obj files. So I turned on NFS server on my desktop NetBSD box, unpack pkgsrc.tar.gz there and shared it by adding the following two lines in /etc/exports.
/usr/pkgsrc -maproot=root: bsd770Then the 32M internal RAM is not going to be enough for any serious compiling, so I created a swap file on my NFS server under /usr/obj "dd if=/dev/zero of=/usr/obj/770swap bs=4k count=32k" and turned it on with "swapctl -a /usr/obj/770swap" on my Mobile Pro.
/usr/obj -maproot=root: bsd770
With all the preparation done, I compiled the following packages
Dillo is the best fit browser for this little NetBSD box, it's small and fast, and gtk+-1.2 with glib-1.2 is all the librarys required. following is a screen capture.
For e-mails I have to compile an older version of sylpheed, version 1.0.6 is the last one that is gtk1 based. This one is not part of the pkgsrc, so I just downloaded the source tarball, compiled and installed under /usr/local.
You probably noticed that the few screen captures all running in full screen mode, there
is no window borders, no title bar, and not start bar either. That is bacause I used
dwm the dynamic window manager. Dwm is small
and fast, seeks for simplicity and efficiency, which is just what I needed for my Mobile Pro. I
actually modified a few lines of the dwm source code so that I have most the apps running in full
screen mode, wasting no screen real estate for fancy stuff. And use key combinations to launch
applications and switch between windows. Following are the key combos I used:
After all my apps are compiled, I did a minimal install to one of my 128M CF card, with only base, etc, xbase, xetc, xserver, xfonts, plus all the packages and apps I compiled, the whole NetBSD system used just a little less than 100M. Pretty cool, isn't it. One additional note, with CF card as the primary disk, you do not want to have frequent write to the disk, so disable swap, use as little syslog as possible here is my rc.conf file
# $NetBSD: rc.conf,v 1.96 2000/10/14 17:01:29 wiz Exp $ # # see rc.conf(5) for more information. # # Use program=YES to enable program, NO to disable it. program_flags are # passed to the program on the command line. # # Load the defaults in from /etc/defaults/rc.conf (if it's readable). # These can be overridden below. # if [ -r /etc/defaults/rc.conf ]; then . /etc/defaults/rc.conf fi # If this is not set to YES, the system will drop into single-user mode. # rc_configured=YES # Add local overrides below # ifconfig_ne0="inet 10.10.10.16 netmask 0xffffff00" hostname=bsd780 inetd=no cron=no savecore=no sendmail=no quota=no update_motd=no no_swap=yes sshd=yes bsd780: {2}