summaryrefslogtreecommitdiff
path: root/release/src/router/busybox/bootfloppy/bootfloppy.txt
diff options
context:
space:
mode:
Diffstat (limited to 'release/src/router/busybox/bootfloppy/bootfloppy.txt')
-rw-r--r--release/src/router/busybox/bootfloppy/bootfloppy.txt185
1 files changed, 0 insertions, 185 deletions
diff --git a/release/src/router/busybox/bootfloppy/bootfloppy.txt b/release/src/router/busybox/bootfloppy/bootfloppy.txt
deleted file mode 100644
index 575c93fc..00000000
--- a/release/src/router/busybox/bootfloppy/bootfloppy.txt
+++ /dev/null
@@ -1,185 +0,0 @@
-Building a Busybox Boot Floppy
-==============================
-
-This document describes how to buid a boot floppy using the following
-components:
-
- - Linux Kernel (http://www.kernel.org)
- - uClibc: C library (http://cvs.uclinux.org/uClibc.html)
- - Busybox: Unix utilities (http://busybox.lineo.com)
- - Syslinux: bootloader (http://syslinux.zytor.com)
-
-It is based heavily on a paper presented by Erik Andersen at the 2001 Embedded
-Systems Conference.
-
-
-
-Building The Software Components
---------------------------------
-
-Detailed instructions on how to build Busybox, uClibc, or a working Linux
-kernel are beyond the scope of this document. The following guidelines will
-help though:
-
- - Stock Busybox from CVS or a tarball will work with no modifications to
- any files. Just extract and go.
- - Ditto uClibc.
- - Your Linux kernel must include support for initrd or else the floppy
- won't be able to mount it's root file system.
-
-If you require further information on building Busybox uClibc or Linux, please
-refer to the web pages and documentation for those individual programs.
-
-
-
-Making a Root File System
--------------------------
-
-The following steps will create a root file system.
-
- - Create an empty file that you can format as a filesystem:
-
- dd if=/dev/zero of=rootfs bs=1k count=4000
-
- - Set up the rootfs file we just created to be used as a loop device (may not
- be necessary)
-
- losetup /dev/loop0 rootfs
-
- - Format the rootfs file with a filesystem:
-
- mkfs.ext2 -F -i 2000 rootfs
-
- - Mount the file on a mountpoint so we can place files in it:
-
- mkdir loop
- mount -o loop rootfs loop/
-
- (you will probably need to be root to do this)
-
- - Copy on the C library, the dynamic linking library, and other necessary
- libraries. For this example, we copy the following files from the uClibc
- tree:
-
- mkdir loop/lib
- (chdir to uClibc directory)
- cp -a libc.so* uClibc*.so \
- ld.so-1/d-link/ld-linux-uclibc.so* \
- ld.so-1/libdl/libdl.so* \
- crypt/libcrypt.so* \
- (path to)loop/lib
-
- - Install the Busybox binary and accompanying symlinks:
-
- (chdir to busybox directory)
- make PREFIX=(path to)loop/ install
-
- - Make device files in /dev:
-
- This can be done by running the 'mkdevs.sh' script. If you want the gory
- details, you can read the script.
-
- - Make necessary files in /etc:
-
- For this, just cp -a the etc/ directory onto rootfs. Again, if you want
- all the details, you can just look at the files in the dir.
-
- - Run ldconfig so busybox and other binaries can have access to the libraries
- that they need:
-
- (path to)uClibc/ld.so-1/util/ldconfig -r loop/
-
- - Unmount the rootfs from the mountpoint:
-
- umount loop
-
- - Compress it:
-
- gzip -9 rootfs
-
-
-Making a SYSLINUX boot floppy
------------------------------
-
-The following steps will create the boot floppy.
-
-Note: You will need to have the mtools package installed beforehand.
-
- - Insert a floppy in the drive and format it with an MSDOS filesystem:
-
- mformat a:
-
- (if the system doesn't know what device 'a:' is, look at /etc/mtools.conf)
-
- - Run syslinux on the floppy:
-
- syslinux -s /dev/fd0
-
- (the -s stands for "safe, slow, and stupid" and should work better with
- buggy BIOSes; it can be omitted)
-
- - Put on a syslinux.cfg file:
-
- mcopy syslinux.cfg a:
-
- (more on syslinux.cfg below)
-
- - Copy the root file system you made onto the MSDOS formatted floppy
-
- mcopy rootfs.gz a:
-
- - Build a linux kernel and copy it onto the disk with the filename 'linux'
-
- mcopy bzImage a:linux
-
-
-Sample syslinux.cfg
-~~~~~~~~~~~~~~~~~~~
-
-The following simple syslinux.cfg file should work. You can tweak it if you
-like.
-
-----begin-syslinux.cfg---------------
-DEFAULT linux
-APPEND initrd=rootfs.gz root=/dev/ram0
-TIMEOUT 10
-PROMPT 1
-----end-syslinux.cfg---------------
-
-Some changes you could make to syslinux.cfg:
-
- - This value is the number seconds it will wait before booting. You can set
- the timeout to 0 (or omit) to boot instantly, or you can set it as high as
- 10 to wait awhile.
-
- - PROMPT can be set to 0 to disable the 'boot:' prompt.
-
- - you can add this line to display the contents of a file as a welcome
- message:
-
- DISPLAY display.txt
-
-
-
-Additional Resources
---------------------
-
-Other useful information on making a Linux bootfloppy is available at the
-following URLs:
-
-http://www.linuxdoc.org/HOWTO/Bootdisk-HOWTO/index.html
-http://www.linux-embedded.com/howto/Embedded-Linux-Howto.html
-http://linux-embedded.org/howto/LFS-HOWTO.html
-http://linux-embedded.org/pmhowto.html
-http://recycle.lbl.gov/~ldoolitt/embedded/ (Larry Doolittle's stuff)
-
-
-
-Possible TODOs
---------------
-
-The following features that we might want to add later:
-
- - support for additional filesystems besides ext2, i.e. minix
- - different libc, static vs dynamic loading
- - maybe using an alternate bootloader