[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: And now for something completely different... etch!



>>>>> "Joey" == Joey Hess <joeyh@debian.org> writes:

    Joey> Since d-i currently puts the initrd that reads the second
    Joey> floppy (or other USB media) on the boot floppy with the
    Joey> kernel, we either have to shoehorn that initrd, which is
    Joey> currently 644k, onto the same floppy, reducing its size by
    Joey> 414k somehow.

I suggest having a look at
yaird. <URL:http://www.xs4all.nl/~ekonijn/yaird/yaird.html> Downloads
at <URL:http://www.xs4all.nl/~ekonijn/yaird/>

Yaird appears to be newer and better then mkinitrd, and may help lower
the size of the image. Also, it uses initramfs/cpio, supports both
Debian and Fedora, looks like it would be easy to customize, etc.

I am not sure it is appropriate to use yaird for d-i, I haven't
investigated this in depth. Even if it is not suitable out of the box,
I suspect it should be possible to customize it so that it is
suitable.

On my system (using standard libc6), there is a huge difference in
size:

[521] [snoopy:bam] ~ >ls -l /tmp/test.img /boot/initrd.img-2.6.8-2-k7
-rw-r--r--  1 root root 4648960 Jun  5 12:49 /boot/initrd.img-2.6.8-2-k7
-rw-------  1 root root 1107666 Jun 12 09:00 /tmp/test.img

By default, only essential files (+jbd!!!) are copied (my system is
IDE RAID using ext3):

[520] [snoopy:bam] ~ >sudo zcat /tmp/test.img | cpio --list
.
bin
bin/cat
bin/dash
bin/mkdir
bin/mknod
bin/mount
bin/sleep
bin/umount
dev
dev/console
dev/null
etc
home
home/bam
home/bam/local
home/bam/local/lib
home/bam/local/lib/yaird
home/bam/local/lib/yaird/exec
home/bam/local/lib/yaird/exec/run_init
lib
lib/modules
lib/modules/2.6.8-2-k7
lib/modules/2.6.8-2-k7/kernel
lib/modules/2.6.8-2-k7/kernel/drivers
lib/modules/2.6.8-2-k7/kernel/drivers/ide
lib/modules/2.6.8-2-k7/kernel/drivers/ide/pci
lib/modules/2.6.8-2-k7/kernel/drivers/ide/pci/via82cxxx.ko
lib/modules/2.6.8-2-k7/kernel/drivers/ide/ide-core.ko
lib/modules/2.6.8-2-k7/kernel/drivers/ide/ide-disk.ko
lib/modules/2.6.8-2-k7/kernel/drivers/ide/ide-generic.ko
lib/modules/2.6.8-2-k7/kernel/drivers/md
lib/modules/2.6.8-2-k7/kernel/drivers/md/md.ko
lib/modules/2.6.8-2-k7/kernel/drivers/md/raid1.ko
lib/modules/2.6.8-2-k7/kernel/fs
lib/modules/2.6.8-2-k7/kernel/fs/ext3
lib/modules/2.6.8-2-k7/kernel/fs/ext3/ext3.ko
lib/modules/2.6.8-2-k7/kernel/fs/jbd
lib/modules/2.6.8-2-k7/kernel/fs/jbd/jbd.ko
lib/modules/2.6.8-2-k7/kernel/fs/mbcache.ko
lib/tls
lib/tls/libc-2.3.2.so
lib/tls/libm-2.3.2.so
lib/tls/libpthread-0.60.so
lib/tls/librt-2.3.2.so
lib/tls/libc.so.6
lib/tls/libm.so.6
lib/tls/libpthread.so.0
lib/tls/librt.so.1
lib/ld-2.3.2.so
lib/libblkid.so.1.0
lib/libuuid.so.1.2
lib/ld-linux.so.2
lib/libblkid.so.1
lib/libuuid.so.1
mnt
proc
sbin
sbin/insmod
sbin/mdadm
sys
var
init
4926 blocks

No doubt this would be even more with klibc.

The only downside I see is that it is still being developed, and
considered "incomplete" at the moment.

Also, it is not in Debian.

I have not yet tested i for booting.

    Joey> uclibc is one possibility, but 409-some kilobytes of that
    Joey> 644k are used for kernel modules and other stuff that uclibc
    Joey> wouldn't effect (much); only 235k is used for libc
    Joey> currently, and I fear those numbers don't add up to uclibc
    Joey> making it small enough, unless uclibc occupys only 5k of the
    Joey> compressed disk. Maybe other changes, like using initramfs
    Joey> for that image, a little kernel hacking to remove a few
    Joey> modules that are barely used (like ide-core which is on
    Joey> there for only 1 symbol on 2.4; didn't check 2.6), and so on
    Joey> might just make it work.

klibc? Not yet in Debian, is there any reason for this?
-- 
Brian May <bam@debian.org>



Reply to: