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: