[dev] Opensource (multiboot) Bootloader: Efidroid (formerly Grub4android)


Well first I need to add support for Android boot.img's because grub doesn't support them at all right now.
The most important part which finally makes this useful is the multiboot functionality. I already have a idea of how to do this from my LK-prototypes but it needs to be optimized :)

on Thursday is my last exam so that's when I'll start working on it.
 
I just think that the bootloader shouldn't make permanent change sto the system so it will still work if you take a backup and install it to a device without this bootloader. I think I'll stay with the xposed method.

I think I might have idea to make it multi compatible by making bootloader inject init.d script into ROM.

Init.d script will:
- check if custom bootloader is present if not it will restore files and won't modify them
- if it is make file backup (but before check if backup was already made)
- modify files
 
that would mean that the ROM has to support multiboot which is not acceptable :)
It doesn't need though because my bootloader can modify the ramdisk before booting the kernel.
That means I can change fstab.aries and init.aries.rc to change the mount points.

edit: I just saw u quoted the datamedia storage post: I think xposed is the best solution there to keep compatibility.
 
that would mean that the ROM has to support multiboot which is not acceptable :)
It doesn't need though because my bootloader can modify the ramdisk before booting the kernel.
That means I can change fstab.aries and init.aries.rc to change the mount points.

edit: I just saw u quoted the datamedia storage post: I think xposed is the best solution there to keep compatibility.

But that would mean users will have to install Xposed and wouldn't just be much more easier making init.d script?
 
But that would mean users will have to install Xposed and wouldn't just be much more easier making init.d script?
xposed is only needed to convert your storage system from a virtual sdcard to datamedia(one partition for data and sdcard), not for multiboot.
 
xposed is only needed to convert your storage system from a virtual sdcard to datamedia(one partition for data and sdcard), not for multiboot.

Sorry for the (stupid) question
But how can xposed replace that file?
If the storage_list.xml doesn't match partition table the system doesn't boot so no fun.
 
Sorry for the (stupid) question
But how can xposed replace that file?
If the storage_list.xml doesn't match partition table the system doesn't boot so no fun.
storage_list.xml is part of the java framework and xposed is the process which starts this vm ... :p
 
Dude you rock, good luck!
BTW don't forget to live too. I've tried it the last few weeks and I can really recommend it ;)
Just have fun
 
  • Like
Reactions: kamakasnh
Hello #grub4android!

b4UDy.JPG

b4ULp.JPG
 
Last edited:
tinted statusbar is only one small feature of Material design :)
And in KK it's not possible to change the color, I can make it transparent only which gives it a color gradient.
 
tinted statusbar is only one small feature of Material design :)
And in KK it's not possible to change the color, I can make it transparent only which gives it a color gradient.
m1cha i think you already understand but let me be clear i used sarcasm :p
 
  • Like
Reactions: M1cha
Hi, M1cha.
Long time has passed since I thought for the first time about GRUB on mobile Phones.

Sincerely, never known how this job could result difficult, and never had the pluck to start such project.
A friend of mine let me know about your work, and I feel really, REALLY interested.

Of course, all of your work has been done over MI2S specifications, and that means that code
is made to perfectly work only on that device, but surely you opened the doors to something bigger,
for lot of people.

The questions I wanted to ask you were: which part of the sources made for grub4android are essentially
only for MI2S? Which parts should need a more general rehabilitation in order to start the porting process?
Which are the minimal requirements for a device in order to hypothetically 'support' grub4android?

Greetings,
streambinder.
 
  • Like
Reactions: M1cha
thx for your interest :)
GRUB currently is tested on mi2 only, yes. But it's designed from the ground to work on all existing ARM devices.
For QCOM devices, LK is the only repository which needs code changes.

I suggest you to wait until I released a working version for mi2, because I'll implement the 2ndboot stuff afterwards(booting LK as a boot.img because on other devices we can't replace the main bootloader).

You also can contact me via Hangouts if there are any detailed questions.