Next Previous Contents

6. Rescue firmware

This chapter describes how to restore a NetWinder disk using the `rescue' flash filesystem. This allows a NetWinder to boot completely from the flash memory, and then become an NFS server. You can then use a second computer on your network to connect to the NetWinder and install a new disk image.

Thanks go to Mike Montour (mmontour@iname.com) who first put together the rescue filesystem and has been improving it ever since. San Mehat adapted the filesystem so that it could be stored in flash memory. I've also twiddled with it a bit and released my own version (nettrom-2.0.4a+ralphs). Please note that the startnfs script described below only exists in the 2.0.4a+ralphs version!

6.1 Requirements

First and foremost, this method requires a NetWinder with a rescue filesystem embedded in the firmware. The only sure-fire way to find out is to try and boot the rescue filesystem (see section XX below). If your machine boots as usual off the hard disk, you don't have rescue firmware installed. In that case, either upgrade the flash (see the Firmware-HOWTO at http://netwinder.org/~ralphs/howto/Firmware-HOWTO.html), or use one of the other installation methods.

The second requirement is to have another computer, preferably a unix machine, which can act as an NFS client. The diskimage tarball should be downloaded to this machine. This machine will then mount the NetWinder's hard disk and untar across the network to the NetWinder.

6.2 Preparation

As with the other methods, a partition should be freed on the NetWinder disk (unless you plan to reinstall everything, in which case you can just format the partition, of course). Consult sections 2.2 and 4.3 for more information on how to free a partition.

NetWinder setup

The NetWinder will now be turned into an NFS server and be made to export the (empty) partition so that it can be mounted from the `other' computer. The first step is to reboot the NetWinder and to enter the firmware menu by pressing a key when prompted, `Press any key to abort autoboot'. Configure the NetWinder's IP address and netmask, and enable the rescue filesystem:

        setenv netconfig_eth0 flash
        setenv eth0_ip 192.168.1.1/24
        setenv rdconfig flash
        boot

Be sure to specify the NetWinder's actual IP address and netmask. The welcome message should then be displayed. If you do not see it, or if the system boots off the hard disk like it usually would, then your firmware lacks a rescue filesystem. In this case, you can either change the firmware, or use one of the other installation methods.

Optionally, the mke2fs and e2fsck commands can now be used to format and verify partitions, respectively. The partition table itself cannot be altered, unfortunately, since there is not enough room in the rescue filesystem for the fdisk program to be included.

The last step is to actually export the (empty) partition, and to start the NFS daemons. Mike has set up a convenient script for doing this. For reasons unknown, firmware versions with the rescue suffix don't include this script (perhaps San didn't think it was needed...) There is a corrected version called nettrom-2.0.4a+ralphs which does include the script (and is otherwise identical). The following example shows how to use the script.

        startnfs 192.168.1.254 /dev/hda3

This causes /dev/hda3 to be mounted on /mnt/localdisk and then exported to the host 192.168.1.254. You should of course substitute the IP address of your `other' computer in its place.

If the startnfs command fails, try rebooting and repeating the startnfs process again. Usually it succeeds after a few tries. If you have repeated problems, you can contact me for help (mostly because I'd like to nail down exactly what the conditions are that lead to the problem).

The `other machine'

The other computer will now mount the NetWinder's exported filesystem. I suggest creating a mountpoint /mnt/netwinder for this purpose. Substitute the NetWinder's actual IP address into the following mount command:

        mkdir /mnt/netwinder
        mount 192.168.1.1:/mnt/localdisk /mnt/netwinder

If this fails, try pinging the NetWinder to make sure the network connection is working. If ping works, but the mount fails, go back to the NetWinder and ensure that the NFS service started without errors. On some systems, you might have to add the flag -t nfs to the mount command.

To verify that things are working, try doing ls /mnt/netwinder. This should show an empty filesystem. The df command should show that /mnt/netwinder has sufficient space to hold the uncompressed disk image (about 650 MB for build #12).

6.3 Installing the image

The image can be untarred directly to the NFS disk image now. Since the uncompressed data must be transfered over the network, it could take quite some time. Be patient... To monitor progress, you can switch to another terminal and use the df command.

        cd /mnt/netwinder
        tar zxpf /path/to/YourImage.tar.gz

You will have to supply the full pathname for YourImage. The image could of course be located on another NFS (or otherwise) mounted volume, if you wanted to.

6.4 Post installation

Be sure to fixup the etc/fstab file in the newly installed image before shutting down, and adjust the firmware parameters upon reboot. Please refer to sections 2.4 and 2.5 for the details on how to do this. Note in the examples in section 2.x assume your new image to be located on /dev/hda3; if you've used a different partition, you must adjust the examples to suit.


Next Previous Contents