> 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! +++