Multibooting

From OESF

(Difference between revisions)
Jump to: navigation, search
m (New article on multibooting)
Current revision (18:55, 18 June 2010) (edit) (undo)
m (kexec Bootloader - added kexec project link)
 

(6 intermediate revisions not shown.)

Line 1:

Line 1:

-
The idea of a multiboot system is that you can run any distribution on your device. You initially boot a rootfs as the main system and then to boot quickly (bypassing the bootloader stage) into different distros/ROMs as subsystems.
+
= Concept =
-
New kernels are loaded on the spot with kexec.
+
-
You can switch between kernels and you can run the system from internal disk, CF, SD or NAND. This means that
+
On Zaurus there is a bootloader, this will select the device to boot, load a kernel and start the system. uboot is a bootloader.
-
you can run kernels such as Yonggun, Poky, Angstrom; ROM images such as Cacko and Sharp; also pdaXrom and
+
 
-
Android. Restrictions apply; for example, the Sharp ROM has the file structure hard coded.
+
The Angstrom project developed a tool called kexec that allows you to switch to another kernel from a running system. You can also make a kexec boot selector to choose from kernels stored on various media such as NAND, HDD, or memory card.
 +
 
 +
== kexec Bootloader ==
 +
 
 +
kexec probes all bootable devices and looks for a directory /boot containing the following 3 files
 +
# zImage (the kernel)
 +
# image.nfo (One line description of the kernel, for the menu)
 +
# kernel-cmdline (kernel command line parameters)
 +
 
 +
The probe stage can be quite slow, it may be quicker to boot a distribution using a standard bootloader and then run kexec on the command line to switch to the other kernel.
Note that Angstrom has the altboot utility that also allows multibooting.
Note that Angstrom has the altboot utility that also allows multibooting.
-
+
 
-
* This is a summary of [http://www.oesf.org/forum/index.php?showtopic=25555 ZDevil's How to thread]
+
Download kexec here: http://projects.linuxtogo.org/frs/?group_id=55
 +
 
 +
= Distributions =
 +
== Sharp ROM/Cacko ==
 +
 
 +
The Sharp ROM and Cacko both have restrictions:
 +
# The NAND has the original layout.
 +
# The hard drive on SL-C3xxx must have specific partitioning and files.
 +
 
 +
The Sharp kernel is based on 2.4 and does not read command line parameters, that's why some of these things are hard coded, such as drive layout.
 +
 
 +
The hard drive requirement may be removed from Cacko, using [http://www.oesf.org/forum/index.php?act=attach&type=post&id=5405 this script] by ZDevil. It modifies the rc.rofilesys start up script.
 +
 
 +
Note the Sharp ROM will show the Sharp logo while booting. Other ROMS will not show this logo because they have other images, such as Tux compiled in.
 +
 
 +
== Android ==
 +
 
 +
[http://www.omegamoon.com/blog/static.php?page=ZaurusAndroid Cortez's Android] uses altboot, a tool from OpenEmbedded to set up a root filesystem after booting with the Poky kernel.
 +
 
 +
== Andromeda (Debian) ==
 +
 
 +
Andromeda can be run via the kexec bootloader.
 +
 
 +
== Zubuntu ==
 +
 
 +
Zubuntu comes ready to run via the kexec bootloader.
 +
 
 +
= Troubleshooting =
 +
 
 +
* kexec will not show extended partitions on SD cards
 +
* The kernel must be named zImage for kexec to find it
 +
* If the requirements for the Sharp ROM are not met then there are various manifestations of kernel panic, hang/lock up etc that you may encounter
 +
 
 +
= See Also =
 +
 
 +
* [[Kernels]]

Current revision

Contents

Concept

On Zaurus there is a bootloader, this will select the device to boot, load a kernel and start the system. uboot is a bootloader.

The Angstrom project developed a tool called kexec that allows you to switch to another kernel from a running system. You can also make a kexec boot selector to choose from kernels stored on various media such as NAND, HDD, or memory card.

kexec Bootloader

kexec probes all bootable devices and looks for a directory /boot containing the following 3 files

  1. zImage (the kernel)
  2. image.nfo (One line description of the kernel, for the menu)
  3. kernel-cmdline (kernel command line parameters)

The probe stage can be quite slow, it may be quicker to boot a distribution using a standard bootloader and then run kexec on the command line to switch to the other kernel.

Note that Angstrom has the altboot utility that also allows multibooting.

Download kexec here: http://projects.linuxtogo.org/frs/?group_id=55

Distributions

Sharp ROM/Cacko

The Sharp ROM and Cacko both have restrictions:

  1. The NAND has the original layout.
  2. The hard drive on SL-C3xxx must have specific partitioning and files.

The Sharp kernel is based on 2.4 and does not read command line parameters, that's why some of these things are hard coded, such as drive layout.

The hard drive requirement may be removed from Cacko, using this script by ZDevil. It modifies the rc.rofilesys start up script.

Note the Sharp ROM will show the Sharp logo while booting. Other ROMS will not show this logo because they have other images, such as Tux compiled in.

Android

Cortez's Android uses altboot, a tool from OpenEmbedded to set up a root filesystem after booting with the Poky kernel.

Andromeda (Debian)

Andromeda can be run via the kexec bootloader.

Zubuntu

Zubuntu comes ready to run via the kexec bootloader.

Troubleshooting

  • kexec will not show extended partitions on SD cards
  • The kernel must be named zImage for kexec to find it
  • If the requirements for the Sharp ROM are not met then there are various manifestations of kernel panic, hang/lock up etc that you may encounter

See Also

Personal tools