SimplyLinux (SL)

Hi, this is home of SimplyLinux (SL), a Linux Mini-distro. You can use SL at home, at work, while you are doing your cooper, at dinner, any where !!! Oh Lord, it's amazing !!! SL run on a single floppy, giving you total control over those damn machines...

SimplyLinux features:

  1. One floppy boot/root images
  2. Linux 2.4.22 with support for IDE HDD, Floppy and CD-ROM (No TCP/IP)
  3. Most common Unix tools (using BusyBox)
  4. It's simple !

To use SimplyLinux you need an ix86 PC or compatible, a 3 1/2" floppy drive, a floopy disk, some common Linux programs (see on create_disk.sh).

Donwload

SimplyLinux 1.0 (1353356 bytes)

Installing/Usage/Configuration


Welcome to Simply Linux (SL)
============================

Author: Mateus Caruccio <caruccio at operamail.com>
Copyright: GPL
version: 1.0

Some scripts on create_disk.sh was taken from DLX Linux:
  http://www.wu-wien.ac.at/usr/h93/h9301726/dlx.html

Intro
=====

SL is an one-floppy-initrd based linux system, using BusyBox
(www.busybox.net) and an initrd image. With this you can have
a PC without hard drive, network enabled, to make some basic
stuffs, like ping another host (this what I use for), format
your HDD, impress your friends, etc...

SL is based on 2.4.22 kernel, with the following net drives:

3c503.o  8139too.o  dmfe.o  eepro100.o  mii.o  ne2k-pci.o
3c505.o  8390.o     e100.o  lance.o     ne.o   tulip.o

Starting
========

** You must be root to perform all this operations **

First, you need to unpack the files you just downloaded. Probably
it's named SL-1.0.tar.gz (the version may vary). Move it some
place (I will use /tmp) and unpack it:

# mv SL-1.0.tar.gz /tmp
# cd /tmp
# tar xzvf SL-1.0.tar.gz

A directory (SL) will be created on local dir. Change to it

# cd SL
# pwd
/tmp/SL

This is the root dir for SL.

To build a bootable distro, just put a floppy disk on fd0 and type:

# ./create_disk.sh all

Voilá, reboot your PC and have fun.

The boot disk is made of two different parts:

- A root disk, loaded into RAM (on /dev/ram0) and mount as / after
  kernel booting

- A boot image with network modules;

Here is the aspect your floppy will (logically) be:

 +- Sector 0 (zero)
 |
 V
 --------------------------------------------------
| Kernel Image |     Conpressed Root Image         |
 --------------------------------------------------

When the floppy boot, it load the compressed root image into main memory,
uncompress it and mount it as the root (/) directory. After mount, it
execute a file called /linuxrc (our /sbin/init).

Creating a root image
=====================

A root image is a file with a functional File System, with all needed
applications to run our distro. On SL, the root image is made on
directory ./root

To create a root image type:

# ./create_disk.sh root

The image will be named root.imz. Later, it will be place right after kernel
image inside the floppy.

Creating your own root image with your own configuration
========================================================

SL comes with 2 default configuration files to BusyBox version 1.00-pre3
and 0.60.3 named .config-busybox-1.00-pre3 and Config-busybox-0.60.3.h

To know how to compile BusyBox, go to www.busybox.net and RTFM (Read the
Fine/Fucking Manual). After compiling it properly, you should install all
files to /tmp/SL/root

# make PREFIX=/tmp/SL/root install

After this, create the root image again as show above.

Creating a boot image
=====================

ALERT: I suppose you know how to compile a kernel and install modules. If
don't, stop here and read the file named /path/to/linux/source/README (usualy
/usr/src/linux/README)

If you want to use other kernel than that supplied with SL, you could use
a basic .config, located on ./kernel dir. just copy it to /usr/src/linux-X.X.X/
and "make menuconfig dep modules bzImage" ass you always do.

All modules (if any) must be on /tmp/SL/kernel/modules directory. The dir
struct will be something like this:

/tmp/SL/kernel/modules
                |
                 -lib
                   |
                   - modules
                         |
                          -<KERNEL_VERSION>
                                 ...

To install your new modules, you could use:

# make INSTALL_MOD_PATH=/tmp/SL/kernel/modules/ modules_install

CAUTION: ALL FILES ON /tmp/SL/kernel/modules WILL BE LOST !!

If you created a new kernel (with make bzImage), and whant to use it on your
disk, just copy it to /tmp/SL/kernel/ like this:

# cp /usr/src/linux/arch/i386/boot/bzImage /tmp/SL/kernel/

If you prefer, just create a link (bzImage) to your new kernel:

# ln -sf /usr/src/linux/arch/i386/boot/bzImage  /tmp/SL/kernel/bzImage

To create your boot image, just type:

# ./create_disk.sh boot

Now you have a distribution in a floppy. Reboot you PC and have fun.

Remember that to create your boot disk, you must first create the root image.

Directories structure
=====================

SL/                          Root distribution directory.
|
+- Config-busybox-0.60.3.h   Config for BusyBox 0.60.3
|
+- .config-busybox-1.00-pre3 Config for BusyBox 1.00.pre3
|
+- README                    This file.
|
+- create_disk.sh            Script who create root and boot images.
|
+- kernel/                   Contain all kernel related stuff.
|   |
|   +- .config-2.4.22        Used .config for 2.4.22 kernel.
|   |
|   +- bzImage               Link for a kernel (who will be used on image).
|   |
|   +- linux-2.4.22          Kernel used on image (the real file).
|   |
|   +- modules/              lib/modules/<KERNEL_VERSION> structure used on
|                            root disk (install all modules here).
|
+- root/                     Root directory to root image. Contain a minimun
                             Linux system.