How to build your own version of PicoBSD 0.31?

  1. Get the file picobsd031.pax.gz. It contains the scripts you'll need. You'd need to have a full 2.2.5-RELEASE system with full sources installed.
  2. Unpack the archive in some place with at least 5MB free space.
     

  3. Contrary to previous versions, you shouldn't need to edit any of the scripts. Just
  4. cd scripts
    and run the
    ./build
    script. Select target language, size of MFS and one of pre-canned setups (personal dialup, dialin server or router-like). Details of each setup are contained in dial/, isp/ and net/ directories respectively. You should at least check ${TYPE}/config/PICOBSD file to make sure it contains drivers you want.

    I also recommend to adjust the ISA devices parameters to match the ones of your hardware - this version of PicoBSD can save the changes from userconfig, but this way it will produce smaller /kernel.config file.
     

  5. I assume you will use 1.44MB floppy. If not, please edit the file scripts/stage3.
  1. There are several directories which contain some sources and config files:
  2.         ash/                    a Shell - ancestor of venerable /bin/sh
            chuck/                  a friendly daemon :-)
            daemon/                 a tool to "daemonize" a text file :-))
            dial/                   config files for dialup setup
                    conf/           kernel config file
                    crunch1/        crunch of system programs
                    mfs.tree/       contains the MFS directory structure
                    lang/           contains language-dependent files
                    floppy.tree/    contains the startup floppy hierarchy
    
            isp/                    config files for dialin server setup
                    ...             (as above)
            net/                    config files for router-like setup
                    ...             (as above)
            scripts/                scripts which do the actual build
                                    You MUST cd here in order to build the floppy
            tools/                  additional tools - some of them needed
                                    during build, some of them are special to
                                    PicoBSD
    NOTE: the mfs.tree/etc directory is, so to speak, ephemeric. It contains enough config files to suck in the real /etc contents from the floppy (floppy.tree/etc) right after bootup. This setup is a little weird, but it allows you to edit the configuration without rebuilding the whole floppy (because you can't change the MFS permanently, can you? :-))

    Also, there are no /etc/passwd nor /etc/pwd.db files on the "dial" floppy - in case of other types, they are reconstructed from /etc/master.passwd on each startup (and then put on MFS with the rest of /etc). In case of "dial" type floppy, you don't need them at all.

    NOTE2: thanks to the above, the floppy is needed only during startup, and then only if you want to synchronize (possibly changed) MFS /etc with the one on the floppy. It means that you can pull off the floppy from the drive as soon as login: prompt appears. In other words, it is almost equal to read-only floppy. Do not write protect the floppy, however, as kernel configuration is written to the floppy during the boot process.
     

  3. Edit the set of installed programs.
  1. Make sure that the system you're running has /dev/[r]vn0* entries in /dev directory (if not, you can make them with 'MAKEDEV vn0'), AND that your running kernel has built-in vnode driver (there should be a line in your kernel config file stating 'pseudo-device vn').
  2. You'll need at least 9MB of free disk space, and free /mnt directory.
  3. cd scripts/ and fire off the './build' script. Select the build parameters or 'n' for 'no change'. If all is well, after some time (like 10-30m) you end up with a 'picobsd.flp' file in this directory.
  4. WARNING: make sure you don't have stale .depend files around!!! You'll encounter many strange errors in that case.

    If there were any errors, please execute each script by hand and try to find what causes this error. Most often this will be one of the following reasons:

    You can also remove 2>&1 redirections from Makefiles to see the stderr.
  5. Transfer this file to the floppy:
  6.                 dd if=picobsd.flp of=/dev/rfd0
    (The 'build' script asks you if you want to do this.)
That's all. You're welcome to change and improve these scripts. If you stumble upon something which looks like a good idea to have it here, let me know.

If, for some reason, the scripts don't work for you at all, also let me know.


For those of you who really want to know what's going on behind the scene, and can't quite deduce it from scripts themselves, here's short description of the build process:

Last modified: Fri May 22 19:10:15 MYT 1998