Bug 3745 - (int-163467) kexec support in kernel (Multiboot support)
(int-163467)
: kexec support in kernel (Multiboot support)
Status: RESOLVED FIXED
Product: Core
Kernel
: 5.0/(3.2010.02-8)
: All Linux
: Medium enhancement with 5 votes (vote)
: 5.0/(20.2010.36-2)
Assigned To: unassigned
: linux-kernel-bugs
:
:
:
:
  Show dependency tree
 
Reported: 2008-09-29 16:55 UTC by David Greaves
Modified: 2011-07-08 21:25 UTC (History)
12 users (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description David Greaves (reporter) 2008-09-29 16:55:02 UTC
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)
Comment 1 Quim Gil nokia 2008-10-06 09:01:25 UTC
First impression: Fremantle comes with upstart and upstart supports multiboot.
Eero surely knows more though.
Comment 2 Eero Tamminen nokia 2008-10-08 19:12:51 UTC
(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)
Comment 3 Otto Solares 2008-12-08 22:51:14 UTC
(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
Comment 4 Otto Solares 2008-12-08 22:54:46 UTC
(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/
Comment 5 Eero Tamminen nokia 2008-12-09 15:24:40 UTC
> 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.
Comment 6 Andre Klapper maemo.org 2009-04-09 16:45:55 UTC
(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).
Comment 7 Andre Klapper maemo.org 2009-06-16 14:54:40 UTC
Anybody who can confirm this with the Fremantle SDK beta?
David?
Comment 8 Carsten Munk maemo.org 2009-09-16 10:05:06 UTC
(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?
Comment 9 Quim Gil nokia 2009-11-13 12:14:16 UTC
So... is it possible to multiboot in the N900 or not?
Comment 10 Carsten Munk maemo.org 2009-11-13 12:43:06 UTC
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.
Comment 11 Andre Klapper maemo.org 2010-03-11 15:38:38 UTC
<Stskeeps> kexec is being worked on still... boot menu we have a hook now
Comment 12 Ameya Palande 2010-03-31 18:32:04 UTC
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!
Comment 13 Thomas Tanner 2010-03-31 22:19:22 UTC
Thank you! I've uploaded a patched kernel package "kernel-flasher-maemo"  to
extras-devel.
Comment 14 Andre Klapper maemo.org 2010-10-26 19:21:34 UTC
"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..."
Comment 15 Pali Rohár 2011-07-08 21:25:14 UTC
kexec is not working with stock nokia kernel and not with kernel-power too.
See: http://talk.maemo.org/showthread.php?t=70083