How-Tos‎ > ‎

Linuxium's Bootloader software to dual boot Android and Linux

posted 20 Aug 2014, 01:24 by Ian MORRISON   [ updated 5 Dec 2015, 17:14 ]
I've updated my original bootloader software (see post below) with the following improvements:
  1. There is now a separate partition for Linux.  This fixes how the 'sdcard' is mounted in Android and removes the need to edit 'vold.fstab'.
  2. The bootloader now allows SD cards to hold the Linux root file system (RFS) either on the entire card or on a partition on the card.  This means you can now use either 'dd' in Linux or 'Win32 Disk Imager' in Windows to create the SD card with the Linux RFS.  As a result, the utilities are no longer required.
  3. Booting Android from SD card has now been removed as it added complexity and wasn't needed by most users.
  4. By sharing a common parameter file, both the Linux and Android kernels (kernel.img and recovery.img respectively) and Android RFS (system.img) can be substituted with any working image that uses the parameter file (i.e. CONFIG_CMDLINE_FROM_BOOTLOADER=y).
  5. A single update image is now available for flashing to simplify installation.
  6. The update image includes the latest stable Android image released for that device together with a Linux kernel built from the source code released for that device.
This latest version allows the choice of booting Android from NAND or Linux from SD card/NAND with an option to install/remove Linux to/from NAND or save to SD card as well as offering access to the command-line by invoking a shell.


Pre-Requisites

For Windows download and install 'RKBatchTool' (see these excellent instructions http://wiki.radxa.com/Rock/flash_the_image#Install_driver) or for Linux download and install 'upgrade_tool' (see https://plus.google.com/109451178006683865932/posts/ZVic25M5cdT).

Download a Linux root file system e.g.
and install to an SD card (unzip and then for Windows use 'Win32 Disk Imager' or for Linux use 'dd').


Installation

Connect your 3188 device in bootloader mode (check with your seller/manufacture's site for specific information on your device although typically it means connecting a USB cable to your PC and pressing the reset button on your device while you connect the other end of the cable to the micro USB OTG port on your device).

Download and unzip the update image appropriate to your device:


Flash your device using 'RKBatchTool' for Windows or 'upgrade_tool' for Linux (see the instructions above).

Now insert the SD card and boot your device.  Select the required boot option from the on-screen menu.  Note the first Android boot is very slow as it is setting up the system ready for use.  Be patient, even after you think that nothing is happening, as it will boot!

To add the Linux modules to the Linux RFS simply:
  1. Download the relevant modules and unzip the file:
  2. As root enter 'cd /lib/modules' and then 'cpio -ivdum < <unzipped_modules_file>'
  3. Reboot

Caveat - required reading

Flashing software to a device can cause the device to become 'bricked'.  Typically this is due to a specific cause e.g. poor quality USB cable, insufficient power source, manual interruption/intervention, incorrect flashing software etc..  There are several techniques to recover from this situation published on the internet.  Whilst this software has been extensively tested on the specific devices without problem, your usage of it is at your own risk.