Hi Robert, On Thu, Dec 06, 2007 at 08:40:56AM -0500, Robert P. J. Day wrote: > On Thu, 6 Dec 2007, Wolfgang Wegner wrote: > > i'm not sure if this addresses what you're talking about here, but in > the kernel source tree, in Documentation/early-userspace/README, you > can read:
thank you for the additional documentation pointer! > c) using initramfs. The call to prepare_namespace() must be skipped. > This means that a binary must do all the work. Said binary can be stored > into initramfs either via modifying usr/gen_init_cpio.c or via the new > initrd format, an cpio archive. It must be called "/init". This binary > is responsible to do all the things prepare_namespace() would do. > > To maintain backwards compatibility, the /init binary will only run if it > comes via an initramfs cpio archive. If this is not the case, > init/main.c:init() will run prepare_namespace() to mount the final root > and exec one of the predefined init binaries. > > > so, if i read that correctly, you can't supply /init via an external, > filesystem-format initrd. was that what you were trying to do? or > were you simply missing a /init entirely? I was missing /init entirely. Now I simply soft-linked /bin/init to /init and it works. What was confusing is that if I supplied this /init-less initramfs, the kernel did not complain about a missing /init or something, it just skipped the initramfs without any comment and did not even mount the designated root filesystem that would else have been used. I have a romfs in flash via mtd, that works flawlessly if the kernel is not configured for initramfs, but when configured for initramfs, the filesystem is simply not recognized(?): VFS: Cannot open root device "mtdblock3" or unknown-block(31,3) Please append a correct "root=" boot option; here are the available partitions: 1f00 32768 mtdblock0 (driver?) 1f01 512 mtdblock1 (driver?) 1f02 2048 mtdblock2 (driver?) 1f03 2816 mtdblock3 (driver?) 1f04 2816 mtdblock4 (driver?) 1f05 24320 mtdblock5 (driver?) 1f06 256 mtdblock6 (driver?) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3) I was always looking into the initrd documentation, which does not have much in common with initramfs, and did not find early-userspace yet... Also from the now running initramfs system, I can not mount the romfs file system on /dev/mtdblock3. It seems (but I do not yet know how to confirm this) that the kernel does not know about romfs any more. Regards, Wolfgang _______________________________________________ uClinux-dev mailing list [email protected] http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by [email protected] To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
