Special Gummiboot bootloader for tablets

1,161 views
Skip to first unread message

Jocky Wilson

unread,
Jan 21, 2015, 10:36:45 AM1/21/15
to andro...@googlegroups.com
Hi all, for my tablets I am now using a gummiboot version which allows to use the tablet system buttons for boot menu navigation and for selection of boot menu items. The volume down button is used for scrolling and volume up for selection.

If there is sufficient interest I can provide the required files and a short explanation

Vaidotas

unread,
Jan 21, 2015, 11:24:19 AM1/21/15
to andro...@googlegroups.com
Sounds interesting. Does it work on one specific tablet? How hard it is to implement support for other devices?

Jocky Wilson

unread,
Jan 21, 2015, 1:54:44 PM1/21/15
to andro...@googlegroups.com
It works "out of the box" on both my baytrail tablets, a Lenovo Thinkpad Tablet 8 and a Voyo A1 Mini.

Tomorrow I will post the files here.

Andrew Osei

unread,
Jan 22, 2015, 7:38:48 AM1/22/15
to andro...@googlegroups.com
Please do tell...

Carbon Jiao

unread,
Jan 22, 2015, 8:02:40 AM1/22/15
to andro...@googlegroups.com
Help to release...
Is it possible to custom the key code? So that many more tablets can use this tool...


On Wednesday, January 21, 2015 at 11:36:45 PM UTC+8, Jocky Wilson wrote:

JJ Meijer

unread,
Jan 22, 2015, 9:35:17 AM1/22/15
to andro...@googlegroups.com
Do you mean the Android-IA version? Tot bad it does nog work on my HP Omni 10 but this might just be because of missing scan codes.
It would be a nice addition to the x86 project though :)

Jocky Wilson

unread,
Jan 22, 2015, 10:44:36 AM1/22/15
to andro...@googlegroups.com
Hi JJ,

You can define DEBUG_MESSAGES to display key scancodes and adapt gummiboot.c to your liking.

I will upload pre-built 32 and 64-bit binaries later and a few configuration examples.

Cheers
JockyW

Jocky Wilson

unread,
Jan 22, 2015, 4:10:31 PM1/22/15
to andro...@googlegroups.com
The attached zip includes binaries and a sample configuration. I am using exactly that to boot Android-x86 on my tablets from a usb pen drive. My tablets are configured with secure boot off and to boot from usb pen drive. My tablets have 32-bit UEFI firmwares.
Unzip the zip and copy the two folders "efi" and "loader" to your usb pen drive (or any other drive you boot from).

It works as follows: first gummiboot loads and displays the boot menu. You see options to boot live Android, boot an installed Android from sda2, start Android in debug mode, install Android and start Windows. The default option is to boot live Android and timeout is set to 5 seconds. With the Volume down button you can cycle through this menu and with Volume up you can select a boot option. The Gummiboot config files are all stored in /loader and /loader/entries. Each of the gummiboot android boot .conf files loads Grub with corresponding boot configuration. These are stored in /efi/grub/entryX (X is 0, 1, ..). The grub config waits 1 sec and then start executing. I use grub because it offers more flexible boot configurations, in particular grub can load kernels, initrd, and other image files from other drives and partitions. So gummiboot is only used because it supports selection with the hardware buttons on the tablet and grub does the real work. And yes, it would be more efficient to build in tablet button support in Grub :) I don't have time for that...

Have fun!

/JockyW

gummiboot-grub-for-tablets.zip

Carbon Jiao

unread,
Jan 22, 2015, 10:51:39 PM1/22/15
to andro...@googlegroups.com
Thanks for your release...
While the Vol + and Vol - on my Tablet (Teclast x98 3g) cannot cycle through the menus... 
And I take out gummibootia32.efi to boot the Android boot.img, shows "EFI Handover Protocol not supported. Failed to start boot image "Live Android Session: Invalid Parameter."

So, could you help to give some ideas on custom key (below the keylayout of my Tablet for your reference.) when compile the gummiboot?
I already have the complete sources of Android-IA, and Andorid-x86 (both Kitkat-x86 and lollipop-x86)...
key 158   BACK
key 102   HOME
key 115   VOLUME_UP
key 114   VOLUME_DOWN
key 116   POWER

Bernard

unread,
Jan 23, 2015, 10:46:30 AM1/23/15
to andro...@googlegroups.com
Hey Jocky,

Thank you for this. I was able to boot the live android from USB to my Asus Vivotab Note 8, although the touchscreen doesn't work and the Welcome screen setup was moving at snails pace.

I'm still learning, but if I want to try the Android-IA build for Baytrail to see what it's like, how would I go about loading that to the setup you provided? Android-IA builds only come as .img files. I opened the various .img files in 7-zip, but the individual kernel and other files common to android-x86 .iso aren't present.

Thanks dude
Message has been deleted

JJ Meijer

unread,
Jan 23, 2015, 5:31:57 PM1/23/15
to andro...@googlegroups.com
Hi,

I tried to compile the ia gummiboot with debug messages but it did not result in a bootable efi file. Also I tried the latest official gummiboot but saddly I apparently I have a broken SIMPLE_TEXT_INPUT_EX_PROTOCOL problem as up until gummiboot release 33 everything works fine (but only when using my usb keyboard). After that ex proto is implemented and input is almost completely broken. Oh well, just another challenge I guess :).

Also the official gummiboot repo (release > 33) with the ex proto support seem to support the volume buttons as I see some response to the key presses.

Cheers!

Carbon Jiao

unread,
Jan 23, 2015, 11:01:31 PM1/23/15
to andro...@googlegroups.com
Cheers!

I was successful compiled complete Android-IA32 live.img base on github.com/Android-IA sources tree, also gummiboot.efi was born... While the Vol keys doesn't work...
And this gummiboot.efi cannot boot original boot.img from tablet producer (another type) because of protocol issues?

Could you help to give more detail on "Also the official gummiboot repo (release > 33) with the ex proto support seem to support the volume buttons as I see some response to the key presses. " ? Could you help to give the detail address of the sources code?

Thanks a lot!

JJ Meijer

unread,
Jan 24, 2015, 6:18:02 AM1/24/15
to andro...@googlegroups.com
Sure, you can get it from here: http://cgit.freedesktop.org/gummiboot/

One could compile the bootloader like this:
Git clone git://anongit.freedesktop.org/gummiboot
cd gummiboot
./autogen.sh
./configure
make ARCH=ia32

To test release 33, do:
git checkout cbc63ae9d6161fe6412f0457e72a276f5acb6e2a
and build again.

Also you might need to install gnu-efi, automake, m4 before compiling.

Carbon Jiao

unread,
Jan 24, 2015, 10:07:03 AM1/24/15
to andro...@googlegroups.com
Thanks a lot!
I had done this before I compile the complete Android-IA. While I don't know which release is related to which kernel? All on protocol issues...
Reply all
Reply to author
Forward
0 new messages