maemo.org Bugzilla – Bug 3745
kexec support in kernel (Multiboot support)
Last modified: 2011-07-08 21:25:14 UTC
You need to log in before you can comment on or make changes to this bug.
SOFTWARE VERSION: Fremantle + STEPS TO REPRODUCE THE PROBLEM: power on EXPECTED OUTCOME: Multiboot options a la grub. Able to select different kernels, rootfs and/or initramfs Should be able to boot Diablo or older OS releases for developers to boot test environments. ACTUAL OUTCOME: Unknown - fremantle design is not released so it's hard to comment on it. REPRODUCIBILITY: unknown - previous designs have not made this easy. EXTRA SOFTWARE INSTALLED: Probably! Eg Deblet OTHER COMMENTS: This is an enhancement request to track 3589 into Fremantle. User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071618 Iceweasel/3.0.1 (Debian-3.0.1-1)
First impression: Fremantle comes with upstart and upstart supports multiboot. Eero surely knows more though.
(In reply to comment #1) > First impression: Fremantle comes with upstart and upstart supports multiboot. Upstart is on rootfs, then it's too late to select a kernel, that would need to be done in bootloader. However, bootloader supports only running kernel from the internal flash partition and there are no free partitions for additional kernels. Fremantle doesn't have initfs and programs on rootfs are accessible faster than in Diablo (faster HW etc). So, I guess in Fremantle this could be actually achieved by some 3rd party package that installs a bootup script that asks users to select kernel & rootfs and then mounts the new rootfs, pivot_roots to it (like initfs currently does it in Diablo) and maybe unmounts the default rootfs. For the kernel, maybe something like kexec could be used... Does that work on ARM? (kexec's not supported by our kernels)
(In reply to comment #2) > Fremantle doesn't have initfs and programs on rootfs are accessible faster than > in Diablo (faster HW etc). So, I guess in Fremantle this could be actually > achieved by some 3rd party package that installs a bootup script that asks > users to select kernel & rootfs and then mounts the new rootfs, pivot_roots to > it (like initfs currently does it in Diablo) and maybe unmounts the default > rootfs. For the kernel, maybe something like kexec could be used... Does that > work on ARM? > > (kexec's not supported by our kernels) Hi! kexec works properly on ARMv6l (N8x0) since 2.6.25, userspace just needs a small patch. Please include it as it powers other community needs. http://guug.org/nit/ Please include kexec support in your kernels, it works well in my testings and it
(In reply to comment #3) > (In reply to comment #2) > > Fremantle doesn't have initfs and programs on rootfs are accessible faster than > > in Diablo (faster HW etc). So, I guess in Fremantle this could be actually > > achieved by some 3rd party package that installs a bootup script that asks > > users to select kernel & rootfs and then mounts the new rootfs, pivot_roots to > > it (like initfs currently does it in Diablo) and maybe unmounts the default > > rootfs. For the kernel, maybe something like kexec could be used... Does that > > work on ARM? > > > > (kexec's not supported by our kernels) > > Hi! > > kexec works properly on ARMv6l (N8x0) since 2.6.25, userspace just needs > a small patch. > > Please include it as it powers other community needs. > http://guug.org/nit/ Sorry, correct URL is: http://guug.org/nit/kexec/
> Please include kexec support in your kernels, it works well in my testings Thanks for testing! Kernel devs were OK with this and as the feature's small & useful it's likely to be enabled in Fremantle and could be in the kernel version coming with the next Fremantle SDK (i.e. beta, alpha was already released). Because this isn't needed by the product, I'm pretty sure the kexec user-space tools won't be pre-installed, but need to be installed separately.
(In reply to comment #5) > Kernel devs were OK with this and as the feature's small & useful it's likely > to be enabled in Fremantle and could be in the kernel version coming with the > next Fremantle SDK Anybody willing to test this again with Fremantle SDK? If it's already available I'd close this as WORKSFORME because there's a way to do this, though it's not "officially" supported by Nokia (hence not FIXED).
Anybody who can confirm this with the Fremantle SDK beta? David?
(In reply to comment #7) > Anybody who can confirm this with the Fremantle SDK beta? > David? > CONFIG_KEXEC=y seems to be the case for rx51 config?
So... is it possible to multiboot in the N900 or not?
Yes, see http://talk.maemo.org/showpost.php?p=372885&postcount=22. Hopefully there'll be a hook in later SSU so we won't have to manually patch. Kexec is broken in N900 kernel though.
<Stskeeps> kexec is being worked on still... boot menu we have a hook now
kexec-tools package has been uploaded to fremantle extras-devel. Fremantle kernel needs following patches so that it can switch to another kernel: 0001-ARM-5884-1-arm-Fix-DCC-console-for-v7.patch 0002-ARM-5885-1-arm-Flush-TLB-entries-in-setup_mm_for_reb.patch 0003-ARM-5886-1-arm-Fix-cpu_proc_fin-for-proc-v7.S-and-ma.patch 0004-ARM-5888-1-arm-Update-comments-in-cacheflush.h-and-r.patch Hope this helps!
Thank you! I've uploaded a patched kernel package "kernel-flasher-maemo" to extras-devel.
"According to public Nokia MeeGo blog post about 20.2010.36-2 which was released yesterday, this MeeGo support issue has actually been fixed now..."
kexec is not working with stock nokia kernel and not with kernel-power too. See: http://talk.maemo.org/showthread.php?t=70083