next up previous
Next: FTP site Up: Making a Product Previous: Newfs

Installer

Each port can decide how it wants to distribute its binaries, but it is easiest to use the scripts that are supplied by the NetBSD group. These scripts generate a set of tar files that can be selectively downloaded and installed to set up a working tree. For example, only bin.tar, sbin.tar, and the kernel need to be installed to see if the system will boot, since init is in /sbin and the shell is in /bin. This is especially useful for users who are not sure if the port will work on their configuration.

Two alternatives are commonly used to install tar files. If a floppy disk driver is written and the kernel can fit on a single disk, then the user can boot from a diskette, mount a memory filesystem (RAM-disk), and untar the files from a set of floppy disks.

If no floppy disk driver is available, then a program running in the native operating system will have to write directly to the BSD partition. This is a lot of work, since basically the whole UFS system will have to be ported to the native operating system. (UFS is Berkeley's fast file system, now being replaced with FFS, Berkeley's enhanced fast file system.) Once this is done, though, a fancy install utility can be written that allows copying files in and out of the BSD filesystem, untarring, uncompressing, and other minor operations.

A third choice, if the native operating system allows it and if there is a filesystem in BSD to read the native operating system's partition, is to have the installer load and run a kernel right from the native partition. This is clumsy and, to my knowledge, has not been tried, but would allow the installer to use the UNIX tools directly without having a floppy disk driver or having to port UFS. (This approach might get into a chicken-and-egg problem of the kernel not knowing how to mount the native partition until it has a read a file from it.)



next up previous
Next: FTP site Up: Making a Product Previous: Newfs



Lawrence Kesteloot
Fri Jan 20 16:29:52 EST 1995