Multi-os
From AlwaysInnovating
Since 2010-09.a, Always Innovating offers an innovative solution to run multiple OS at the same time, without reboot, and without any performance loss.
Contents |
Selection of OS at boot time
You can select OS at boot time. Note that you won't be able to switch from one to the other without a reboot. Just press the power button once when when the white AIOS logo appears during boot.
Since 2010-12.a, the system will boot by default in Android. However, you can select another OS at boot time. In order to do so, you need to:
- turn on your device
- as soon as you you see the white AI logo appearing on the screen, click the tablet power button: it will make visible a "Loading multi-OS selection screen..." text in the upper left corner.
- then you will get the following screen, on which you can select the OS of your choice with the touchscreen
Additionally, you have the advanced options (like resetting or reinstalling your device) by following this procedure and tap in the bottom left corner when the multi-OS selection text appears, or press escape at that time. You will be prompted the following menu:
- 0 - Start the OS selection interface
- 1 - Boot Always Innovating OS (Summer 2010)
- 2 - Boot Android (Gingerbread v2.3)
- 3 - Boot Ubuntu (Maverick Meerkat)
- 4 - Boot Chromium OS (January 2011)
- 5 - Reset the device (requires confirmation)
- 6 - Reinstall the device (requires confirmation)
- 7 - Get a command line
First partition configuration
The first partition of the SD card contains the files needed to boot the device, as well as the kernel. It can actually be configured to (i) change things like screen resolution, console output, or video depth and (ii) select the behavior of the default boot.
Creating a custom boot.scr
This will allow you to change the command line passed to the kernel during the boot. To do so:
- download the create-boot-scr.sh script
- edit it to customize the arguments you're interested in, like for example:
- console sets the default output for the console; it's tty1 by default, but you can set it up to another ttyX or to serial to get it through a serial connection
- omapfb.mode sets the screen resolution (1024x600 by default) and the video depth (16 bits by default, the only other possible value on the Touch Book being 24)
- vram sets the amount of RAM dedicated to the video
- then run the script on an x86 machine to create a boot.scr file
- copy this boot.scr file to your first partition
- sync your card and reboot
Once booted, you can check that your modified arguments have been taken in account with:
cat /proc/cmdline
Creating a custom ai-initramfs.cmd
This will allow you to customize the default behaviour of the multi-OS boot options. To do so:
- edit an empty file named ai-initramfs.cmd, and add the three following lines:
IMAGE= IMAGE_DEFAULT= DELAY=
- IMAGE sets the image to boot immediately without showing the multi-OS selection boot screen. You can set it to either ai-os, ubuntu, android, chromium, or advanced. This variable is not set by default, therefore the multi-OS selection boot screen is shown.
- IMAGE_DEFAULT sets the image to boot after that the multi-OS selection boot screen has been shown up for DELAY seconds. The default value of this variable is android.
- DELAY is set by default to 20 and is expressed in seconds, and can be set to any value in seconds.
As an example, the default ai-initramfs.cmd corresponding to the factory behaviour would be:
IMAGE_DEFAULT=android DELAY=20
- copy this file to your first partition
- sync and reboot
To understand the full process, you can read the AI initrd scripts.
Selection of OS at run time
Through the multi-OS manager graphical interface
When you boot into AIOS, you have the ability to start, run and stop the other operating systems installed on your device. In order to do so, first double-click on the tablet power button to popup the multi-OS manager interface:
Through this interface, you can:
- start an OS by clicking on the OS icon or the OS start button (green arrow)
- switch to a running OS by clicking on the running OS icon
- stop an OS by clicking on the OS stop button (red square)
Also, from any of the running OS, you can, at any time:
- double-click on the tablet power button to popup the multi-OS manager interface
- long-click (2sec) on the tablet power button to switch to the next running OS (switch order is AIOS > Ubuntu > ChromiumOS > Android > AIOS)
Note: to be able to start ChromiumOS from this interface and log into it, you first must have booted into it at least once (see previous section).
Through the command line
If you run AIOS, you can start and switch to any other OS. Relevant files can be found in /usr/share/ai-multipleos/ and /usr/share/ai-daemon/button-power.sh
For example, you can type the following command line to launch Android:
sudo /usr/share/ai-multipleos/nativeos.sh -a
To switch from AIOS to Android, press the power button for two seconds. (don't press too long, as a 4-second press will hard shutdown the device).
You can type the following command line to stop a previously started Android
sudo /usr/share/ai-multipleos/nativeos.sh -a -d
Just read the scripts to get a better comprehension of these mechanisms.


