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

Re: initrd, reboot makes kernel panic



Ignore my last mail.



Ironic, 2 days troubleshooting and 2h after mailing this list and the problem solves. ;)


FYI, according to Documentation/initrd.txt you should(?) have a pivot_root and a chroot in your /linuxrc (initrd-image). This is not so, works better without them. The kernel already knows where to mount '/' (pivot_root not needed) and it knows which 'init' to load (chroot not needed). Mounts root and starts init automatically.

//N

On Thu, 18 Aug 2005 debian-user@niklas.hoglund.pp.se wrote:

From: debian-user@niklas.hoglund.pp.se
Subject: initrd, reboot makes kernel panic
Cc: debian-user@lists.debian.org

Hi!


Some background...
I've got an IDE-raid card (Promise SX6000) which is causing some problems when I reboot my linux. As the kernel does not support this card (and promise only support 2.4 kernel modules) I've got an 2.4.31 kernel and an initrd loading the promise module (pti_st.o). And this works fine. It boots up, mounts the ide-raid as '/' and works pretty good.



The problem is when I reboot my system, init jumps into runlevel 6 and starts executing all the /etc/rc6.d things. When it gets to the last it prints:

Kernel panic: VFS: Unable to mount root fs on 08:02


Very strange that it tries to _mount_ something when it should reboot...
I've looked in /etc/rc6.d and I dont see anyting there about mounting.


I've been testing different things in /linuxrc-script but cant figure this one out, really strange. If I instead if 'init' run 'sh' in /linuxrc I get the 'sh' prompt and from there I can do 'reboot' without any complaints - so it should be something with 'init' ...


Any ideas greatfully accepted (including troubleshooting ideas) =)


My linuxrc script is basically:
PATH=.:/bin:/sbin
export PATH
insmod -k /modules/pti_st.o
mount -o ro /dev/sda2 /mnt/root       # ro/rw makes no diff
umount /proc 2> /dev/null || error "unmounting proc filesystem failed"
cd /mnt/root
pivot_root . initrd || error "changing to new root failed"
#exec /usr/sbin/chroot . /sbin/init 2    # does not work, compl. /dev/initctl
#exec /usr/sbin/chroot . /sbin/init -i
#exec /usr/sbin/chroot . /bin/sh -c '/bin/umount /initrd; exec /sbin/init -i' <dev/console >dev/console 2>&1
exec /usr/sbin/chroot . /bin/sh <dev/console >dev/console 2>&1
#umount /initrd



//Niklas




Reply to: