You are not logged in.
Pages: 1
I know, silly question. But is there a way, after a kernel upgrade, to unload the old kernel and load the new one without a reboot?
Offline
No.
Offline
Ah, I see that there is a misunderstanding here... let me explain. The kernel, for all intents and purposes, *is* your computer. The kernel controls how data gets to and from the disk, how programs are run, how things display on your monitor, how audio data gets to your sound card, and how the text you type gets to the screen. Without a kernel your system is a rock.
Therefore, if you unload the kernel in order to reload another one, your system becomes said rock... the only way to start this process is to have it loaded by a boot loader (grub, lilo, ntldr, ...), therefore, you must reboot.
Offline
i've heard of a project to reload a new kernel. not sure what it's called, i think i heard about it on slashdot some time ago. basically, it's for servers that can't afford to go down, but need an upgrade.
so there kinda sorta is a way to do this as far as i know. but... i would think it takes just as long as a reboot, so why bother?
Offline
i've heard of a project to reload a new kernel. not sure what it's called, i think i heard about it on slashdot some time ago. basically, it's for servers that can't afford to go down, but need an upgrade.
so there kinda sorta is a way to do this as far as i know. but... i would think it takes just as long as a reboot, so why bother?
It'd be possible, but it'd require running the machine under a minimal kernel upon which the linux kernel is layered... basically something like a constantly running bootloader...
Offline
paranoos wrote:i've heard of a project to reload a new kernel. not sure what it's called, i think i heard about it on slashdot some time ago. basically, it's for servers that can't afford to go down, but need an upgrade.
so there kinda sorta is a way to do this as far as i know. but... i would think it takes just as long as a reboot, so why bother?
It'd be possible, but it'd require running the machine under a minimal kernel upon which the linux kernel is layered... basically something like a constantly running bootloader...
i think the Hurd was supposed to be able to do something like this.
I recognize that while theory and practice are, in theory, the same, they are, in practice, different. -Mark Mitchell
Offline
Offline
I think the kexec patch is supposed to do the same.
My -vivid kernel has it, but I haven't tried it yet.
Ailen:
Kernel: Linux 2.6.14-rc4-ck1 #1 PREEMPT
Built on: Mon Oct 17 14:51:37 CEST 2005
Hardware: Mobile AMD Sempron(tm) Processor 2800+ AuthenticAMD
WM: E17 snapshot 20051016
Offline
bah, it's still one of those features-that-shouldnt-be
Offline
bah, it's still one of those features-that-shouldnt-be
/me pictures Phrak with his eyes closed, hands over ears, yelling "la-la-la-la-la-la-i-can't-hear-you..."
Offline
Mmm.... Kexec... is that still being developed?
Offline
Isn't it Xen supposed to do that?
Offline
You CAN force a new kernel upon your current one, but it's hard, risky and plain stupid.
You're supposted to override some value in /proc , iirc
To err is human... to really foul up requires the root password.
Offline
yeh kexec is designed precisely to load a new kernel w/o rebooting. finally hit mainline in the 2.6.13 release last night, I threw a panic the moment I heard it came out, i've been waiting.
Offline
To clear things up:
Kexec enables the current running kernel to spawn a new instance of itself. This is primarily to be used in combination with Kdump, which uses Kexec to generate rich crash dump data in the event of a system failure. Kexec does not store enough state to transfer your userland processes over to the new kernel instance.
There is no demand for switching kernels on the fly. Doing so is the equivalent of overwriting your working kernel image with one you just built. It's plain stupid and no one would do this in the name of "5 9's" uptime.
There is demand for 5 9's, however, and Xen does store enough state information to do live migration of virtual machines. So, the way this would happen as follows:
1) sees new kernel version is out
2) compiles and installs kernel on a virtual machine managed by Xen
3) tests services by making them available on the internal LAN
4) live migrates the production VM to the kernel testbed
There you go, kernel upgrade without a reboot.
Offline
Pages: 1