Here are instructions on creating a PAUD-like floppy (based on PAUD 2.0.3).
This was all done on Slackware 8.1, if you use another distribution, your results may vary.
Getting the Programs
The following were used because they were included with Slackware 8.1, you can use another version if you wish, or try these if you are having problems
linux-2.4.20
glibc-2.2.5
The following versions were used, you can obtain from the respective homepage or from: http://paud.sourceforge.net/sources/
busybox-0.60.5 and busybox-0.60.5-paud.diff
hdparm-5.2
mc-4.1.35
modutils-2.4.16
ntfsprogs-1.11.2
parted-1.6.24
progsreiserfs-0.3.0.5
reiserfsprogs-3.6.19
util-linux-2.13-pre4
Compiling the Programs
All programs were configured with CFLAGS="-Os -march=i386" and using CC="gcc3" (gcc-3.4.4) unless otherwise stated below.
linux kernel:
- compiled with gcc 2.95.3
- make sure 'Ram disk support' is enabled (in 'Block devices' sub-menu) (if unsure, use the 'kernel.config' file available as a reference)
- in the Makefile, change '-O2' to '-Os' on the line beginning with 'CFLAGS :='
GNU libc:
- compiled with gcc 2.95.3
- configured with '--prefix=/usr --enable-add-ons --host=i386-linux'
- busybox
- apply the patch with:
'cd busybox-0.60.5; patch -p1 < /path/to/busybox-0.60.5-paud.diff'
- progreiserfs
- configure with '--disable-shared' and install before compiling parted.
- parted
- configure with '--disable-nls --without-readline --disable-shared
--disable-dynamic-loading'
- busybox
- apply the diff and type 'make install', this will install it to ./_install
- mc
- erase /lib/libcrypt.so.1, this disables a feature in mc that cannot be disabled any other way for this version (afaik), the file will regenerate automatically with 'ldconfig', if it does not then you can manually symlink it.
- edit the configure script and change 'Linux' on line 10851 from 'if test $system = Linux' to 'if test $system = Linuxzzz'
- configure with './configure --prefix=/usr --without-vfs --without-ext2undel --with-included-slang --without-gpm-mouse --without-gnome --without-subshell --disable-nls --without-x'
fdisk/cfdisk:
- edit fdisk/Makefile and change the line beginning with 'cfdisk_LDADD' to: 'cfdisk_LDADD = -Wl,-Bstatic -lncurses -Wl,-Bdynamic'
Creating the PAUD Floppy
- copy the following files in './makelibs/libs' from the GNU libc source
to the following (keep the directory structure specified here):
ld-linux.so.2 libc_pic/sofini.o libc_pic/soinit.o libc_pic.a libc_pic.map libm_pic.a libm_pic.map
note: you can copy lib[cm]_pic.map from lib[cm].map and sofini.o from elf/sofini.os and soinit.o from elf/soinit.os and ld-linux.so.2 from elf/ld.so
- copy the root contents except for the /lib directory into './paudroot'
- go into './makelibs' and run 'go.sh' (if you get an error about missing libs, copy them into the ./makelibs/libs directory)
- edit the top of './makepaud.sh' and change 'KERNEL=' point to your kernel file
- insert the floppy and then run './makepaud.sh'
Creating the Expansion Floppy
- copy everything you want to a directory and tar.gz it up (you can then rename it to .img)
- all programs were compiled statically
