[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kernel problem: Booting with initrd and init fails



Herbert Xu <herbert@gondor.apana.org.au> writes:

> Goswin Brederlow <goswin.brederlow@student.uni-tuebingen.de> wrote:
> > I have the following entry in my syslinux.cfg:
> 
> > LABEL demo
> >         APPEND vga=0x791 load_ramdisk=1 initrd=root.bin init=/bin/ash
> >         KERNEL linux
> 
> > That should load a ramdisk during boot but startx /bin/ash instead of
> > /sbin/init or /linuxrc. Instead it will startx /linuxrc and if that
> > and /sbin/init are missing it tries to remount / as specified in the
> > kernel.
> 
> I've never used syslinux myself, but initrd= is interpreted by linload and not
> the kernel.

It is and it isn't. If lilo/grub/linload/syslinux sees a initrd=<file>
(and possible load_ramdisk=1) it will load that as an initial
ramdisk. The kernel then detects that ramdisk and boots from that
ignoring its internal "root=" setting for the moment. If the ramdisk
holds a /linuxrc that gets executed and then the kernel will mount the 
device named in /proc/sys/kernel/real_root_device, which is the device 
used as root when compileing the kernel (normaly) but can be
overwritten in the /linuxrc.

I tried the same with lilo, but it doesn't work there eigther, so its
not a syslinux problem.

May the Source be with you.
			Goswin


Reply to: