Source and Build instructions for RUNT

Bootdisk

To build the bootdisk, you'll need a few thigs.

The most substantial change to my bootdisk from Slackware's bare.i bootdisk is the inclusion of an initial ramdisk. You can just download mine below, but then again if you wanted to just download things, you could have just downloaded the bootdisk from the main page. So here's how I built it.

Build Busybox

If you haven't yet, download Busybox. I used Busybox-0.60.5, but feel free to use any version. If you have a different version, my patch probably won't work.

If you have Busybox-0.60.5 and you want to use my patch, unpack busybox, and ungzip my patch in the Busybox directory. Patch it with:

patch < busybox-0.60.5.runt.diff

If you have a different version or don't wish to use the patch, just edit the following files:

Makefile

Config.h

Compile busybox with

make

Build the initial ramdisk

Make a blank 300K file:

dd if=/dev/zero of=initrd bs=300k count=1

Format it with ext2

mke2fs -F -m0 initrd

Mount the file (this requires loopback block device support in your kernel)

mount -t ext2 -o loop initrd /wherever/you/want

cd to the mounted directory and make the directory structure

mkdir bin dev lib

Copy linuxrc into the root directory. Make sure it is executable. If you are building this to run off of a different drive, adjust the sleep time in this file as necessary.

Make the console device in /dev

mknod dev/console c 5 1

Gunzip the following modules in a temporary directory (not in the initrd image) and copy the ungzipped modules to /lib

Copy the busybox binary to /bin and make links to echo, insmod, lash, and sleep

ln -s busybox echo
ln -s busybox insmod
ln -s busybox lash
ln -s busybox sleep

Unmount the image file and gzip it with maximum compression

gzip -9 initrd

Build the bootdisk

Format a DOS floppy and put syslinux on it

fdformat /dev/fd0
mkdosfs -n RUNT -c /dev/fd0
syslinux /dev/fd0

Copy the following files from Slackware's bare.i bootdisk:

Copy the following files to the disk:

Main Installation

Start with the Slackware Zipslack distribution. Mount an msdos filesystem with -t msdos and unzip zipslack to it. Unmount it and remount it with -t umsdos.

Add any additional packages you like. From n/ I added:

Update any patches available from Slackware. I updated:

Edit networking related files to fit your needs. I edited:

Add probing for network cards to startup scripts.

Remove probing from /sbin/netconfig, or copy mine.

Edit /etc/rc.modules to load the hid and keybdev modules for USB keyboard support. The usbcore and host controller modules should be loaded by the bootdisk.

Set your timezone by making a link from /etc/localtime to your zone. I ran:

ln -sf /usr/share/zoneinfo/US/Eastern etc/localtime

Edit /etc/fstab to meet your needs. I did the following:

Copy runthelp and diskhelp into / so a list of common commands can be displayed to the screen. Create an executable script called runthelp in /usr/bin with the following text:

#!/bin/bash
cat /runthelp

You can make this command any name you like. I used both "runt" and "runthelp".

Make a similar file for diskhelp

To make RUNT bootable directly from USB:

Unmount the drive and remount it again with -t msdos. Zip up the linux directory with -r.

Contact

If you have suggestions of how I could improve RUNT, please email me at runt@mybos.org