je kunt heel simpel met een kleine kernel waarmee je je geluidskaart ondersteund een mini linux op een floppy maken
met daar bij een root fs met alleen een shell en de wat basis commando's (mount cp ln mv rm etc) en mpg123 en de gestripte libraries. eventueel een 2flopy dist (makkelijkts)
2floppy dist:
maak een file van 4MB dd if=/dev/zero of=rootfsfile bs=1k count4096
en mount deze loopback op een dir bv ~/rootfs
mount -o loop -t ext2 rootfsdile ~/rootfs
config een kernel (ramdisk en initrd support cdrom hd en audio)
maak, (make zImage of make bzImage als hij groot wordt)
dd if=arch/i386/boot/(b)zImage of=/dev/fd0
rdev -r /dev/fd0 49152 (ramdiskword voor rootfs op 2e flop)
maak dirs /dev /proc /bin /etc /lib /tmp
copieer /bin/ash (kleinste shell die ik ken) naar ~/rootfs/bin/
en dan de rest van je commando's en je mpg123 naar de bin dir
doe ldd /bin/(commando) om de librarie dependencie te bepalen en gooi die libs in ~/rootfs/lib/
let op symlinks
doe dit ook voor mpg123
copier de juiste devices voor je putter
cp -a /dev/tty{1-4} ~/rootfs/dev/
cp -a /dev/ttyS* ~/rootfs/dev/
cp -a /dev/fd* ~/rootfs/dev/
vergeet pts dsp audio hd console mem null ram0 etc niet
gooit juiste etc files in ~/fsdisk/etc/
rc fstap passwd group termcap
etc
zorg dat in de rc inelk geval
#!/bin/ash
/bin/mount -av
staat
en in de fstab
/dev/ram0 / ext2 defaults
/proc /proc proc defaults
/dev/fd0 / ext2 defaults
(gebruik je een 2.4.x kernel dan kun je ook spelen met tempfs)
tmpfs /ram tmpfs defaults
en in /etc/inittab
id:2:initdefault:
si::sysinit:/etc/rc
!:2345:respawn:/sbin/getty 9600 tty1
als je rootfs groot wordt kun je je libraries strippen
objcopy --strip-all broblib doellib
als je denkt dat je rootfs af is
chroot er dan naartoe en ldconfig /lib
klaar?
exit
umount de dir
gzip de rootfsfile
en dd 'em naar floppy
lees meer op
http://www.ibiblio.org/pub/Linux/docs/HOWTO/Bootdisk-HOWTO
suc-6
maak