Messages in this thread | | | Date | Thu, 07 Feb 2008 15:13:30 +0100 | From | Tomasz Chmielewski <> | Subject | why kexec insists on syncing with recent kernels? |
| |
According to kernel/kexec.c:
* kexec does not sync, or unmount filesystems so if you need * that to happen you need to do that yourself.
I saw this was true with 2.6.18 kernel (i.e., it didn't sync), but kexec syncs with recent kernels (I checked 2.6.23.14 and 2.6.24):
# kexec -e md: stopping all md devices sd 2:0:0:0: [sdb] Synchronizing SCSI cache
With kexec on 2.6.18 it was executing a loaded kernel immediately.
Generally, it's a good thing to sync before jumping into a new kernel, but it breaks my setup here after upgrading from 2.6.18 to 2.6.24.
Why?
I have a couple of diskless (iSCSI-boot) machines with a buggy BIOS (old Supermicro P4SBR/P4SBE) which randomly freeze after rebooting (the machine shuts down just fine, but instead of booting again, showing BIOS bootup messages etc. you can just see blank screen).
Therefore, I use kexec as a workaround for this rebooting problem.
The way kexec works now makes rebooting unreliable again: - network interfaces are brought down, - kernel tries to sync - it never will, as we're booted off network, which is down
Any ideas why kexec insists on syncing?
-- Tomasz Chmielewski http://blog.wpkg.org
| |