SIMPL on a floppy: Embedded Linux Workshop
The Embedded Linux Workshop tools are GPL'd and available at Sourceforge. They
are described in more detail in John Lombardo's book "Embedded Linux" ISBN
0-7357-0998-X.
Here's the process I used to create the SIMPL on a floppy image using the
Embedded Linux Workshop toolset.
Installing the Embedded Linux Workshop
- you'll need to be "root" when you install this stuff
- download the Embedded Linux Workshop elw-20010925.tgz from Sourceforge.
- cd /usr/local
- put elw tarball there
- tar zxvf elw-20010925.tgz
- make a symbolic link in /usr/bin to /usr/local/elw/bin/elw
Creating the simplonfloppy Embedded Linux Workshop project
- mkdir ~home/elwstuff
- cd ~home/elwstuff
- elw --newproject simplonfloppy
- cd simplonfloppy/arch/i386/src
- mkdir simplonfloppy
- cd simplonfloppy
- put simpl.tar.gz here and undo it
- ln -s simpl simplonfloppy
- cd simplonfloppy
- export SIMPL_HOME=`pwd`
- build the SIMPL code by typing
make install
- cd ../../kernel
- put your linux source here and create a link called "linux" to point
at it.
- cd linux
- make menuconfig
and set only the following options (ie. turn all others off)
Processor type
386 processor
1G Maximum Physical Memory
Loadable module support
Enable loadable module support
General setup
Networking support
System V IPC
Kernel support for ELF binaries
Networking options
Packet socket
TCP/IP
Network devices
Network device support
Block Devices
Normal PC floppy
RAM disk
Initial RAM disk (initd) support
Character devices
Virtual terminal
Support for console on virtual terminal
Standard/generic (dumb) serial support
Filesystems
DOS FAT fs
MSDOS fs
VFAT (Windows 95) fs
/proc filesystem
Second extended fs
Console Drivers
VGA
- make dep bzImage
- cd ~/elwstuff/simplonfloppy
- mkdir -p opt/simplonfloppy/bin
mkdir -p opt/simplonfloppy/etc/rc
mkdir -p opt/simplonfloppy/fifo
- create a Makefile at opt/simplonfloppy/Makefile
which contains the following
everytime:
echo "hello"
binaries:
@cp -f ../../src/simplonfloppy/simplonfloppy/bin/fcshow
bin
@cp -f ../../src/simplonfloppy/simplonfloppy/benchmarks/bin/receiver
bin
@cp -f ../../src/simplonfloppy/simplonfloppy/benchmarks/bin/sender
bin
dependencies:
@echo "libncurses"
- create the rc script called opt/simplonfloppy/etc/rc/S99simpl
to contain
#!/bin/sh
export HOSTNAME=bob
export FIFO_PATH=/fifo
echo "FIFO_PATH=$FIFO_PATH"
echo "Press a key for SIMPL..."
read x
receiver -n BOBR &
fcshow
sender -n BOBS -r BOBR -t 10000 -s 1024
- chmod a+x opt/simplonfloppy/etc/rc/S99simpl
- cp -P /usr/share/terminfo/l/linux opt/simplonfloppy
- run the elw command
elw
- in order select
a) build binaries
b) build image
c) build floppy (after inserting blank floppy)
- boot off the floppy