> Hi,
> 
> I've made some tests this night to reduce the size of 2.6 kernel.
> I've modularized almost all that can be (except IDE, mouse and
> keyboard).
> vmlinuz is now a bit less than 1.3 Megabytes.
> Compiling ext2 as a module would save us about 70 more kilobytes.
> ext2 module is 79k, cramfs takes 13k when builtin.
> A cramfs initrd is slightly larger than a ext2 initrd (about 2k).
> 
> So I patched mkinitrd and make-initrd to allow to build cramfs initrd.
> (patchs included in this mail).
> 
> For now, the kernel can't load directly cramfs initrd (because the code
> doesn't recognize cramfs magic number), but it can load gzipped cramfs
> initrd (because the code can recognize a gzip file).
> Well, a patch has been made (by Debian ?) and is included in Debian
> kernel, but we don't care much since we can (theorically) load gzip
> cramfs.
> (I've extracted the patch from Debian's messy patch, it is
> included too in this mail).

and you dropped some cramfs changes:
----------------------- cut here
---------------------------------------------------
--- kernel-source-2.6.0-test9-2.6.0-test9.orig/fs/cramfs/inode.c
+++ kernel-source-2.6.0-test9-2.6.0-test9/fs/cramfs/inode.c
@@ -43,7 +43,7 @@
 static struct inode *get_cramfs_inode(struct super_block *sb, struct
cramfs_inode * cramfs_inode)
 {
        struct inode * inode = new_inode(sb);
-       static struct timespec zerotime;
+       const struct timespec zerotime = { 0, 0 };

        if (inode) {
                inode->i_mode = cramfs_inode->mode;
---------------------- cut here
----------------------------------------------

> 
> But when I try to boot with a gzipped cramfs initrd, the kernel
> can gunzip the initrd but fails to mount it as ramfs,
> sys_mount("/dev/root.old","/root","cramfs", ...) exits with EINVAL code.
> 

have you tried adding "--nocompress"
cramfs is already compressed and adding --nocompress increases the size with
~2k

i've tried your initrd changes and all seemd fine until it actually tried to
mount it
:-) i've forgotten to compile in cramfs :-)
so let see what happens when the recompile is ready

> Strangly enough, I can mount the initrd correctly once the kernel is
> booted up (in this case, I use a ext2 initrd, ext2 and cramfs are
> builtin).
> 
> Should I ask about it on lkml ?

PS

the old modular ide is broken even if everything is compiled in
( see "buffer layer errot....."  on lkml )
fix & new patch uploaded, but i still get a oopses at cdrom initialization
kobject_register returned -17
------------------------------------------------
Call Trace: [<c01a0fcc>]  [<c01e9200>]  [<c01e9580>]  [<c0215559>] 
[<c01ca008>]  [<c0221493>]  [<c033e67d>]  [<c01050b4>]  [<c0105082>]  [<c01091ed>]
Warning (Oops_read): Code line not seen, dumping what data is available

Trace; c01a0fcc <kobject_register+37/43>
Trace; c01e9200 <bus_add_driver+37/80>
Trace; c01e9580 <driver_register+2f/31>
Trace; c0215559 <ide_register_driver+fc/104>
Trace; c01ca008 <pnp_register_driver+2a/5a>
Trace; c0221493 <pnpide_init_module+a/e>
Trace; c033e67d <do_initcalls+35/87>
Trace; c01050b4 <init+32/10e>
Trace; c0105082 <init+0/10e>
Trace; c01091ed <kernel_thread_helper+5/b>
-----------------------------------------------------------
that is with built in ide

so i droped it for later investigation

svetljo

-- 
NEU FÜR ALLE - GMX MediaCenter - für Fotos, Musik, Dateien...
Fotoalbum, File Sharing, MMS, Multimedia-Gruß, GMX FotoService

Jetzt kostenlos anmelden unter http://www.gmx.net

+++ GMX - die erste Adresse für Mail, Message, More! +++


Reply via email to