Article View: pl.comp.os.freebsd
Article #288ANNOUNCE: PicoBSD scripts are available
From: Andrzej Bialecki
Date: Thu, 22 Jan 1998 10:48
Date: Thu, 22 Jan 1998 10:48
122 lines
6252 bytes
6252 bytes
Hi!
Today, after making some corrections and adding a README.scripts, I've
uploaded to:
ftp://ftp.freebsd.org/pub/FreeBSD/incoming/picoBSD/pbsd-s02.tgz
now fully working set of scripts which allow you to build your own
one-floppy FreeBSD without much hassle. Please read the file
README.scripts for description of initial requirements and the whole
process.
BTW. with the default setup as presented in these scripts, the floppy is
almost read-only (except very early during bootup).
I attached the README at the end of this message.
Have fun!
Andrzej Bialecki
---------------------+---------------------------------------------------------
abial@warman.org.pl | if(halt_per_mth > 0) { fetch("http://www.freebsd.org") }
Research & Academic | "Be open-minded, but don't let your brains to fall out."
Network in Poland | All of the above (and more) is just my personal opinion.
---------------------+---------------------------------------------------------
1998.01.22, Warsaw, Poland
How to build your own version
of PicoBSD?
0. Get the file pbsd-s02.tgz. It contains the scripts you'll need. Also,
I assume you run quite -current system with full sources installed.
Unpack the archive in some place with at least 5MB free space.
1. Edit the file scripts/PICOBSD to suit your needs. You'll probably find
there are some drivers there you don't need, and the ones you need are
missing. I also recommend to adjust the ISA devices parameters to
match the ones of your hardware - there's currently no way to
automatically store the changes from userconfig (next version will
do it :-).
2. Edit the basic parameters which are set at the beginning of the
'scripts/build' script, such as MFS size (can be any rational number
in kB), and the language (two are available at this time - Polish and
English). Also, I assume you will use 1.44MB floppy.
3. There are two directories which contain some sources and config
files:
ash/ a Shell - ancestor of venerable /bin/sh
mfs.tree/ contains the MFS directory structure
floppy.tree/ contains the startup floppy hierarchy
lang/ contains language-dependent files
scripts/ scripts which do the actual build
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 floppy -
they are reconstructed from /etc/master.passwd on each startup (and
then put on MFS with the rest of /etc).
NOTE2: thanks to the above, the floppy is needed only during startup,
and then only if you want to synchronize (possiblly 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.
4. Edit the set of installed programs.
* There are two subdirectories, crunch1 and crunch2.
Why two? Because if we made one BIG crunch, it would take
a lot more memory when executing. This is a tradeoff between
reduced RAM consumption and increased size of two crunch
archives. If you're sure you have a lot of RAM (like 32MB),
you can glue them together and thus save ca. 200kB off of
the target floppy.
* There is some (non-conclusive to be sure) rule to estimate the
RAM requirements: the kernel itself takes ca. 4.1MB and the MFS
takes its own size (1.44MB by default) of wired down
(non-pageable) memory. Then, every program started
will initially take as much as the size of gzip'ped crunch
archive (e.g. 400kB) PLUS size of gunzip'ped archive (e.g.
800kB). That's why I split the crunch in two! After initial
unpacking is done these pages are freed, leaving only the real
size of executing process.
* There are some patches included in these directories, which
are applied during build process to some of the Makefiles in
your /usr/src. These patches attempt to decrease the size of
some programs by cutting off rarely/unlikely used parts. The
patches are reversed when you do a 'make clean' (or
scripts/clean for that matter).
* In order to have a functioning system you MUST install at
least /stand/init, or /stand/oinit, or /stand/sysinstall. Of
course these can be your own programs... But if you install
the stock /sbin/init, you also have to install some others,
like sh, getty, login etc...
5. 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').
6. You'll need at least 9MB of free disk space, and free /mnt directory.
7. cd scripts/ and fire off the './build' script. If all is well, after
some time (like 10-30m) you end up with a 'picobsd.flp' file in this
directory.
8. Transfer this file to the floppy:
dd if=picobsd.flp of=/dev/rfd0
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.
Andrzej Bialecki
<abial@nask.pl>
Technical Details
Message-ID:
<Pine.NEB.3.95.980122113915.14031B-100000@korin.warman.org.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!korin.warman.org.pl!abialShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!korin.warman.org.pl!abial From: Andrzej Bialecki <abial@korin.warman.org.pl> Newsgroups: pl.comp.os.freebsd,comp.unix.bsd.freebsd.misc Subject: ANNOUNCE: PicoBSD scripts are available Date: Thu, 22 Jan 1998 11:48:09 +0100 Organization: NewsServer at NASK N.O.C. Lines: 123 Message-ID: <Pine.NEB.3.95.980122113915.14031B-100000@korin.warman.org.pl> NNTP-Posting-Host: korin.nask.waw.pl Mime-Version: 1.0 To: freebsd-hackers@FreeBSD.ORG cc: freebsd@pap.waw.pl In-Reply-To: <199801220712.IAA00131@labinfo.iet.unipi.it> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit