TuxScreen on SourceForge TuxScreen CVS search the Wiki
Browsing -> Wiki -> Main -> [DebianOverNFS]
edit, info, topics, orphans, hubs and nodes, or recent changes in the Wiki create a new user or login

EricJorgensen has recently set up one of his phones to pivot_root to an NFS root image of debian-arm. Here's some basic instructions:

You will, obviously, be needing the tuxscreen root image, a nic that works with your tuxscreen, and an nfs server on another system somewhere. These instructions assume that the other system is linux.

For my purposes, I used buildroot-tux, a Trendware TE100-PC16R, and desktop running RedHat 6.2.

First, grab the base tarball for debian/arm from your favorite mirror. You probably want to use Potato, as Woody is very unstable for ARM. You're looking for base2_2.tgz from the disks-arm directory for potato.

Become root and untar this somewhere with "tar xvzpf" - p is there to preserve permissions. Wherever you like, as long as you can export nfs from there without permissions issues. /home/potato-arm or /tftpboot/tuxscreenroot might be good places.

Delete sbin/unconfiured.sh from the debian-arm directory tree, or else when you boot up it will ask you for a floppy disk.

mkdir mnt/initrd in the debian-arm directory. This is where the jffs2 root image will pivot to. If you don't have a mount point for the old root fs to pivot to, pivot_root will fail with an extremely vague error.

create a minimalist linuxrc script in the root of the debian-arm directory and give it execute permissions. Mine looks like this:


exec /sbin/init

There are probably other ways you can handle this by editing linuxrc on the tuxscreen, but i didn't feel like experimenting with them when a two line shell script handles it nicely.

Export the debian-arm directory to your tuxscreen in the usual way, the line should look something like this:

/home/potato-arm mojojojo(rw,no_root_squash)

Note that in some nfs server implementations there seems to be a quirk (feature?) that if you export to an ip address, and this ip address doesn't have in-addr.arpa resolution, and also isn't listed in /etc/hosts, it won't work. So for best results, unless you have a dns server taking care of things, export to a hostname and edit /etc/hosts to match.

Then, edit the linuxrc script on the tuxscreen under "# do we have an ethernet card?" - you should know how to do this, just edit the ifconfig and route lines to match your network configuration, and the mount line to match your nfs server. I didn't bet on having name resolution at this point, and used ip addresses rather than hostnames.

Now it will basically boot up, but a few things are missing. I'm sure i won't find them all, but it won't be hard to get everything up and running.

etc/fstab is missing. You'll want to create at least a minimalist fstab, like this:

none                    /proc                   proc    defaults        0 0
none                    /dev/pts                devpts  gid=5,mode=620  0 0

more than that is probably not needed for an fstab on this setup.

etc/hostname is missing. "echo foo >/etc/hostname"

good luck!

SourceForge Content of these pages are owned and copyrighted by the poster. SourceForge