Making a floppy system with PeeWeeLinux

Adi Linden [email protected]
Tue, 5 Sep 2000 19:27:50 -0500 (CDT)


Hi,

> Had to go into the filesystem's dev directory and delete a whole mess of
> unecessary device file that were eating up inodes to get it to fit on the
> 3M ram disk, BTW...

When you create the filesystem make sure you do:

mke2fs -m0 -b 1024 -i 1024 /dev/ram
                   ^^^^^^^

This makes sure you're building enough inodes for all those devices. I
will be splitting the dev package into a basic one and one that adds the
devices required for X and stick it into the X directory.

> Here's mine - something's wrong cuz mine looks WAY too big...
> 
> [root@blowtorch /]# ls -l \
> /home/kml/peeweelinux/Embedded_Build/projects/booty/mnt/boot/bzImage 
> -rw-r--r--    1 root     root       567580 Sep  2 07:22

A 567k kernel looks alright

> [root@blowtorch /]# dd \
> if=/home/kml/peeweelinux/Embedded_Build/projects/booty/mnt/boot/bzImage \
> of=/dev/fd0

When you do the above command line make sure you do a bs=1k otherwise dd
defaults to 512 byte blocksize. This results in your 

> 1108+1 records in
> 1108+1 records out

being way too big! So do:

dd \
if=/home/kml/peeweelinux/Embedded_Build/projects/booty/mnt/boot/bzImage \
of=/dev/fd0 \
bs=1k

and you'll get the right numbers.

> What am I doing wrong?  And how did you get your kernel smaller?  I'm
> using the latest binary distro (.51).  Should I be configuring my own
> kernel and rebuilding from the src distro?

If you require network support for something other than what's there or
other kernel feature you need to compile your own. Instead of doing the
rpm thing I'd suggest installing the source rpm and doing a manual compile
of the kernel source that get put into the src/SOURCES directory.

> Needless to say, the kernel and the compressed ramdisk image (1107131
> bytes) don't fit on the floppy...

Yup, the above is still too big. You need to trim your filesystem a bit
more or use busybox instead of traditional binaries. Doing the scripts for
0.51 I build a small floppy test system. You really need to agressively go
into all the packages and unselect anything you don't need.

Another hint, you need to make a symlink, have /bin/sh point to /bin/ash
and edit /etc/passwd to use /bin/sh as login shell or you won't be able to
log into the system once it's booted. I am assuming you're installing ash
and not bash for a shell. This has been fixed in 0.51

TTYL,
Adi

---------------------------------------------------
See the list archives at http://adis.on.ca/archives/
See the PWL homepage at  http://peeweelinux.com
---------------------------------------------------