head 1.11; access; symbols RELENG_4_11_0_RELEASE:1.7.2.1 RELENG_4_11:1.7.2.1.0.18 RELENG_4_11_BP:1.7.2.1 RELENG_4_10_0_RELEASE:1.7.2.1 RELENG_4_10:1.7.2.1.0.16 RELENG_4_10_BP:1.7.2.1 RELENG_5_2_1_RELEASE:1.10 RELENG_5_2_0_RELEASE:1.10 RELENG_5_2:1.10.0.6 RELENG_5_2_BP:1.10 RELENG_4_9_0_RELEASE:1.7.2.1 RELENG_4_9:1.7.2.1.0.14 RELENG_4_9_BP:1.7.2.1 RELENG_5_1_0_RELEASE:1.10 RELENG_5_1:1.10.0.4 RELENG_5_1_BP:1.10 RELENG_4_8_0_RELEASE:1.7.2.1 RELENG_4_8:1.7.2.1.0.12 RELENG_4_8_BP:1.7.2.1 RELENG_5_0_0_RELEASE:1.10 RELENG_5_0:1.10.0.2 RELENG_5_0_BP:1.10 RELENG_4_7_0_RELEASE:1.7.2.1 RELENG_4_7:1.7.2.1.0.10 RELENG_4_7_BP:1.7.2.1 RELENG_4_6_2_RELEASE:1.7.2.1 RELENG_4_6_1_RELEASE:1.7.2.1 RELENG_4_6_0_RELEASE:1.7.2.1 RELENG_4_6:1.7.2.1.0.8 RELENG_4_6_BP:1.7.2.1 RELENG_4_5_0_RELEASE:1.7.2.1 RELENG_4_5:1.7.2.1.0.6 RELENG_4_5_BP:1.7.2.1 RELENG_4_4_0_RELEASE:1.7.2.1 RELENG_4_4:1.7.2.1.0.4 RELENG_4_4_BP:1.7.2.1 RELENG_4_3_0_RELEASE:1.7.2.1 RELENG_4_3:1.7.2.1.0.2 RELENG_4_3_BP:1.7.2.1 RELENG_4_2_0_RELEASE:1.7.2.1 RELENG_4_1_1_RELEASE:1.7 PRE_SMPNG:1.8 RELENG_4_1_0_RELEASE:1.7 RELENG_3_5_0_RELEASE:1.4.2.2 RELENG_4_0_0_RELEASE:1.7 RELENG_4:1.7.0.2 RELENG_4_BP:1.7 RELENG_3_4_0_RELEASE:1.4.2.2 RELENG_3_3_0_RELEASE:1.4.2.2 RELENG_3_2_PAO:1.4.2.1.0.2 RELENG_3_2_PAO_BP:1.4.2.1 RELENG_3_2_0_RELEASE:1.4.2.1 RELENG_3_1_0_RELEASE:1.4 RELENG_3:1.4.0.2 RELENG_3_BP:1.4 RELENG_3_0_0_RELEASE:1.2; locks; strict; comment @# @; 1.11 date 2004.03.24.08.01.14; author luigi; state dead; branches; next 1.10; 1.10 date 2002.09.24.13.34.36; author markm; state Exp; branches; next 1.9; 1.9 date 2001.05.01.10.52.50; author schweikh; state Exp; branches; next 1.8; 1.8 date 2000.07.18.15.20.55; author ben; state Exp; branches; next 1.7; 1.7 date 99.08.28.01.33.25; author peter; state Exp; branches 1.7.2.1; next 1.6; 1.6 date 99.08.22.21.43.15; author dwhite; state Exp; branches; next 1.5; 1.5 date 99.06.14.15.37.28; author roger; state Exp; branches; next 1.4; 1.4 date 98.11.01.20.01.40; author abial; state Exp; branches 1.4.2.1; next 1.3; 1.3 date 98.10.28.16.16.31; author abial; state Exp; branches; next 1.2; 1.2 date 98.09.29.12.23.58; author abial; state Exp; branches; next 1.1; 1.1 date 98.09.26.17.23.01; author abial; state Exp; branches; next ; 1.7.2.1 date 2000.11.07.23.36.45; author joe; state Exp; branches; next 1.7.2.2; 1.7.2.2 date 2012.11.17.07.24.22; author svnexp; state Exp; branches; next ; 1.4.2.1 date 99.05.07.10.02.49; author abial; state Exp; branches; next 1.4.2.2; 1.4.2.2 date 99.08.29.15.52.45; author peter; state Exp; branches; next ; desc @@ 1.11 log @remove stale documentation @ text @ PicoBSD Development Kit

How to build your own version of PicoBSD?

  1. Beginning with version 0.4, PicoBSD sources are maintained as part of official FreeBSD CVS repository, so you can find them in src/release/picobsd.

  2. Become root. You'll need to mount and unmount various volumes.
  3. Make sure you are running kernel with support for md(4) devices. If you run plain GENERIC (just as it was installed on your system), you'll need to recompile you kernel and reinstall it. See the appropriate entries in The Handbook (/usr/share/doc/handbook).
  4. Change working directory (cd build) and run the ./picobsd 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/, router/, isp/ and net/ directories respectively. You should at least check ${TYPE}/config/PICOBSD file to make sure it contains the drivers you want.

    You can also choose a special type called 'custom'. You'll need to supply the full path to your own custom config tree constructed exactly like one of the standard config directories. Also, you'll probably want to adjust the number of inodes on MFS - see the stage1 script and look for INODES=.

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

  5. I assume you will use 1.44MB floppy. If not, please edit the file build/stage3.
  6. There are several directories which contain some sources and config files:
    	build/			main build directory; you MUST cd here!
    	dial/			config files for dialup setup
    		conf/		kernel config file
    		crunch1/	crunch of system programs
    		mfs.tree/	contains the MFS configuration
    		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)
    	tinyware/		collection of small system utilities
    	tools/			additional tools them needed during build
    

    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.

    NOTE: 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.

  7. Edit the set of installed programs.
  8. Make sure that the system you're running has /dev/md0* entries in /dev directory (if not, and you dont have DEVFS running, you can make them with 'MAKEDEV md0'), AND that your running kernel has built-in memory file device (there should be a line in your kernel config file stating 'device md').
  9. You'll need at least 9MB of free disk space, and free /mnt directory.
  10. Do a cd build/ and fire off the ./picobsd 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.bin' file in this directory.

    WARNING: make sure you don't have stale .depend files around!!! You may encounter many strange errors during build process 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.
  11. Transfer this file to the floppy:
    		dd if=picobsd.bin 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.


Last modified: @@DATE@@

<abial@@freebsd.org>

@ 1.10 log @Fix some bitrotted documentation. @ text @d2 1 a2 1 @ 1.9 log @pseudo-device -> device in kernel config. Approved by: joerg, dd @ text @d2 1 a2 1 d21 1 a21 1 Make sure you are running kernel with support for vn(4) devices. d27 1 a27 1 ./build script. Select target language, size of MFS and d110 5 a114 4
  • 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 'device vn xxx'). d118 1 a118 1
  • Do a cd build/ and fire off the ./build d166 1 a166 1 root, and that you run kernel with support for vn(4) @ 1.8 log @Remove
    tags from with section. PR: 20002 Submitted by: James Johnson <bonk1138@@msn.com> Approved by: patrick (from freebsd-small mailing list) @ text @d2 1 a2 1 <! $FreeBSD: src/release/picobsd/doc/src/how2build.html,v 1.7 1999/08/28 01:33:25 peter Exp $ > d113 1 a113 1 line in your kernel config file stating 'pseudo-device vn xxx'). @ 1.7 log @$Id$ -> $FreeBSD$ @ text @d2 1 a2 1 <! $FreeBSD$ > d4 1 a4 1 <title><center>PicoBSD Development Kit</center> @ 1.7.2.1 log @MFC: Sync with -current. Approved by: jkh @ text @d2 1 a2 1 d4 1 a4 1 PicoBSD Development Kit @ 1.7.2.2 log @Switch importer @ text @d2 1 a2 1 @ 1.6 log @Major PicoBSD update by luigi with some debugging help from myself. . Now builds on -STABLE (-CURRENT is broken due to bugs) . etc directory contents centralized instead of in each type directory (can exclude & override as desired) . Removed extraneous language files (lang files for rc really necessary?) . dialog-based build tool with support for custom floppy builds . MFS image loads as a mfs_root module instead of compiled into kernel THIS IS BROKEN ON CURRENT. I'll MFC to -STABLE immediately following. luigi tells me I have an OK from jkh on the MFC. Submitted by: luigi @ text @d2 1 a2 1 @ 1.5 log @Update to PicoBSD 0.44 from RELENG_3 @ text @@ 1.4 log @Change my e-mail address. @ text @d2 1 a2 1 d13 12 a24 15 Get the file picobsd.tgz. It contains the scripts you'll need. Also, I assume you run quite -current system with full sources installed.

    NOTE1: beginning with version 0.4, PicoBSD sources are maintained as part of official FreeBSD CVS repository, so if you have recent source tree you can find them in /src/release/picobsd.

    NOTE2: there were some mysterious interactions between vn(4) driver and 'disklabel auto' in versions earlier than 3.0. There is another set of scripts prepared by Dinesh Nair which allows to build PicoBSD floppies on a earlier systems.

    Unpack the archive into your src/release/picobsd. You'll need at least 5MB of free space.

    d113 1 a113 1 line in your kernel config file stating 'pseudo-device vn'). d163 6 @ 1.4.2.1 log @Assorted fixes to PicoBSD in preparation for 3.2-RELEASE: * use system's kget instead of TinyWare version * use /bin/sh instead of Ash - it was old, and not much smaller * remove unused MIB files * check for kzip stubs, and build them if necessary * slightly update the docs * use newer /boot/ contents * use my own greeting menu. * fix a couple of bugs in scripts * bump revision number to 0.44 Submitted by: me && various people from freebsd-small @ text @d2 1 a2 1 d13 15 a27 12

    Beginning with version 0.4, PicoBSD sources are maintained as part of official FreeBSD CVS repository, so you can find them in src/release/picobsd.

  • Become root. You'll need to mount and unmount various volumes.
  • Make sure you are running kernel with support for vn(4) devices. If you run plain GENERIC (just as it was installed on your system), you'll need to recompile you kernel and reinstall it. See the appropriate entries in The Handbook (/usr/share/doc/handbook). d116 1 a116 1 line in your kernel config file stating 'pseudo-device vn xxx'). a165 6
  • the build process displays "Preparing MFS" and then silently stops. In this case check if you're running it as root, and that you run kernel with support for vn(4) devices. Also, you can add 'set -x' at hte beginning of the scripts to see exactly where they stop.
  • @ 1.4.2.2 log @$Id$ -> $FreeBSD$ @ text @d2 1 a2 1 @ 1.3 log @Added TODO list. Automate changing of the "Last updated" field. @ text @d2 1 a2 1 d191 1 a191 1

    <abial@@nask.pl>

    @ 1.2 log @Small update: you need to unpack the stand-alone picobsd tarball into src/release/picobsd, otherwise it won't work. Pointed out by: Randal Masutani @ text @d2 1 a2 1 d187 5 a191 1 <abial@@nask.pl> @ 1.1 log @Move the documents to src/ so that using new version number is easier. @ text @d2 1 a2 1 d26 2 a27 1

    Unpack the archive in some place with at least 5MB free space.

    @