How to stop reboot after kernel panic?

I am attempting to install xen-unstable. This appears to involve building a new kernel and booting from it.

The new kernel does not boot my machine. The boot starts, then I see some messages about loading various dm_ modules, then I see a failed attempt to locate any volume groups. This leads to not being able to find my root volume and shortly after this there is a kernel panic and the machine reboots.

How can I stop the reboot happening so that I can see what caused the panic? I know about the option to echo something into /proc, but this is not suitable as I don't get far enough through the boot process to be able to do this.

The machine started life as an FC5 machine, but is currently running the kernel from the latest xen-unstable. Or not running the kernel, as the case may be.
LVL 5
AnonymouslemmingAsked:
Who is Participating?
 
CetusMODCommented:
PAQed with points refunded (500)

CetusMOD
Community Support Moderator
0
 
pjedmondCommented:
>I am attempting to install xen-unstable. This appears to involve building a new kernel and booting from it.

It does involve rebuilding a new kernel and booting from it:)

echo kernel.panic = 120 >> /etc/sysctl.conf

http://wiredgorilla.com/main/modules.php?name=News&file=article&sid=321

Assuming that the /etc/ directory is mounted ro at this stage of the boot process.

(   (()
(`-' _\
 ''  ''
0
 
pjedmondCommented:
If earlier in the boot process, then:

echo 120 > /proc/sys/kernel/panic

changes the setting on the fly. Yo usay you don't get far enough through the boot process - I presume that you get to the 'grub' interface? I presume that this was the 'trick' that you couldn't use?

Adding

debug -b 3

at the end of the linux line in the grub loader causes the boot process to pause at certain locations with some kernels. (Type exit to continue).

Alternatively, you could try user mode linux until the kernel is up an running correctly:

http://user-mode-linux.sourceforge.net/

(   (()
(`-' _\
 ''  ''


0
 
AnonymouslemmingAuthor Commented:
It turns out that the correct solution is to append noreboot to the kernel line (since the kernel is the xen hypervisor, not the Linux kernel).

Anything in proc won't work because no filesystems are being mounted, and sysctl mainly just writes to proc.
0
 
pjedmondCommented:
You'll find that the Xen Hypervisor is in fact a Linux kernel, and although the file system is not mounted read/write, you can still access /proc after the initial part of the kernel booting process. I totally agree that the 'noreboot' on the kernel line is going to be the most elegant way to do it. . You need to put a Q in the Community Support TA for a points refund.

(   (()
(`-' _\
 ''  ''
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.