https://elinux.org/api.php?action=feedcontributions&user=Jay7&feedformat=atomeLinux.org - User contributions [en]2024-03-19T13:35:56ZUser contributionsMediaWiki 1.31.0https://elinux.org/index.php?title=Improve_kexecboot&diff=123596Improve kexecboot2012-04-25T20:37:44Z<p>Jay7: /* Contractor Candidates */</p>
<hr />
<div>; Summary : Improve kexecboot<br />
<br />
; Proposer : Yuri Bushmelev<br />
<br />
== Description ==<br />
Kexecboot is a C program able to scan the partitions on available devices,<br />
offering a graphical framebuffer menu and allowing user to select from which<br />
one to boot. Specifically, kexecboot creates the command line for kexec.<br />
<br />
Kexecboot can be launched as init in the initramfs or as a standalone binary.<br />
<br />
Typically kexecboot resides together with kexec in a small initramfs,<br />
embedded in a custom-tailored kernel compiled with support for initramfs and kexec system call.<br />
Both binaries are built static, linked against klibc to optimize size.<br />
<br />
Flashed on NAND and launched as first kernel by the original bootloader,<br />
this solution gives following advantages:<br />
<br />
* multi machine support: we build for many architectures using OpenEmbedded/Yocto (tested on arm, mips and x86/x86_64)<br />
* zImage and uImage (for arm and sh) support<br />
* easy customization: just add machine-specific workarounds (see Zaurus raw read of bootparams from NAND)<br />
* small size: complete linux-kexecboot_3.2.x image (initramfs +kernel) is less than 1Mb (with lzma compression)<br />
* easy boot choice: boot from SD/CF/NAND/... even if bootloader doesn't support it<br />
* multiple fs detection: we support many filesystems e.g. ext2/3/4, jffs2, reiserfs, vfat and more (ubifs is work in progress)<br />
* kernel upgrade: no need to flash the device (kernel is in /boot of removable media)<br />
* rapid testing: different distributions can live in separate partitions on the same device<br />
<br />
Thus, kexecboot is an interesting solution for embedded linux distributions,<br />
which can just rely on it without having to consider what the real<br />
bootloader can and cannot do.<br />
<br />
About customization, initially the program has been developed for Sharp Zaurus PDA (armv5te).<br />
For the machines of that family there is specific code reading bootparams directly from NAND, <br />
circumventing the obsolete bootloader which is incompatible with modern kernels.<br />
<br />
=== Proposed improvements ===<br />
# Improve user interface: show progress bar while scanning devices, display messages in nice dialog boxes, adopt UI for qvga screen, improve overall GUI perfomance.<br />
# Implement GUI -> text UI fallback when GUI can't be initialized.<br />
# Add support for multiple "boot methods". Now we have only one method actually (kexec). It would be great to add methods, based on switch_root, losetup and network boot.<br />
# Add ability to work without procfs. Use config file from current /boot directory instead.<br />
# Implement timeout indication in "--enable-timeout"-mode.<br />
<br />
=== Links ===<br />
* site: http://kexecboot.org<br />
* git tree: http://git.linuxtogo.org/?p=groups/kexecboot/kexecboot.git<br />
* OpenEmbedded recipes: http://cgit.openembedded.org/meta-openembedded/tree/meta-initramfs<br />
* Sharp Zaurus BSP for Yocto Project: http://git.openembedded.org/meta-handheld<br />
<br />
== Related work ==<br />
* kexec-tools - http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/README.html<br />
* kexec-loader - http://www.solemnwarning.net/kexec-loader<br />
* Qi Bootmenu - http://www.brain-dump.org/projects/qi-bootmenu/<br />
* Ubuntu ARMSoftbootLoader specs - http://wiki.ubuntu.com/Specs/ARMSoftbootLoader<br />
<br />
== Scope ==<br />
This should take about 10 person-weeks.<br />
<br />
== Contractor Candidates ==<br />
* Yury Bushmelev (jay7) <jay4mail at gmail.com>, kexecboot lead developer.<br />
* Marko Katić (dromede) <dromede at gmail.com>, zaurus community developer.<br />
<br />
== Comments ==<br />
<br />
[[Category:Project proposals 2012]]</div>Jay7https://elinux.org/index.php?title=Improve_kexecboot&diff=123590Improve kexecboot2012-04-25T20:36:33Z<p>Jay7: /* Links */</p>
<hr />
<div>; Summary : Improve kexecboot<br />
<br />
; Proposer : Yuri Bushmelev<br />
<br />
== Description ==<br />
Kexecboot is a C program able to scan the partitions on available devices,<br />
offering a graphical framebuffer menu and allowing user to select from which<br />
one to boot. Specifically, kexecboot creates the command line for kexec.<br />
<br />
Kexecboot can be launched as init in the initramfs or as a standalone binary.<br />
<br />
Typically kexecboot resides together with kexec in a small initramfs,<br />
embedded in a custom-tailored kernel compiled with support for initramfs and kexec system call.<br />
Both binaries are built static, linked against klibc to optimize size.<br />
<br />
Flashed on NAND and launched as first kernel by the original bootloader,<br />
this solution gives following advantages:<br />
<br />
* multi machine support: we build for many architectures using OpenEmbedded/Yocto (tested on arm, mips and x86/x86_64)<br />
* zImage and uImage (for arm and sh) support<br />
* easy customization: just add machine-specific workarounds (see Zaurus raw read of bootparams from NAND)<br />
* small size: complete linux-kexecboot_3.2.x image (initramfs +kernel) is less than 1Mb (with lzma compression)<br />
* easy boot choice: boot from SD/CF/NAND/... even if bootloader doesn't support it<br />
* multiple fs detection: we support many filesystems e.g. ext2/3/4, jffs2, reiserfs, vfat and more (ubifs is work in progress)<br />
* kernel upgrade: no need to flash the device (kernel is in /boot of removable media)<br />
* rapid testing: different distributions can live in separate partitions on the same device<br />
<br />
Thus, kexecboot is an interesting solution for embedded linux distributions,<br />
which can just rely on it without having to consider what the real<br />
bootloader can and cannot do.<br />
<br />
About customization, initially the program has been developed for Sharp Zaurus PDA (armv5te).<br />
For the machines of that family there is specific code reading bootparams directly from NAND, <br />
circumventing the obsolete bootloader which is incompatible with modern kernels.<br />
<br />
=== Proposed improvements ===<br />
# Improve user interface: show progress bar while scanning devices, display messages in nice dialog boxes, adopt UI for qvga screen, improve overall GUI perfomance.<br />
# Implement GUI -> text UI fallback when GUI can't be initialized.<br />
# Add support for multiple "boot methods". Now we have only one method actually (kexec). It would be great to add methods, based on switch_root, losetup and network boot.<br />
# Add ability to work without procfs. Use config file from current /boot directory instead.<br />
# Implement timeout indication in "--enable-timeout"-mode.<br />
<br />
=== Links ===<br />
* site: http://kexecboot.org<br />
* git tree: http://git.linuxtogo.org/?p=groups/kexecboot/kexecboot.git<br />
* OpenEmbedded recipes: http://cgit.openembedded.org/meta-openembedded/tree/meta-initramfs<br />
* Sharp Zaurus BSP for Yocto Project: http://git.openembedded.org/meta-handheld<br />
<br />
== Related work ==<br />
* kexec-tools - http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/README.html<br />
* kexec-loader - http://www.solemnwarning.net/kexec-loader<br />
* Qi Bootmenu - http://www.brain-dump.org/projects/qi-bootmenu/<br />
* Ubuntu ARMSoftbootLoader specs - http://wiki.ubuntu.com/Specs/ARMSoftbootLoader<br />
<br />
== Scope ==<br />
This should take about 10 person-weeks.<br />
<br />
== Contractor Candidates ==<br />
* Yury Bushmelev (jay7) <jay4mail at gmail.com>, kexecboot lead developer.<br />
* Marko Kati? (dromede) <dromede at gmail.com>, zaurus community developer.<br />
<br />
== Comments ==<br />
<br />
[[Category:Project proposals 2012]]</div>Jay7https://elinux.org/index.php?title=Improve_kexecboot&diff=123584Improve kexecboot2012-04-25T20:36:00Z<p>Jay7: /* Related work */</p>
<hr />
<div>; Summary : Improve kexecboot<br />
<br />
; Proposer : Yuri Bushmelev<br />
<br />
== Description ==<br />
Kexecboot is a C program able to scan the partitions on available devices,<br />
offering a graphical framebuffer menu and allowing user to select from which<br />
one to boot. Specifically, kexecboot creates the command line for kexec.<br />
<br />
Kexecboot can be launched as init in the initramfs or as a standalone binary.<br />
<br />
Typically kexecboot resides together with kexec in a small initramfs,<br />
embedded in a custom-tailored kernel compiled with support for initramfs and kexec system call.<br />
Both binaries are built static, linked against klibc to optimize size.<br />
<br />
Flashed on NAND and launched as first kernel by the original bootloader,<br />
this solution gives following advantages:<br />
<br />
* multi machine support: we build for many architectures using OpenEmbedded/Yocto (tested on arm, mips and x86/x86_64)<br />
* zImage and uImage (for arm and sh) support<br />
* easy customization: just add machine-specific workarounds (see Zaurus raw read of bootparams from NAND)<br />
* small size: complete linux-kexecboot_3.2.x image (initramfs +kernel) is less than 1Mb (with lzma compression)<br />
* easy boot choice: boot from SD/CF/NAND/... even if bootloader doesn't support it<br />
* multiple fs detection: we support many filesystems e.g. ext2/3/4, jffs2, reiserfs, vfat and more (ubifs is work in progress)<br />
* kernel upgrade: no need to flash the device (kernel is in /boot of removable media)<br />
* rapid testing: different distributions can live in separate partitions on the same device<br />
<br />
Thus, kexecboot is an interesting solution for embedded linux distributions,<br />
which can just rely on it without having to consider what the real<br />
bootloader can and cannot do.<br />
<br />
About customization, initially the program has been developed for Sharp Zaurus PDA (armv5te).<br />
For the machines of that family there is specific code reading bootparams directly from NAND, <br />
circumventing the obsolete bootloader which is incompatible with modern kernels.<br />
<br />
=== Proposed improvements ===<br />
# Improve user interface: show progress bar while scanning devices, display messages in nice dialog boxes, adopt UI for qvga screen, improve overall GUI perfomance.<br />
# Implement GUI -> text UI fallback when GUI can't be initialized.<br />
# Add support for multiple "boot methods". Now we have only one method actually (kexec). It would be great to add methods, based on switch_root, losetup and network boot.<br />
# Add ability to work without procfs. Use config file from current /boot directory instead.<br />
# Implement timeout indication in "--enable-timeout"-mode.<br />
<br />
=== Links ===<br />
* site http://kexecboot.org<br />
* git tree http://git.linuxtogo.org/?p=groups/kexecboot/kexecboot.git<br />
* OpenEmbedded recipes:<br />
http://cgit.openembedded.org/meta-openembedded/tree/meta-initramfs<br />
* Sharp Zaurus BSP for Yocto Project: http://git.openembedded.org/meta-handheld<br />
<br />
== Related work ==<br />
* kexec-tools - http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/README.html<br />
* kexec-loader - http://www.solemnwarning.net/kexec-loader<br />
* Qi Bootmenu - http://www.brain-dump.org/projects/qi-bootmenu/<br />
* Ubuntu ARMSoftbootLoader specs - http://wiki.ubuntu.com/Specs/ARMSoftbootLoader<br />
<br />
== Scope ==<br />
This should take about 10 person-weeks.<br />
<br />
== Contractor Candidates ==<br />
* Yury Bushmelev (jay7) <jay4mail at gmail.com>, kexecboot lead developer.<br />
* Marko Kati? (dromede) <dromede at gmail.com>, zaurus community developer.<br />
<br />
== Comments ==<br />
<br />
[[Category:Project proposals 2012]]</div>Jay7https://elinux.org/index.php?title=CELF_Project_Proposal/Improve_kexecboot&diff=43531CELF Project Proposal/Improve kexecboot2011-04-19T21:46:39Z<p>Jay7: /* Comments */ remove link to lost page</p>
<hr />
<div>; Summary : Improve kexecboot<br />
<br />
; Proposer : Yuri Bushmelev<br />
<br />
== Description ==<br />
Kexecboot is a C program able to scan the partitions on available devices, <br />
offering a graphical framebuffer menu and allowing user to select from which <br />
one to boot. Specifically, kexecboot creates the command line for kexec.<br />
<br />
Typically kexecboot resides together with kexec in a small initramfs, <br />
embedded in a custom-tailored kernel compiled with support for initramfs and <br />
kexec system call.<br />
Both binaries are built static, linked against klibc to optimize size. <br />
<br />
Flashed on NAND and launched as first kernel by the original bootloader, <br />
this solution gives following advantages:<br />
<br />
* multi machine support: we build for many architectures using OpenEmbedded (tested on arm and x86/x86_64)<br />
* zImage and uImage (for arm and sh) support<br />
* easy customization: just add machine-specific workarounds (see Zaurus raw read of bootparams from NAND)<br />
* small size: complete linux-kexecboot_2.6.x image (initramfs + kernel) is about 1Mb (less with lzma patches)<br />
* easy boot choice: boot from SD/CF/NAND/... even if bootloader doesn't support it<br />
* multiple fs detection: we support many filesystems e.g. ext2/3/4, jffs2, reiserfs, vfat and more (ubifs is work in progress) <br />
* kernel upgrade: no need to flash the device (kernel is in /boot of removable media)<br />
* rapid testing: different distributions can live in separate partitions on the same device<br />
<br />
Thus, kexecboot is an interesting solution for embedded linux distributions, <br />
which can just rely on kexecboot whithout having to consider what the real <br />
bootloader can and cannot do.<br />
<br />
About customization, initially the program has been developed for Sharp <br />
Zaurus PDA (armv5te).<br />
For the machines of that family there is specific code reading bootparams <br />
directly from NAND, circumventing the obsolete bootloader which is <br />
incompatible with modern 2.6.x kernels.<br />
<br />
=== Proposed improvements ===<br />
# Write user's and developer's guides. '''Done'''<br />
# Extend architecture and filesystems support. '''Kexecboot was tested on MIPS (Ben NanoNote). UBIFS support was not done.'''<br />
# Improve debugging ability. We should allow users to have ability to look for debugging information without special hardware (serial cable e.g.). '''Done'''<br />
# Implement text-mode UI. We have already patches against one of old releases. This can be used later to use kexecboot UI over serial line or telnet/ssh connection. '''Done'''<br />
# Improve GUI. Make GUI more clean and eye-candy (fonts and icons). '''Done'''<br />
# Add ability to use multiple kernels on same partition. Current implementation allow to use only one kernel per partition. '''Done'''<br />
<br />
== Developers ==<br />
* Yuri Bushmelev (jay7) - lead developer<br />
* Thomas Kunze (thesing) - author of first proof-of-concept, initial klibc porting<br />
* Andrea Adami (ant) - initial Zaurus mtdparts reading, kexecboot tester and OpenEmbedded recipe maintainer<br />
* Eric Weiss (pwgen) - initial evdev-based event processing, touchscreen support and OpenMoko port<br />
* Cortez (Omegamoon) - initial config file parser, text UI patch and zUbuntu port<br />
* Michael Casadevall (NCommander) - new configure options, kexecboot tester on x86<br />
<br />
== Links ==<br />
* site http://kexecboot.org<br />
* project http://projects.linuxtogo.org/projects/kexecboot<br />
* git tree http://git.linuxtogo.org/?p=groups/kexecboot/kexecboot.git<br />
* OpenEmbedded recipes: http://www.openembedded.org<br />
<br />
== Related works ==<br />
* kexec-tools - http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/README.html<br />
* kexec-loader - http://www.solemnwarning.net/kexec-loader<br />
* Qi Bootmenu - http://www.brain-dump.org/projects/qi-bootmenu/<br />
* Ubuntu ARMSoftbootLoader specs - http://wiki.ubuntu.com/Specs/ARMSoftbootLoader<br />
<br />
== Scope ==<br />
This should take about 65 hours of work.<br />
<br />
== Status ==<br />
Proposed work was completed in March 2011 (with UBIFS exception). All code is mainlined into git master branch.<br />
<br />
[[Category:Project proposals]]</div>Jay7https://elinux.org/index.php?title=CELF_Project_Proposal/Improve_kexecboot&diff=43525CELF Project Proposal/Improve kexecboot2011-04-19T21:45:57Z<p>Jay7: /* Comments */ Add status section</p>
<hr />
<div>; Summary : Improve kexecboot<br />
<br />
; Proposer : Yuri Bushmelev<br />
<br />
== Description ==<br />
Kexecboot is a C program able to scan the partitions on available devices, <br />
offering a graphical framebuffer menu and allowing user to select from which <br />
one to boot. Specifically, kexecboot creates the command line for kexec.<br />
<br />
Typically kexecboot resides together with kexec in a small initramfs, <br />
embedded in a custom-tailored kernel compiled with support for initramfs and <br />
kexec system call.<br />
Both binaries are built static, linked against klibc to optimize size. <br />
<br />
Flashed on NAND and launched as first kernel by the original bootloader, <br />
this solution gives following advantages:<br />
<br />
* multi machine support: we build for many architectures using OpenEmbedded (tested on arm and x86/x86_64)<br />
* zImage and uImage (for arm and sh) support<br />
* easy customization: just add machine-specific workarounds (see Zaurus raw read of bootparams from NAND)<br />
* small size: complete linux-kexecboot_2.6.x image (initramfs + kernel) is about 1Mb (less with lzma patches)<br />
* easy boot choice: boot from SD/CF/NAND/... even if bootloader doesn't support it<br />
* multiple fs detection: we support many filesystems e.g. ext2/3/4, jffs2, reiserfs, vfat and more (ubifs is work in progress) <br />
* kernel upgrade: no need to flash the device (kernel is in /boot of removable media)<br />
* rapid testing: different distributions can live in separate partitions on the same device<br />
<br />
Thus, kexecboot is an interesting solution for embedded linux distributions, <br />
which can just rely on kexecboot whithout having to consider what the real <br />
bootloader can and cannot do.<br />
<br />
About customization, initially the program has been developed for Sharp <br />
Zaurus PDA (armv5te).<br />
For the machines of that family there is specific code reading bootparams <br />
directly from NAND, circumventing the obsolete bootloader which is <br />
incompatible with modern 2.6.x kernels.<br />
<br />
=== Proposed improvements ===<br />
# Write user's and developer's guides. '''Done'''<br />
# Extend architecture and filesystems support. '''Kexecboot was tested on MIPS (Ben NanoNote). UBIFS support was not done.'''<br />
# Improve debugging ability. We should allow users to have ability to look for debugging information without special hardware (serial cable e.g.). '''Done'''<br />
# Implement text-mode UI. We have already patches against one of old releases. This can be used later to use kexecboot UI over serial line or telnet/ssh connection. '''Done'''<br />
# Improve GUI. Make GUI more clean and eye-candy (fonts and icons). '''Done'''<br />
# Add ability to use multiple kernels on same partition. Current implementation allow to use only one kernel per partition. '''Done'''<br />
<br />
== Developers ==<br />
* Yuri Bushmelev (jay7) - lead developer<br />
* Thomas Kunze (thesing) - author of first proof-of-concept, initial klibc porting<br />
* Andrea Adami (ant) - initial Zaurus mtdparts reading, kexecboot tester and OpenEmbedded recipe maintainer<br />
* Eric Weiss (pwgen) - initial evdev-based event processing, touchscreen support and OpenMoko port<br />
* Cortez (Omegamoon) - initial config file parser, text UI patch and zUbuntu port<br />
* Michael Casadevall (NCommander) - new configure options, kexecboot tester on x86<br />
<br />
== Links ==<br />
* site http://kexecboot.org<br />
* project http://projects.linuxtogo.org/projects/kexecboot<br />
* git tree http://git.linuxtogo.org/?p=groups/kexecboot/kexecboot.git<br />
* OpenEmbedded recipes: http://www.openembedded.org<br />
<br />
== Related works ==<br />
* kexec-tools - http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/README.html<br />
* kexec-loader - http://www.solemnwarning.net/kexec-loader<br />
* Qi Bootmenu - http://www.brain-dump.org/projects/qi-bootmenu/<br />
* Ubuntu ARMSoftbootLoader specs - http://wiki.ubuntu.com/Specs/ARMSoftbootLoader<br />
<br />
== Scope ==<br />
This should take about 65 hours of work.<br />
<br />
== Comments ==<br />
See http://projects.linuxtogo.org/mediawiki/index.php/Kexecboot:CELF<br />
<br />
== Status ==<br />
Proposed work was completed in March 2011 (with UBIFS exception). All code is mainlined into git master branch.<br />
<br />
[[Category:Project proposals]]</div>Jay7https://elinux.org/index.php?title=CELF_Project_Proposal/Improve_kexecboot&diff=43519CELF Project Proposal/Improve kexecboot2011-04-19T21:44:20Z<p>Jay7: /* Proposed improvements */ add final status</p>
<hr />
<div>; Summary : Improve kexecboot<br />
<br />
; Proposer : Yuri Bushmelev<br />
<br />
== Description ==<br />
Kexecboot is a C program able to scan the partitions on available devices, <br />
offering a graphical framebuffer menu and allowing user to select from which <br />
one to boot. Specifically, kexecboot creates the command line for kexec.<br />
<br />
Typically kexecboot resides together with kexec in a small initramfs, <br />
embedded in a custom-tailored kernel compiled with support for initramfs and <br />
kexec system call.<br />
Both binaries are built static, linked against klibc to optimize size. <br />
<br />
Flashed on NAND and launched as first kernel by the original bootloader, <br />
this solution gives following advantages:<br />
<br />
* multi machine support: we build for many architectures using OpenEmbedded (tested on arm and x86/x86_64)<br />
* zImage and uImage (for arm and sh) support<br />
* easy customization: just add machine-specific workarounds (see Zaurus raw read of bootparams from NAND)<br />
* small size: complete linux-kexecboot_2.6.x image (initramfs + kernel) is about 1Mb (less with lzma patches)<br />
* easy boot choice: boot from SD/CF/NAND/... even if bootloader doesn't support it<br />
* multiple fs detection: we support many filesystems e.g. ext2/3/4, jffs2, reiserfs, vfat and more (ubifs is work in progress) <br />
* kernel upgrade: no need to flash the device (kernel is in /boot of removable media)<br />
* rapid testing: different distributions can live in separate partitions on the same device<br />
<br />
Thus, kexecboot is an interesting solution for embedded linux distributions, <br />
which can just rely on kexecboot whithout having to consider what the real <br />
bootloader can and cannot do.<br />
<br />
About customization, initially the program has been developed for Sharp <br />
Zaurus PDA (armv5te).<br />
For the machines of that family there is specific code reading bootparams <br />
directly from NAND, circumventing the obsolete bootloader which is <br />
incompatible with modern 2.6.x kernels.<br />
<br />
=== Proposed improvements ===<br />
# Write user's and developer's guides. '''Done'''<br />
# Extend architecture and filesystems support. '''Kexecboot was tested on MIPS (Ben NanoNote). UBIFS support was not done.'''<br />
# Improve debugging ability. We should allow users to have ability to look for debugging information without special hardware (serial cable e.g.). '''Done'''<br />
# Implement text-mode UI. We have already patches against one of old releases. This can be used later to use kexecboot UI over serial line or telnet/ssh connection. '''Done'''<br />
# Improve GUI. Make GUI more clean and eye-candy (fonts and icons). '''Done'''<br />
# Add ability to use multiple kernels on same partition. Current implementation allow to use only one kernel per partition. '''Done'''<br />
<br />
== Developers ==<br />
* Yuri Bushmelev (jay7) - lead developer<br />
* Thomas Kunze (thesing) - author of first proof-of-concept, initial klibc porting<br />
* Andrea Adami (ant) - initial Zaurus mtdparts reading, kexecboot tester and OpenEmbedded recipe maintainer<br />
* Eric Weiss (pwgen) - initial evdev-based event processing, touchscreen support and OpenMoko port<br />
* Cortez (Omegamoon) - initial config file parser, text UI patch and zUbuntu port<br />
* Michael Casadevall (NCommander) - new configure options, kexecboot tester on x86<br />
<br />
== Links ==<br />
* site http://kexecboot.org<br />
* project http://projects.linuxtogo.org/projects/kexecboot<br />
* git tree http://git.linuxtogo.org/?p=groups/kexecboot/kexecboot.git<br />
* OpenEmbedded recipes: http://www.openembedded.org<br />
<br />
== Related works ==<br />
* kexec-tools - http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/README.html<br />
* kexec-loader - http://www.solemnwarning.net/kexec-loader<br />
* Qi Bootmenu - http://www.brain-dump.org/projects/qi-bootmenu/<br />
* Ubuntu ARMSoftbootLoader specs - http://wiki.ubuntu.com/Specs/ARMSoftbootLoader<br />
<br />
== Scope ==<br />
This should take about 65 hours of work.<br />
<br />
== Comments ==<br />
See http://projects.linuxtogo.org/mediawiki/index.php/Kexecboot:CELF<br />
<br />
[[Category:Project proposals]]</div>Jay7https://elinux.org/index.php?title=CELF_Project_Proposal/Improve_kexecboot&diff=43513CELF Project Proposal/Improve kexecboot2011-04-19T21:42:35Z<p>Jay7: /* Links */ add link to kexecboot.org site</p>
<hr />
<div>; Summary : Improve kexecboot<br />
<br />
; Proposer : Yuri Bushmelev<br />
<br />
== Description ==<br />
Kexecboot is a C program able to scan the partitions on available devices, <br />
offering a graphical framebuffer menu and allowing user to select from which <br />
one to boot. Specifically, kexecboot creates the command line for kexec.<br />
<br />
Typically kexecboot resides together with kexec in a small initramfs, <br />
embedded in a custom-tailored kernel compiled with support for initramfs and <br />
kexec system call.<br />
Both binaries are built static, linked against klibc to optimize size. <br />
<br />
Flashed on NAND and launched as first kernel by the original bootloader, <br />
this solution gives following advantages:<br />
<br />
* multi machine support: we build for many architectures using OpenEmbedded (tested on arm and x86/x86_64)<br />
* zImage and uImage (for arm and sh) support<br />
* easy customization: just add machine-specific workarounds (see Zaurus raw read of bootparams from NAND)<br />
* small size: complete linux-kexecboot_2.6.x image (initramfs + kernel) is about 1Mb (less with lzma patches)<br />
* easy boot choice: boot from SD/CF/NAND/... even if bootloader doesn't support it<br />
* multiple fs detection: we support many filesystems e.g. ext2/3/4, jffs2, reiserfs, vfat and more (ubifs is work in progress) <br />
* kernel upgrade: no need to flash the device (kernel is in /boot of removable media)<br />
* rapid testing: different distributions can live in separate partitions on the same device<br />
<br />
Thus, kexecboot is an interesting solution for embedded linux distributions, <br />
which can just rely on kexecboot whithout having to consider what the real <br />
bootloader can and cannot do.<br />
<br />
About customization, initially the program has been developed for Sharp <br />
Zaurus PDA (armv5te).<br />
For the machines of that family there is specific code reading bootparams <br />
directly from NAND, circumventing the obsolete bootloader which is <br />
incompatible with modern 2.6.x kernels.<br />
<br />
=== Proposed improvements ===<br />
# Write user's and developer's guides.<br />
# Extend architecture and filesystems support.<br />
# Improve debugging ability. We should allow users to have ability to look for debugging information without special hardware (serial cable e.g.).<br />
# Implement text-mode UI. We have already patches against one of old releases. This can be used later to use kexecboot UI over serial line or telnet/ssh connection.<br />
# Improve GUI. Make GUI more clean and eye-candy (fonts and icons).<br />
# Add ability to use multiple kernels on same partition. Current implementation allow to use only one kernel per partition.<br />
<br />
== Developers ==<br />
* Yuri Bushmelev (jay7) - lead developer<br />
* Thomas Kunze (thesing) - author of first proof-of-concept, initial klibc porting<br />
* Andrea Adami (ant) - initial Zaurus mtdparts reading, kexecboot tester and OpenEmbedded recipe maintainer<br />
* Eric Weiss (pwgen) - initial evdev-based event processing, touchscreen support and OpenMoko port<br />
* Cortez (Omegamoon) - initial config file parser, text UI patch and zUbuntu port<br />
* Michael Casadevall (NCommander) - new configure options, kexecboot tester on x86<br />
<br />
== Links ==<br />
* site http://kexecboot.org<br />
* project http://projects.linuxtogo.org/projects/kexecboot<br />
* git tree http://git.linuxtogo.org/?p=groups/kexecboot/kexecboot.git<br />
* OpenEmbedded recipes: http://www.openembedded.org<br />
<br />
== Related works ==<br />
* kexec-tools - http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/README.html<br />
* kexec-loader - http://www.solemnwarning.net/kexec-loader<br />
* Qi Bootmenu - http://www.brain-dump.org/projects/qi-bootmenu/<br />
* Ubuntu ARMSoftbootLoader specs - http://wiki.ubuntu.com/Specs/ARMSoftbootLoader<br />
<br />
== Scope ==<br />
This should take about 65 hours of work.<br />
<br />
== Comments ==<br />
See http://projects.linuxtogo.org/mediawiki/index.php/Kexecboot:CELF<br />
<br />
[[Category:Project proposals]]</div>Jay7https://elinux.org/index.php?title=CELF_Project_Proposal/Improve_kexecboot&diff=43507CELF Project Proposal/Improve kexecboot2011-04-19T21:41:38Z<p>Jay7: /* Related works */ qi bootmenu url changed</p>
<hr />
<div>; Summary : Improve kexecboot<br />
<br />
; Proposer : Yuri Bushmelev<br />
<br />
== Description ==<br />
Kexecboot is a C program able to scan the partitions on available devices, <br />
offering a graphical framebuffer menu and allowing user to select from which <br />
one to boot. Specifically, kexecboot creates the command line for kexec.<br />
<br />
Typically kexecboot resides together with kexec in a small initramfs, <br />
embedded in a custom-tailored kernel compiled with support for initramfs and <br />
kexec system call.<br />
Both binaries are built static, linked against klibc to optimize size. <br />
<br />
Flashed on NAND and launched as first kernel by the original bootloader, <br />
this solution gives following advantages:<br />
<br />
* multi machine support: we build for many architectures using OpenEmbedded (tested on arm and x86/x86_64)<br />
* zImage and uImage (for arm and sh) support<br />
* easy customization: just add machine-specific workarounds (see Zaurus raw read of bootparams from NAND)<br />
* small size: complete linux-kexecboot_2.6.x image (initramfs + kernel) is about 1Mb (less with lzma patches)<br />
* easy boot choice: boot from SD/CF/NAND/... even if bootloader doesn't support it<br />
* multiple fs detection: we support many filesystems e.g. ext2/3/4, jffs2, reiserfs, vfat and more (ubifs is work in progress) <br />
* kernel upgrade: no need to flash the device (kernel is in /boot of removable media)<br />
* rapid testing: different distributions can live in separate partitions on the same device<br />
<br />
Thus, kexecboot is an interesting solution for embedded linux distributions, <br />
which can just rely on kexecboot whithout having to consider what the real <br />
bootloader can and cannot do.<br />
<br />
About customization, initially the program has been developed for Sharp <br />
Zaurus PDA (armv5te).<br />
For the machines of that family there is specific code reading bootparams <br />
directly from NAND, circumventing the obsolete bootloader which is <br />
incompatible with modern 2.6.x kernels.<br />
<br />
=== Proposed improvements ===<br />
# Write user's and developer's guides.<br />
# Extend architecture and filesystems support.<br />
# Improve debugging ability. We should allow users to have ability to look for debugging information without special hardware (serial cable e.g.).<br />
# Implement text-mode UI. We have already patches against one of old releases. This can be used later to use kexecboot UI over serial line or telnet/ssh connection.<br />
# Improve GUI. Make GUI more clean and eye-candy (fonts and icons).<br />
# Add ability to use multiple kernels on same partition. Current implementation allow to use only one kernel per partition.<br />
<br />
== Developers ==<br />
* Yuri Bushmelev (jay7) - lead developer<br />
* Thomas Kunze (thesing) - author of first proof-of-concept, initial klibc porting<br />
* Andrea Adami (ant) - initial Zaurus mtdparts reading, kexecboot tester and OpenEmbedded recipe maintainer<br />
* Eric Weiss (pwgen) - initial evdev-based event processing, touchscreen support and OpenMoko port<br />
* Cortez (Omegamoon) - initial config file parser, text UI patch and zUbuntu port<br />
* Michael Casadevall (NCommander) - new configure options, kexecboot tester on x86<br />
<br />
== Links ==<br />
* project http://projects.linuxtogo.org/projects/kexecboot<br />
* git tree http://git.linuxtogo.org/?p=groups/kexecboot/kexecboot.git<br />
* OpenEmbedded recipes: http://www.openembedded.org<br />
<br />
== Related works ==<br />
* kexec-tools - http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/README.html<br />
* kexec-loader - http://www.solemnwarning.net/kexec-loader<br />
* Qi Bootmenu - http://www.brain-dump.org/projects/qi-bootmenu/<br />
* Ubuntu ARMSoftbootLoader specs - http://wiki.ubuntu.com/Specs/ARMSoftbootLoader<br />
<br />
== Scope ==<br />
This should take about 65 hours of work.<br />
<br />
== Comments ==<br />
See http://projects.linuxtogo.org/mediawiki/index.php/Kexecboot:CELF<br />
<br />
[[Category:Project proposals]]</div>Jay7