File:  [NetBSD Developer Wiki] / wikisrc / tutorials / how_to_install_netbsd_on_a_nec_mobilepro_790.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Sun Nov 20 20:55:21 2011 UTC (2 years, 4 months ago) by mspo
Branches: MAIN
CVS tags: HEAD
import all of the how-to articles from the pkgsrc.se wiki

**Contents**

[[!toc]]

#Intro

The MobilePro 790 provides an excellent platform to run NetBSD on. It's very similar to the 780 but with the addition of an internal flash rom. Aside from the fact that all these HPC devices are really starting to show their age, it makes a great system. The 790 is particularly nice because the internal flash rom means the bootloader and kernel image can be stored on the device itself, and there's no mucking around with partitioning your compact flash card.

#What you need

* MobilePro 790, obviously. Preferably with a good battery. There's a built in suspend in NetBSD when the battery state is critical, and even when plugged in mine enjoys turning itself off.
* CF Card - At least 128mb for barebones console install, 512MB or more for an install with X.
* Some method of getting the package sets onto the device. Using FTP or NFS with a wired or wireless pcmcia network card is definetly the most efficient method. It is also possible to use another CF card with a pcmcia adapter, mount this, and read the packages off of it. Finally, I suppose it would be possible to use a pcmcia CD or Hard drive adapter of some sort, although I'm not familiar with this road at all.
* psdboot.exe and netbsd file from the 3.0 installation directory. Ungzip the kernel before you use it. Also grab the netbsd-GENERIC file and ungzip it for later use. 

#Installing

1. Format your CF card in the OS of your choice. If you're in Windows make sure to format it as Fat16 so CE can read it. Copy psdboot.exe and netbsd (the kernel image) to the card. Pop it in the front CF slot on the MobilePro. Hold shift while you're starting up to bypass that godawful setup routine. Go into my computer and copy the all the files from your CF card (Storage Card2) to the Internal Flash Rom.

2. Start psdboot.exe from the Internal Flash Rom. Set the kernel location to "\Internal Flash Rom\netbsd". Set the device type to an NEC MobilePro 780. All the preset settings for the 780 seem to carry over fine. Click boot. If all goes well your screen should go to a console and you'll be booting into NetBSD. If you plan on copying your package sets off a second CF card, scroll down and read that section now!

3. Select install when the installer comes up. Do a custom install and select only the kernel, Base and /etc packages. If you have a large CF card you can select more, but I'd reccomend just doing the bare minimum like this and grabbing them yourself later.

4. Since we don't need the Fat16 partition on the CF card anymore, select use the whole disk on the next step. On the next step (NetBSD partitioning), I usually just put everything in / because managing space gets to be a nightmare with a bunch of partitions on these small disks. Whether or not you have a swap file is up to you. Most command line apps and even lots of simple X apps will do fine with no swap. If you plan on compiling anything or running any big, modern X apps (read: browsers), you need one. 32mb will do. WARNING: If you do lots of work on your MobilePro that swaps out a lot, the frequent writes will wear down your CF card, as CF cards do have a limited number of writes. It's still debatable how much of an issue this is, but I just thought I'd warn you.

#Getting Base Sets over FTP or NFS

Select either FTP or NFS at the Select Medium menu. In either case, network config will come up. Select your interface (wi0 in my case). NetBSD supports a reasonable amount of wired and wireless pcmcia network cards. My Wavelan Gold works great. I won't go into Network settings as this will differ for everyone. Once your network is configured, if you selected NFS, you just have to fill out the hostname and directory that is NFS shared on your remote machine containing the installation sets, and then select continue. Your sets will be copied over and installed.

#Getting Base Sets from another CF card in a pcmcia adapter

Download whatever packages you want from the NetBSD FTP (ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/hpcmips/binary/sets). Format your second CF card however you want and stick them on it.

Have the card you're installing to in the CF slot, and your card with the packages in the PCMCIA adapter. Boot into the installer as instructed above, but do not select install just yet. Select Utility Menu, and then Run /bin/sh. When you're at the shell make a directory and mount your second card in it. The device name will be wd1. Example:

    cd /mnt
    mkdir sets
    mount /dev/wd1a /mnt/sets


You might want to check and make sure everything went fine:

    cd /mnt/sets
    ls

And you should see the sets you put on the card earlier. Now type exit. Exit back to the main menu. Start the install and do steps three and four as instructed. When you get to the Select Medium screen, select local directory. Enter in whatever directory you mounted your second CF card in. (/mnt/sets in the example). When you've set the directory proceed with the installation.  

#Post Install Config

Once the install system finishes getting and or unpacking the sets you requested, you'll be asked to do some basic config tasks. When it asks you if you want to delete the sets from /usr/INSTALL, do it. They take up way too much space to leave sitting around. Setting the date and time and a root password are pretty much self explanitory. Select reboot when you are done. You may have to press the reset button on the bottom of the unit to get back into Windows CE.

#Booting Your New System

Be careful when you reboot the system. Windows CE will want you to format your CF card, be sure to click No. Open up psdboot.exe from the Internal Flash Rom. Change the kernel location to "\Internal Flash Rom\netbsd-GENERIC". Click boot. You should see the familiar boot process and eventually come to a login prompt. Have fun!

#X Server

NetBSD hpcmips uses Xhpc, not XFree86. When I try to use the X Server included with 3.0, it gives a "bad display name" error, and then freezes the system. Xhpc doesn't have a config file as far as I can tell. It does some voodoo magic and auto configures each time, so I'm out of luck as far as configuring it. I tried installing the 2.1 X Packages and it was the same story. So far the only X Packages I've tried that have worked fine were the ones all the way back from 1.6.1. It starts without error, and touchscreen works fine. Haven't run into any incompatibility issues with X apps compiled for Newer NetBSD versions so far. The X server from 2.0.2 could possibly work to. I have a feeling that a custom compiled X server would run fine, but I don't have the appropriate build environment to create one, and compiling on the 790 obviously isn't a viable option.

Anything remotley complex (even, for example, the dillo web browser) takes ages to load and will probably go into swap space. Simple applications such as games, text editors, and image viewers work fine. I hate to say it, but don't expect to get any real serious work done in X.

Addendum- X11 over an internal network with XDMCP is an option. There are not very many 10/100 or 802.11g adapters that are compatible with this device (I don't know of any at all, personally), but on such a small screen XDMCP works remarkably well, especially with the Ratpoison window manager. 

#Misc

The suspend feature seems to be working perfectly. With version 3.1 after a full charge, a MobilePro running NetBSD in suspend mode for 3 hours, followed by an hour of use, followed by 6 hours of suspend mode had 80% battery life remaining. The same device, after undergoing the same test the next day using Windows CE, had 81% battery life remaining. 

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb