Mer/Documentation/Bootmenu

Image:Mer infobox icon.png
Mer is back : Please visit http://www.merproject.org to learn more about this news.


When flashing the new bootloader (bootmenu) via the Mer installer it will look for items in /etc/bootmenu.d/ and include those in the bootmenu. This is important when you have an operating system e.g. on your external card.

You could have multiple OSes on your tablet, eg:

  • Maemo in internal flash, Mer on SD,
  • Mer in internal flash
  • Maemo in internal flash, Mer on SD, 2nd Maemo on SD

Remember that you need to press the menu button as you boot to access the bootmenu.

Contents

[edit] Setting up your Bootmenu .item files for Mer

Assuming that you have booted Maemo (or equivalent) from your internal flash and you are currently running Maemo.

(Note that you will need to look in /mnt/initfs/ for etc/bootmenu.d/ if you are running Mer or Maemo from an SD card).

After downloading and installing the Mer installer (see Mer/Documentation/Installation) you need to work as root (see Root_access).

Go to /etc/bootmenu.d/ (cd /etc/bootmenu.d) and check for files (ls -la). Every file with the ending .item in this folder will result in an entry in the bootmenu. The internal flash is always part of the bootmenu.conf, so you dont need a .item file for that.

The following example (vi mer.ext.item) will make an option in the bootmenu which allows you to boot Mer from the 3rd partition of the external sd card, formatted with ext3:


# will be shown in the bootmenu
ITEM_NAME="Mer on external card, p3"
# needs to be an unique string to identify this item
ITEM_ID="mer"
# which hardware device and partition should be booted. 
# use ${EXT_CARD} for the external card (slot) or ${INT_CARD} for the internal mmc
# followed by p3 for partition three
ITEM_DEVICE="${EXT_CARD}p3"
# which modules to load at boottime
ITEM_MODULES="mbcache jbd ext3"
# filesystem used on that partition
ITEM_FSTYPE="ext3"
# mounting options
ITEM_FSOPTIONS="noatime,ro"
# Use the Mer linuxrc to continue to Boot (IMPORTANT for Mer)
ITEM_LINUXRC="linuxrc"

Once finished entering the above 'code' type :w, press return. Then type :q and press return again. You'll then be back at /etc/bootmenu.d/

Don't forget to use the refresh_bootmenu.d command.

[edit] Setting the Default bootmenu item

With cal-tool found in initfs, it is possible to set which item to boot as default or/and set bootmenu to show up without pressing any key.

You'll need to work as root (see Root_access).

[edit] How to set Mer to boot as default?

First you need to set up your .item files stored in /etc/bootmenu.d/ (see above) Please set the ITEM_ID to something small with nothing useless and no spaces.

The basic command to set ID "mer" to default is :


chroot /mnt/initfs cal-tool --set-root-device mer

If the ID you set doesn't exist, it will be boot to Internal Flash as default.
It may be necessary to use the refresh_bootmenu.d command before this change is put into effect.

[edit] How to make bootmenu pop up without pressing any key?

Bootmenu will pop up automatically if you add "ask:" to the command above. For example, this will make bootmenu show up automaticlly, and ITEM_ID "mer" will be preselected:


chroot /mnt/initfs cal-tool --set-root-device ask:mer


It may be necessary to use the refresh_bootmenu.d command before this change is put into effect.

[edit] Setting up your Bootmenu .item files for other operating systems

Assuming that you have booted Maemo (or equivalent) from your internal flash and are running it.

The following example (vi mer.ext.item) will make an option in the bootmenu which allows you to boot another operating system (e.g maemo or Deblet) from the 4th partition of the external sd card, formatted with ext3:


# will be shown in the bootmenu
ITEM_NAME="Maemo on external card, p4"
# needs to be an unique string to identify this item
ITEM_ID="maemo2"
# which hardware device and partition should be booted. 
# use ${EXT_CARD} for the external card (slot) or ${INT_CARD} for the internal mmc
# followed by p4 for partition four
ITEM_DEVICE="${EXT_CARD}p4"
# which modules to load at boottime
ITEM_MODULES="mbcache jbd ext3"
# filesystem used on that partition
ITEM_FSTYPE="ext3"
# mounting options
ITEM_FSOPTIONS="noatime,rw"

Don't forget to use the refresh_bootmenu.d command.

[edit] How to get .item files into the bootmenu

After editing or creating an .item file take care that you run the following command as root:


# refresh_bootmenu.d

After answering all questions with 'yes' the tablet reboots and you can choose your new or modified menu entry.