Messages in this thread | | | Date | Wed, 9 Aug 2000 12:15:03 +0100 | From | Philipp Rumpf <> | Subject | Re: Loading initrd over serial line |
| |
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/
| |