bash# cd /usr/src/linux bash# make menuconfig
Be sure to configure support for the following:
386 processor
Floppy disk
RAM disk
Second extended (ext2) filesystem
Virtual console
Audio hardware
CD-ROM hardware
ISO-9660 and Joliet filesystems
bash# make dep bash# make clean bash# make bzImage
Place the boot disk in drive fd0
bash# mount /dev/fd0 /mnt bash# cp /usr/src/linux/arch/i386/boot/bzImage /mnt/boot/vmlinuz
bash# mknod -m640 ~/staging/dev/hdc b 22 0 bash# mknod -m640 ~/staging/dev/hdd b 22 64
Optionally create additional IDE devices.
bash# mknod -m 640 ~/staging/dev/ram1 b 1 1 bash# mknod -m 640 ~/staging/dev/ram2 b 1 2 bash# mknod -m 640 ~/staging/dev/ram3 b 1 3 bash# mknod -m 640 ~/staging/dev/ram4 b 1 4 bash# mknod -m 640 ~/staging/dev/ram5 b 1 5 bash# mknod -m 640 ~/staging/dev/ram6 b 1 6 bash# mknod -m 640 ~/staging/dev/ram7 b 1 7
bash# cd /usr/src/gzip-1.2.4a bash# export CC="gcc -mcpu=i386" bash# ./configure --host=i386-pc-linux-gnu bash# make bash# strip gzip bash# cp gzip ~/staging/bin bash# ln -s gzip ~/staging/bin/gunzip
Don't forget to verify library requirements, check the ownership and check permissions on the gzip binary.
Use a text editor to create the following script and save it as
~/staging/etc/init.d/usr_image
#!/bin/sh # # usr_image - load compressed images from floppy into ramdisk and # mount on /usr. # echo -n "Is there a compressed diskette to load for /usr [y/N]? " read REPLY if [ "$REPLY" = "y" ] || [ "$REPLY" = "Y" ]; then echo -n "Please insert the /usr floppy into fd0 and press <ENTER>." read REPLY echo "Clearing /dev/ram1." dd if=/dev/zero of=/dev/ram1 bs=1k count=4096 echo "Loading compressed image from /dev/fd0 into /dev/ram1..." (dd if=/dev/fd0 bs=1k | gunzip -cq) >/dev/ram1 2>/dev/null fsck -fp /dev/ram1 if [ $? -gt 1 ]; then echo "Filesystem errors on /dev/ram1! Manual intervention required." else echo "Mounting /usr." mount /dev/ram1 /usr fi fi # # end of usr_image
Configure the script to run right after root is mounted.
bash# ln -s ../init.d/usr_image ~/staging/etc/rcS.d/S21usr_image
bash# cd / bash# dd if=/dev/zero of=/dev/ram7 bs=1k count=4096 bash# mke2fs -m0 /dev/ram7 bash# mount /dev/ram7 /mnt bash# cp -dpR ~/staging/* /mnt bash# umount /dev/ram7 bash# dd if=/dev/ram7 of=~/phase8-image bs=1k bash# gzip -9 ~/phase8-image
Insert the diskette labeled "root disk" into drive fd0.
bash# dd if=~/phase8-image.gz of=/dev/fd0 bs=1k
The compressed /usr diskette will be created in using the same process that is used to create the compressed root disk. We will copy files to a staging area, copy the staging area to ramdisk, compress the ramdisk and write it to diskette.
bash# mkdir ~/usr-staging bash# cd ~/usr-staging bash# mkdir bin lib bash# mkdir -p share/terminfo/l
Download the latest version of mp3blaster source code from its home at http://www.stack.nl/~brama/mp3blaster/.
bash# cd ~/usr/src/mp3blaster-3.2.0 bash# ./configure bash# make bash# cp src/mp3blaster ~/usr-staging/bin
Use ldd to find out which libraries are needed for mp3blaster.
The following is an example from the author's development system. It is possible that different systems may yield slightly different results in terms of library requirements.
bash# cd ~/usr-staging/lib bash# ldd ~/usr-staging/bin/mp3blaster bash# cp /usr/lib/ncurses.so.5.0 . bash# cp /usr/lib/stdc++.so.3 . bash# cp /lib/libm.so.6 . bash# cp /usr/lib/libgcc_s.so.1 . bash# cd ~/usr-staging/share/terminfo/l bash# cp /usr/share/terminfo/l/linux .
bash# cd / bash# dd if=/dev/zero of=/dev/ram7 bs=1k count=4096 bash# mke2fs -m0 /dev/ram7 bash# mount /dev/ram7 /mnt bash# cp -dpR ~/usr-staging/* /mnt bash# umount /dev/ram7 bash# dd if=/dev/ram7 of=~/mp3blaster-image bs=1k bash# gzip -9 ~/mp3blaster-image
Insert the diskette labeled "mp3blaster" into drive fd0.
bash# dd if=~/mp3blaster-image.gz of=/dev/fd0 bs=1k
Go to the Internet site http://www.paul.sladen.org and download the mp3 file of Linus Torvalds pronouncing "Linux." The direct link is: http://www.paul.sladen.org/pronunciation/torvalds-says-linux.mp3. Create a Second Extended (ext2) filesystem on a floppy and copy the mp3 file onto the diskette.