Making DualBoot on an Asus T100 Tablet

Published on May 27, 2015

Making DualBoot on an Asus T100 Tablet



In this publication - the history of the adventures of one technologist who wanted to have two systems on one tablet.

So, the Asus T100 is a transformer tablet on Windows 8 / 8.1 from, suddenly, Asus. There is UEFI, so geeks immediately got to it, because, in theory, you can put other systems on it! But the whole trick from Asus is that the bootloader is 32-bit here and it can do nothing but load Window s (almost any Windows, not only pre-installed, but only x86). If representatives of Asus live here, please tell me why you did this. Why so mock us users? The processor is normal, x64.

Some time later, friends from Android x86 made a test beta of Android, which was loaded into Live. There was a grub that Android itself loaded. But since there were no 4.0 kernels in those days, the tablet crashed after some time. The buttons did not work for him, the brightness did not work, and so on. Technodemka, simply put. Persistent comrades (and I among them) even tried to play on a hovering system.



The tablet went on sale in late 2013, I bought it in May 2014, and in September they already released something similar to Android.

After some time, in the profile branch w3bsit3-dns.com (of which I am the curator, by the way), instructions for installing Android on a hard drive appeared. Well, how to install ... downloading from files lying on drive C in the Android folder.
Android itself consists of data.img, system.sfs / img files (depends on what is written in grub.cfg), kernel, ramdisk.img, initrd.img and install.img (obviously, installing the system, but it’s nowhere used). System upgrade comes down to replacing files in a folder. Conveniently.

image

You will not see data.img with me, since I went even further and threw the whole date to another section, but more on that later.

All this miracle works through rEFInd, which sees all .efi files on all partitions and allows you to download them. Now you can download grub, great! This is how it works - Android runs through a rude that runs through a refind. It would seem that what else is needed for happiness? You can run as many systems as you like and how much the built-in drive will last (T100 users with a hard drive in the keyboard are very happy about this fact). Now the refind has arranged a trick itself: it does not determine, the volume buttons and generally does not determine anything, except for the arrows at the docking station. And by default, Windows is selected (it sees its .efi file) and loads it if you do not have time to choose another system. Without docking, a refind is not needed at all, and there’s no sense in it. Until a certain point.

The refind looks something like this:

image

The background, icons, etc., is edited in refind.conf on the EFI section in which it is installed.

I myself used such crutches from the very beginning of the appearance of this instruction. And what to do? I missed the android and its games. Still, whatever you say, Android is needed to consume content (my opinion; it's interesting to listen to your opinion in the comments), and Windows is not very suitable for these matters.

As time passed, the craftsmen released builds for the T100, in which they gradually fixed bugs. But the main problem with the freezes did not go anywhere and everyone was waiting for the 4.0 kernel and the craftsmen who would hang Android on this core.

At the same time, a camp of ubuntovods was developing at which the system worked better than Android, because new kernels were installed without problems in Ubuntu. But not without flaws: wi-fi did not work, the sound did not work, but the system did not crash even on the old core.

The kernel 4.0 release changed everything fundamentally, because there they added support for all kinds of buttons on tablets, etc. And most importantly, eMMC support (paired with the old core, he was accused of all the deadly sins of the T100). Android now crashed, and Ubuntu worked even more stable and faster (according to the sensations).

From that moment, people thought - and since there is a good build, can you connect a touchscreen or volume buttons to the refind and choose a system without a dock? These buttons work in the BIOS and the native boot manager, which means you can try them and screw them to the refind. But nothing moved.

After some time, in early May, another build was released that worked even better. Then I was tempted to abandon the dock when choosing a system, and it’s not always convenient to connect a keyboard to boot Android.

At the same w3bsit3-dns.com, they advised me and told how and what to change in the config of the refind so that it immediately loads grub and does not wait, but starts right away. This is genius.

It was enough to change only 2 values ​​in the config to make my dream come true:

1. timeout 05 changes to timeout -1
2. default_selection 1 changes to default_selection grub

After these manipulations, the refind does not wait for the user, but immediately loads grub. Exactly what is needed. But there is a minus: you need to run it with the vol down pressed down to get into the boot manager and select the system. Of course, you can go into the BIOS and change the boot order (put the refind first, and the Windows boot loader second) and then the gross will load at the click of a button without any vol down. Which I did.

image

But Android has one huge minus - data.img weighing 2/4/8 gigabytes. And it takes up the entire volume at once, and does not grow as it is filled. I used an 8 gb file, but not for long. The idea came to my mind to transfer the date to a separate section on which Ubuntu was lying at that time (there was even a triobut, what a time!).

Having demolished Ubuntu and having formatted 15 GB in ext3, I got into a stupor. How to direct rude to a section, not to a file? The hint came right at the time of starting the system: detecting android x86 ... found at / dev / mmcblk0p4 , but I realized this later, but at first I tried to write hd (0.5), I didn’t accept it and later I noticed / dev / mmcblk0p4. By analogy, I wrote "/ dev / mmcblk0p5" instead of /android/data.img. And, success! 15 gigabytes of memory in Android!



Also, in the path to the system file, I replaced .sfs with .img, since sfs does not allow root to work on the system, and Android without root, which is iOS without jailbreak. On that screen, I already broke up with xposed and remade the system for myself, since I had no plans to change anything related to the date.

And what do we have in the end? And here is what:
1. An analogue of the Asus Transformer Book Duet, the price of which is $ 600 for the “weakest” bundle ($ 355 for Asus T100. Given the dollar today). True, two OSs work there at once and are switched by a button on the keyboard, or by a virtual button on the tablet.
2. A good device for wardriving (on Habr’s article in three parts about this case), but partially: the wi-fi adapter works well, but Kali Linux / Intercepter-ng in the android does not see the adapter.



Kali Linux is still a beast on the old kernel and for starters you need to overcome mmcblk0rpmb, which do not allow the system to be installed (crash during installation), and it does not allow working in live, again, the old kernel that the adapter does not see. At all. Even just surfing is impossible. But these two minuses (both in the installed system (if you were lucky with mmcblk0rpmb and the installation did not crash) and in live) are removed by an external wi-fi adapter, since there is a usb 3.0 port in the docking station. One, true, but thanks for that.
3. Not fully working Android (for now): the accelerometer does not work, which led to a non-working auto-rotation of the screen and the inability to play races in which there is no resetting the rotation to the buttons. The tablet "falls asleep" not as usual. It kind of extinguishes the screen, but the backlight is on at minimum brightness. Ubuntu does not have this, there the screen turns off, and does not lower the brightness.
4. The processor is still x86 and will never become arm, so not all games start, but this is the trouble of all x86 processors.
5. Atom Z3740 / 3775 on Android. In my memory, the power of x86 on Android did not exist yet. And maybe it was, but in any case, Z3740 (the first batch of T100) or Z3775 (the next batch of T100) is a powerful thing. In antutu, it is gaining 35 thousand or 36. Do not write about arm, which gain 50-60 thousand, since this is a completely different architecture and it's silly to compare them.
6. Ponte. “Check it out, I have two systems here!”

I also want to thank people from w3bsit3-dns.com, from xda-dev, from the google + group (ubuntovody), who for free, on their own, spending their time on us, do all the work to be simple users were good. Thanks a lot. Yes, and there would not be this "story", if not for you.

Thank you all for your attention. In the comments I will try to answer your questions and stones in my garden about the terrible crutches in this system.