3.3. Additional Files

Your image filesystem should be starting to look much better. Now you have libraries, the basic layout, an init system (you did ask Busybox to build one, right?), and a bunch of standard UNIX utilities. There are still a few small things you need to tie everything together.

3.3.1. ${IMAGE}/dev

With a 2.4.x kernel in the KuroBox and not using devfs we need to create all the necessary device nodes for the system in the image file itself. The easiest way to do this is to simply copy the ${IMAGE}/dev directory from the Kuro image. Note that you have to be root to create (or copy) device nodes.

Since I suggested enabling the use of devpts above in Busybox we also have to create the directory ${IMAGE}/dev/pts.

3.3.2. More Directories

The following additional directories will need to be created:

3.3.3. ${IMAGE}/etc Files

Create the following files with the specified contents:

Note

The blank for hosts is not a mistake. I'm not sure if things have changed, but I remember there was a time when Busybox wouldn't work right if that file wasn't present, even though it might be empty.

3.3.4. Init Script

By default the Busybox init mechanism will look for an init script at /etc/init.d/rcS. Use this file to setup everything that needs to be setup and to run any daemons your system needs to run.

Here is what mine looks like (of course change the XXX and YYY in the eth0 IP address to match your needs):

#! /bin/sh
# mount filesystems and turn on swap
/bin/mount -a
/sbin/swapon -a
# networking
/sbin/ifconfig lo 127.0.0.1 up
/sbin/ifconfig eth0 192.168.XXX.YYY up
# telnet server
/sbin/telnetd &
# kuro voodoo
/sbin/ppc_uartd
# hdd rw
/bin/mount -o remount -o rw /dev/hda1
        

Warning

Make extra extra sure that you chmod +x this file!!

3.3.5. Kuro Voodoo

Due to the relationship between the Kuro and its ATMEL AVR chip the following modifications should be made: