Post date: Feb 23, 2016 1:23:7 PM
With the growing interest in Remix OS and the new Phoenix OS I thought it would be interesting to install these Android-x86 based systems together with the original Android-x86 on the latest Intel Compute Stick to be able to see what the key differences are.
The following instructions should be simple enough for anyone to follow and work on the new ICS STK1AW32SC. It is possible to multi-boot Windows, Linux and the Android based systems and I've previously posted instructions for dual-booting Windows and Ubuntu so I'm assuming that an Ubuntu installation is already understood.
So the starting point is to set the BIOS 'Select Operating System' to 'Windows 64 bit' and ensure USB booting is enabled so you can install Ubuntu from a USB. First create a LiveUSB with Ubuntu 15.10 and install on your ICS SC. Note that I did try 14.04 but it didn't work initially and I haven't investigated any further to determine if it would be possible.
Having installed and booted Ubuntu it is necessary to install the squash file system tools in order to improve the speed of the Android systems when running:
sudo apt-get install squashfs-tools
Initially you going to install the two latest versions of Android-x86 available from http://www.android-x86.org/download. Download the 'android-x86-4.4-r5.iso' ISO and to make a bootable Android-x86 enter:
sudo mkdir /boot/android-x86-4.4-r5
sudo mount android-x86-4.4-r5.iso /mnt
sudo cp /mnt/initrd.img /boot/android-x86-4.4-r5
sudo cp /mnt/kernel /boot/android-x86-4.4-r5
sudo cp /mnt/ramdisk.img /boot/android-x86-4.4-r5
sudo cp /mnt/system.sfs /boot/android-x86-4.4-r5
sudo unsquashfs -d /boot/android-x86-4.4-r5/system /boot/android-x86-4.4-r5/system.sfs
sudo mv /boot/android-x86-4.4-r5/system/system.img /boot/android-x86-4.4-r5
sudo rm -rf /boot/android-x86-4.4-r5/system /boot/android-x86-4.4-r5/system.sfs
sudo umount /mnt
Now download the 'android-x86_64-5.1-rc1.img' EFI image also from that site and 'install' by entering:
sudo mkdir /boot/android-x86_64-5.1-rc1
sudo kpartx -l android-x86_64-5.1-rc1.img | head -1 | sed 's/ .*//'
Make a note of the loop device (e.g. loop0p1) for the 'mount' command below:
sudo kpartx -a android-x86_64-5.1-rc1.img
sudo mount /dev/mapper/loop0p1 /mnt
sudo cp /mnt/initrd.img /boot/android-x86_64-5.1-rc1
sudo cp /mnt/kernel /boot/android-x86_64-5.1-rc1
sudo cp /mnt/ramdisk.img /boot/android-x86_64-5.1-rc1
sudo cp /mnt/system.sfs /boot/android-x86_64-5.1-rc1
sudo umount /mnt
sudo kpartx -d android-x86_64-5.1-rc1.img
sudo unsquashfs -d /boot/android-x86_64-5.1-rc1/system /boot/android-x86_64-5.1-rc1/system.sfs
sudo mv /boot/android-x86_64-5.1-rc1/system/system.img /boot/android-x86_64-5.1-rc1
sudo rm -rf /boot/android-x86_64-5.1-rc1/system /boot/android-x86_64-5.1-rc1/system.sfs
The next Android system to install is Phoenix OS and the installation image can be found at http://www.phoenixos.com/download_x86 so start by download the installation file 'PhoenixOSInstaller-1.0.3-beta.exe'. Although this is issued as a Windows executable we can still extract the files required on Linux by entering:
sudo mkdir /boot/phoenixos
sudo 7z x -o/boot/phoenixos PhoenixOSInstaller-1.0.3-beta.exe
sudo rm /boot/phoenixos/install.img
sudo unsquashfs -d /boot/phoenixos/system /boot/phoenixos/system.sfs
sudo mv /boot/phoenixos/system/system.img /boot/phoenixos
sudo rm -rf /boot/phoenixos/system /boot/phoenixos/system.sfs
Finally to install Remix OS you need to download the one marked EFI from http://www.jide.com/en/remixos-for-pc#downloadNow and enter:
sudo unzip Remix_OS_for_PC_64_B2016020201_Alpha_EFI.zip
sudo mkdir /boot/remixos
sudo kpartx -l Remix_OS_for_PC_64_B2016020201_Alpha_EFI.img | head -1 | sed 's/ .*//'
Again make a note of the loop device (e.g. loop0p1) for the 'mount' command below:
sudo kpartx -a Remix_OS_for_PC_64_B2016020201_Alpha_EFI.img
sudo mount /dev/mapper/loop0p1 /mnt
sudo cp /mnt/initrd.img /boot/remixos
sudo cp /mnt/kernel /boot/remixos
sudo cp /mnt/ramdisk.img /boot/remixos
sudo cp /mnt/system.sfs /boot/remixos
sudo umount /mnt
sudo kpartx -d Remix_OS_for_PC_64_B2016020201_Alpha_EFI.img
sudo unsquashfs -d /boot/remixos/system /boot/remixos/system.sfs
sudo mv /boot/remixos/system/system.img /boot/remixos
sudo rm -rf /boot/remixos/system /boot/remixos/system.sfs
None of the systems have a 'persistent' pseudo data partition at the stage so the next step is to create an empty 'data.img' file by entering:
sudo dd if=/dev/zero of=data.img bs=2G count=1
sudo mkfs.ext4 -F data.img
sudo fsck.ext4 -fp data.img
You could modify the 'count' if a larger file is required however I recommend 2GB as a minimum.
Now copy this 'data.img' file to each of the boot directories created above:
sudo cp data.img /boot/android-x86-4.4-r5
sudo cp data.img /boot/android-x86_64-5.1-rc1.img
sudo cp data.img /boot/phoenixos
sudo cp data.img /boot/remixos
You can now delete all the downloads and any files/directories created from the above commands to tidy up and save on space.
To boot each Android system you need to create the grub config files:
sudo cat <<EOF > /boot/grub/android-x86-4.4-r5.cfg
menuentry 'Android-x86 4.4-r5' --class android-x86 {
search --file --no-floppy --set=root /boot/android-x86-4.4-r5/system.img
linux /boot/android-x86-4.4-r5/kernel root=/dev/ram0 androidboot.hardware=android_x86 quiet DATA=/boot/android-x86-4.4-r5
initrd /boot/android-x86-4.4-r5/initrd.img
}
EOF
sudo cat <<EOF > /boot/grub/android-x86_64-5.1-rc1.cfg
menuentry 'Android-x86 5.1-rc1' --class android-x86 {
search --file --no-floppy --set=root /boot/android-x86_64-5.1-rc1/system.img
linuxefi /boot/android-x86_64-5.1-rc1/kernel root=/dev/ram0 androidboot.hardware=android_x86_64 quiet DATA=/boot/android-x86_64-5.1-rc1
initrdefi /boot/android-x86_64-5.1-rc1/initrd.img
}
EOF
sudo cat <<EOF > /boot/grub/phoenixos.cfg
menuentry 'Phoenix OS 1.0.3 Beta' --class phoenix {
search --file --no-floppy --set=root /boot/phoenixos/system.img
linuxefi /boot/phoenixos/kernel root=/dev/ram0 androidboot.hardware=android_x86 quiet DATA=/boot/phoenixos
initrdefi /boot/phoenixos/initrd.img
}
EOF
sudo cat <<EOF > /boot/grub/remixos.cfg
menuentry 'Remix OS Alpha' --class android-x86 {
search --file --no-floppy --set=root /boot/remixos/system.img
linuxefi /boot/remixos/kernel root=/dev/ram0 androidboot.hardware=remix_x86_64 androidboot.selinux=permissive quiet DATA=/boot/remixos
initrdefi /boot/remixos/initrd.img
}
EOF
If you are using 'cut&paste' to enter these commands then make sure to only copy and paste each section of seven lines at a time otherwise you might find the shell doesn't recognise the 'EOF' line due to trailing spaces and you'll end up just with one big file!
To make the boot options appear on the initial menu you need to edit '/etc/default/grub' and make sure the following lines are commented out:
#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
Then edit the file '/etc/grub.d/40_custom' and add the following lines which create the boot menu options:
source /boot/grub/android-x86-4.4-r5.cfg
source /boot/grub/android-x86_64-5.1-rc1.cfg
source /boot/grub/phoenixos.cfg
source /boot/grub/remixos.cfg
And lastly update grub so the options appear on the next boot:
sudo update-grub
Although the standard Phoenix system partition doesn't include Google Play Store you can address this by following https://www.reddit.com/r/PhoenixOS/comments/41flzt/phoenixos_rooted_systemimg and downloading the file
'PhoenixOS-x86.1.0.3.rooted.gapps.resized.system.img.zip' from https://mega.nz/#!HgY3HIbK!AHzALibHdlrluCmTzwMmk2nuN_esDSMWA48bIQL1TVQ. To install the updated system image enter:
sudo unzip PhoenixOS-x86.1.0.3.rooted.gapps.resized.system.img.zip
sudo mv system.img /boot/phoenixos
Again you can now delete the download and any files/directories created from the above commands.
Similarly Remix OS also cannot include Google Play Store so by following http://liliputing.com/2016/01/remix-os-for-pc-how-to-install-the-google-play-store.html once you have booted Remix OS you can easily add it.
Finally reboot and select the Android-x86 system you wish to boot from the menu and enjoy!