GRUB4Android "Hands-on" [Video]

You have already heard of GRUB4Android? No? So let's see in this article what it is, how it works, why it differs from MultiROM e a short video about what GRUB4Android is capable of currently. I will try to be as clear as possible and not to belittle what is a great project, which will surely give a change in the world of Android modding.


What are GRUB and GRUB4Android?

I can certainly tell you that the GRUB it's not a supply, although this is the meaning of the word in English 😉
Linux users will surely know it well: GRUB (better GNU GRUB) - obviously open source - is by definition a bootloader; when the machine starts, it loads all the operating systems installed on the various partitions and shows them in a screen like the following.
grub2Despite being used by Linux distributions, GRUB is also able to recognize Windows and Mac systems allowing the user to have 2 or more operating systems - dual boot or multi boot - and to boot the preferred one immediately after starting the machine.
The image above represents a car with on board Ubuntu e Windows 7: it is possible to change the positions of the systems but also the appearance of the GRUB itself, or better GRUB2, which has now replaced the previous one.

GRUB4Android, also open source, is based on GRUB, the interface is in fact very similar and its task will be - when the project is completed - precisely to manage multiple Android ROMs on the same smartphone, to choose and start the one we prefer as soon as we turn on the phone.
Development started thanks to + Michael Zimmermann (Also known as m11kkaa) on your own Xiaomi Mi2, but it is also followed and tested by +Joey Rizzoli. Together they also work at CyanogenMod for the same terminal and for this reason the project has passed into the background.

Joey explains in English what is GRUB4Android in this post on Google+


How GRUB4Android works

As we can see in the post above, GRUB4Android replaces the bootloader but there are basically two types of terminals: those that support bootloader is not signed and those who don't support them. The first is the case of Xiaomi devices and many other terminals - most of them quite old (before 2012) - which therefore make it easier to boot the GRUB; in the second case, however, it is loaded as second boot, a procedure that replaces files boot.img e recovery.img with another bootloader that can later load GRUB, but this requires a feature that is not yet well developed and that may vary during development.

GRUB4Android better than any multiboot system for Android

Il MultiROM to date it is not supported by many devices, we can even count them on the fingers of one hand. This is because it requires important changes to the terminal: specific recoveries, particular kernels and ramdisk modifications. GRUB4Android, on the other hand, only requires unlocked bootloader and root permissions, and it can also work on all devices with processors Qualcomm. Even the porting is not complicated (if you have the appropriate knowledge and tools), in fact in just a few days of development the GRUB has already reached even Xiaomi Hongmi 1S e Motorola MOTO E.
GRUB will allow you to boot not only different ROMs (and operating systems? Editor's note), but for example the same ROM with different recovery and different kernels; finally, once the project has been completed and stable, GRUB4Android can be installed with a few taps thanks to the dedicated application.

What could be the application of G4A

What could be the application of G4A

What works and what doesn't

Joey also flashed the GRUB on my Xiaomi Mi2, so I could try it. I can say that on another device at the moment it would be useless because the fundamental thing is still missing: the multiboot, but as you know some Xiaomi devices have dual native partitions, so I can still show you how it will work and some features in this video.

The touch is also missing, not very important in my opinion but will be implemented in the future and the customization of the background color does not work, as it remains the same after the first change.
Everything else works fine and a very interesting feature is the customization: as happens on GRUB, just edit the configuration file; at the end of the video, for example, we can see how an alternative recovery is performed physically present on the internal memory but never flashed. For this example, that is, to add the voice to the GRUB running TWRP recovery, it was enough to add to the file grub.cfg the following lines

menuentry "Internal: CWM Recovery" {echo "Loading CWM Recovery from EMMC." android (hd0,27) /twrp.img echo "Done." }

Where the third line is the file path: hd0,27 indicates the partition, or SDcard in my case, and twrp.img is the name of the recovery that is precisely on SDcard. The first line instead is the name of the 'connection' visible in the GRUB and the second and third will be the messages printed during the execution of the command. It is easy to understand that just change the name in the quotation marks to print the desired message on the screen.
Another example that shows how easy it is to customize the GRUB, is given by the following screenshots, where the timeout for the automatic start from 3 to 10 seconds has been increased, by modifying the file grub.cfg.

grub4android-timer grub4android-timer1

As already mentioned, the project has now gone into second place "due" to CyanogenMod 12, but I assure you that what you have seen is already an excellent result. Obviously I will keep you updated on future news, so follow us 😉

Useful links:

Finally, you can also make a donation to support the developer to carry on this magnificent project. The offer is free!

Credits image article:

Receive the latest posts by email

Enter the email and choose the inscriptions on the new page
Added devices
  • Compare Smartphone (0)
  • Compare Notebook (0)