Re: Loading initrd over serial line

From: Philipp Rumpf (prumpf@parcelfarce.linux.theplanet.co.uk)
Date: Wed Aug 09 2000 - 06:15:03 EST


On Wed, Aug 09, 2000 at 09:45:47AM +0100, David Woodhouse wrote:
>
> pavel@suse.cz said:
> > This patch should load initrd over serial line. On r38xx it works for
> > me, but kernel crashes after that and I do not know who to blame. It
> > needs some ifdefs and it needs making some functions public...
>
> > You'll need program that looks for 'X' and sends block of data to use
> > this.
>
> Cute, if somewhat sick.
>
> It'd be far nicer to use ramfs, though. What I'd like to do is compile a
> statically-linked combination of tar(1) and rz(1), which will untar the
> tarball it receives into a fresh ramfs.
>
> Q: If you don't have initrd, where do you put this binary?
>
> A: In the kernel. Provide it with a set of pages which are to be put into
> the user-space side of process #1, rather then exec'ing /sbin/init.
>
> Also cute, and definitely sicker :)

I'd actually claim the current mechanism is the sickest. It relies on
magic hard-coded paths (/dev/console, also /sbin/init, though you can
override that), and we end up in a terrible state halfway between user-
and kernelspace until we execute /sbin/init.

I think it might actually be worth it to think about an approach where
the boot loader sets up part of init (which mounts the root fs, opens
/dev/console, and execs /sbin/init, in the normal case), and we can move
more stuff out of the kernel proper. No more special initrd handling,
fewer hard-coded paths, less non-pageable memory.

        Philipp Rumpf

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Aug 15 2000 - 21:00:18 EST