yashsingh1/xdaforums huggingface dataset:
[Asus Transformer TF700] cogano:
Added Reboot to recovery in kexecboot

An off-thread discussion with workdowg brought some ideas and here it is: it is possible now to reboot to recovery from kexecboot System menu.

The new blob "kexec-host-2014-05-22" is temporarily uploaded here:

I guess [MENTION=3971563]workdowg[/MENTION] will move it to his server and add it to OP soon.

EDIT: link to moreD_cn source and my patches are included in the ZIP.
[Asus Transformer TF700] cogano:
Hi Ananasnonym, good work with the mapping of the keys to apps.

However, have you noticed that _that patched asusdec driver (1, 2 and 3) to allow for run-time changes of Android stock, CM and standard PC linux keyboard on a kernel level? (See Documentation)

Your setup (Xmodmap) works only in X (not in VT console) and I guess only as long as the user does not change the keyboard layout to some localised keyboard (setxkbmap or GUI in LXDE), doesn't it?

The good thing is that the modified driver works also for the BrightnessDown and UP keys - no need to leave the two keys out of a F1 - F12 sequence. While in PC Layout ('echo 15 > /sys/module/asusdec/parameters/key_flags'), you can still use "AltGr" with the F keys to get the standard Android Layout.

Using a "ctrl+alt+y" to toggle between keyboard layouts is a good idea, but there are lot of localised keyboards, which are QWERTZ instead of QWERTY: how about using some other key.

The dark side of the patched driver is that only that's kernel includes it...
[Asus Transformer TF700] workdowg:
Updated OP

Added Ananasnonym's 12.04 rootfs w/Hund's OC kernel and a new kexecblob that includes reboot to recovery, by cogano
[Asus Transformer TF700] workdowg:
boot.cfg

[MENTION=5363490]moreD_cn[/MENTION] or [MENTION=4582979]JoinTheRealms[/MENTION] or [MENTION=1626944]cogano[/MENTION] or [MENTION=4878287]_that[/MENTION]

Anyone know why is the boot.cfg file located on mmcblkop5? Other kexecboot users have it in /boot

Can this be changed in the kexec blob?

The reason I ask is I'm "writing" a flashable zip to take care of the nastier stuff like insalling the blob, Android kernel (/system/boot) and a simlpier boot.cfg. I can't for the life of me find any info on where I should mount /dev/mmcblk0p5 from a recovery zip so I can mkdir /multiboot and copy the boot.cfg. This is where I am stuck...
[Asus Transformer TF700] Duckman5:
I would assume because that's the one user writeable partition guaranteed to never get formatted or wiped? Think about how annoying it would be for your entire multiboot setup to get borked every single time sbdags releases a new version of crombi-kk. It's annoying enough having to extract the boot image. Can't you just mount it over a known to be good location like /system/app/ ? It's not like your script needs to touch that directory and it's guaranteed to always be there. Or is the issue just mounting a partition at all?
[Asus Transformer TF700] jcfunk:
from what I read, kexecboot looks at all partitions for boot.cfg and or grub. so I think it could be possible to put on sdcard.
[Asus Transformer TF700] workdowg:
A flashable zip is much easier for me to set up right now. Aroma would be a little more effort at the moment, but, actually easier with a busy box script.

I need to mount mmcblk0p5, create a directory and copy the boot.cfg file over. Where, from recovery environment, can I mount it? What choices are there? /mnt? /tmp?

From my Debloated Stock Kitkat VS980 4G VZN
[Asus Transformer TF700] _that:
I'd just make a directory "/per" for it, because that's the name of that partition in the partition table, but you can use any other name if you want.
[Asus Transformer TF700] JoinTheRealms:
Yeah as _that says, just make a directory, and mount mmcblk0p5 there. Looking at the source, it should be relatively easy to change the partition, but imo mmcblk0p5 is the best partition to use.
[Asus Transformer TF700] workdowg:
So what you guys are saying I can just make the directory, mount to it, copy my file, unmount it and remove it, just as if I were using a regular sh session? I know the commands, I'm just wondering what is mounted when you flash a zip file from recovery... The blob and kernel stuff is cake (thank you_that).

From my Debloated Stock Kitkat VS980 4G VZN
[Asus Transformer TF700] Ananasnonym:
Hello cogano, thank you for giving feedback.

Yes, my setup works indeed only on X and not on VT. It works for all layouts (afaik) though, you just have to change the line XkbLayout "at" in /etc/X11/xorg.conf (I don't know why but settings other than us set by lxkeymap won't stick without this line). On the other hand if you change keyboard layouts often you would have to adapt and write a script to invoke Xmodmap everytime you change. But as you pointed out, I don't know any method to overclock and cpuquiet _that's kernel on linux yet (maybe I give it a try today), so I decided to offer my rootfs this way. Moreover I think config with .Xmodmap is pretty easy to understand and to customize.

If you are unhappy with Ctrl-Alt-y you can change it to whatever suits you in ~/.config/xdg/openbox/lubuntu-rc.xml, search for the entry with /etc/Ananasnonym/Fkeys.sh

If you want to change kernel to _that's, make sure to remove this entry, run: sudo chmod -x /etc/Ananasnonym/layoutswitcher-wrapper.sh and remove key modifications that conflict with _that's: I made all changes in ~/.Xmodmap

Moreover, remove the overclock and cpuquiet entries in /etc/rc.local
[Asus Transformer TF700] cogano:
In TWRP, menu Advanced / Shell: I guess it would be a similar environment to what the update.zip will get. You can test it there.
[Asus Transformer TF700] Ananasnonym:
[MENTION=4878287]_that[/MENTION] are in your kernel COFIG_NET_RADIO=y and BT_RFCOMM=y ? If not, is it hard to enable them? The first one would be needed for iw-tools and the second one for working bluetooth in linux
[Asus Transformer TF700] workdowg:
I have my backups and my nvflash blobs... guess I can try is all anyway... Wish me luck.
[Asus Transformer TF700] jcfunk:
The shell, is different than zip. I believe all commands are sent to update-binary, but than again I've not work much on tf700t, which to me very different than other android devices I've played with.
[Asus Transformer TF700] workdowg:
Yeah, it looks that way. I have some studying to do. and research. Making the flashable zip is just as complicated because the information is spread all over the internet and most conflicts. No one so far as I've found is mounting a partition other than /system and /data, so I don't have a good example to follow. I tried to modify _that's and stripped it to install the kexec blob. But I don't even know the proper format to make the /system/boot directory... it fails every time...
[Asus Transformer TF700] _that:
/ is a ramdisk

/system is usually not mounted when starting an updater

/data *is* usually mounted

To verify this, simply connect to your recovery via adb shell and type "mount".

The config is in arch/arm/configs/that_tf700t_defconfig. CONFIG_NET_RADIO doesn't exist in this version of the kernel, and BT_RFCOMM is not enabled. How does Android work without it?

I hope you also have a backup image of your mmcblk0p5 partition.

It's exactly the same as with any other partition, you just have to create the mountpoint before. (note that p5 is a FAT32 filesystem though).

Why do you need /system/boot?
[Asus Transformer TF700] Ananasnonym:
Thank you for your response. Android uses bluedroid for bluetooth as it does not use dbus. In linux however all bluetooth tools rely on l2cap and rfcomm which utilize dbus. I will try to compile your kernel again with this setting enabled.

About CONFIG_NET_RADIO: whoops :silly: nevermind
[Asus Transformer TF700] workdowg:
So far...

-- Install blob, check

-- Copy modules, check

-- Make /system/boot and copy that10 zImage and initrd.img, check

next I'll try the mounting of mmcblk0p5 to some directory in /system?
[Asus Transformer TF700] jcfunk:
are you trying to make a 1 in all zip for host, and android kernel plus bootcfg?
[Asus Transformer TF700] workdowg:
Of course

tried -t vfat, but it failed

kexec looks there for zImage and initrd.img to boot android

From my Debloated Stock Kitkat VS980 4G VZN
[Asus Transformer TF700] workdowg:
Yes.

From my Debloated Stock Kitkat VS980 4G VZN
[Asus Transformer TF700] jcfunk:
might be possible with aroma
[Asus Transformer TF700] workdowg:
Yeah, I'm working on that too. It is slightly more complicated ;)

From my Debloated Stock Kitkat VS980 4G VZN
[Asus Transformer TF700] jcfunk:
mount system

run_program is a call to recovery rootfs it seems, the busybox mount is easy to use, use fstab to file info for mount.

#mount("ext4", "EMMC", "/dev/block/mmcblk0p1", "/system");
run_program("/sbin/busybox", "mount", "/system");

this would install file in boot directory in zip to system/boot

package_extract_dir("boot", "/system/boot");

OR MAYBE

package_extract_dir("boot", "/system");

install host boot blot

package_extract_file("boot.blob", "/dev/block/mmcblk0p4");

not sure if cfg directory needs to be made first but this command should mount mmcblk0p5 to cfg

run_program("/sbin/busybox", "mkdir", "/cfg");

mount("vfat", "EMMC", "/dev/block/mmcblk0p5", "/cfg"
OR
run_program("/sbin/busybox", "mount", "/dev/block/mmcblk0p5", "/cfg");
[Asus Transformer TF700] jcfunk:
Here is a sample updater-script, its not complete, needs some if statements to check for directories but is should work on clean system.

# KEXEC Multiboot Installer
set_progress(0.00);
ui_print("Thank you for installing KEXEC Mulitboot");
ui_print("Sit back and relax...");
ui_print("-----------------------------------------------------");
ui_print("This won't be long");

ui_print("Mounting System.....");
#mount("ext4", "EMMC", "/dev/block/mmcblk0p1", "/system");
run_program("/sbin/busybox", "mount", "/system");

# NEED if statement to check and see if dir /system/boot
# pls edit
run_program("/sbin/busybox", "mkdir", "/system/boot");
#---------------------------------------------------------------------------------------------

# Installing Kernel to /system
ui_print("Installing Kernel to system.....");

package_extract_file("boot/zImage", "/system/boot");
package_extract_file("boot/initrd.img", "/system/boot");
set_perm(0, 0, 0777, "/system/boot/zImage");
set_perm(0, 0, 0777, "/system/boot/initrd.img");

ui_print("Install Host Kernel.....");
package_extract_file("that10_host.blob", "/dev/block/mmcblk0p4");

ui_print("Mounting mmcblk0p5.....");
run_program("/sbin/busybox", "mkdir", "/cfg");
run_program("/sbin/busybox", "mount", "/dev/block/mmcblk0p5", "/cfg");

#need IF statement to check for multiboot dir
#
run_program("/sbin/busybox", "mkdir", "/cfg/multiboot");
#--------------------------------------------------------------------------------------------
package_extract_file("boot.cfg", "/cfg/multiboot");

unmount("/cfg");
unmount("/system");
ui_print("---------------------------------------");
ui_print("All Done!");
ui_print("Enjoy KEXEC Muiltboot!");
[Asus Transformer TF700] workdowg:
Thanks for this. I am going to keep these as they will help immensely when I start the Aroma installer. I have a simple installer working right now thanks to [MENTION=4878287]_that[/MENTION] (I used his kernel installer as a template). It installs the kexec blob, an Android kernel (only that10 and cm112 for now) and installs my current boot.cfg.

Again Thanks for your input also!
[Asus Transformer TF700] workdowg:
OP updated

I have made a flashable zip to do the work for me(and you). This zip is a modified version of _that's kernel installer. It will install the kexec blob, boot.cfg, and the Andriod kernel of your choice - CROMi-X, that10 or CROMBi-KK, that-cm112. The that10 installer also includes the needed modules (I will see what is needed for CROMBi-KK at a later date).

Flash the proper zip file below using the newest TWRP:

Please make sure you have a BACKUP (also dd backup your mmcblk0p5 partition for safety) and have either the stand alone that10 kernel installer or CROMi-X/CROMBi-KK ROM's on your tablet as a safety net.

I am including the md5's on these files until I figure out how to sign them... :silly:

CROMi-X 5.4 - kexecboot_installer_for_CROMBi-X5.4_v1.0.zip -

md5 003221b6da2298d607a8efd7f246a3f1

CROMBi-X - kexecboot_installer_for_CROMBi-KK_v1.0.zip -

md5 8d9db5bb2fc2b0431978558a01348c3b

Thanks again to:

@rabits @JoinTheRealms @moreD_cn

@_that @lj50036

@cogano

@Ananasnonym @jcfunk [MENTION=518363]sbdags[/MENTION]

and many more
[Asus Transformer TF700] workdowg:
And of course... [MENTION=518363]sbdags[/MENTION] for his hard, hard work over the last 2 years making this tablet a really machine!!!!
[Asus Transformer TF700] _that:
Writing the kernel installer as a shell script was quite easy - the hard part was to find out how to sign the archive without breaking unzip... see here for the solution:

http://xdaforums.com/showpost.php?p=52684360&postcount=20
[Asus Transformer TF700] steffenbakke:
This might be me being silly... But even the kexecboot installer script hates me, after running it, I get the same error with a reboot on login...

And I used the newest lubuntu rootfs file
[Asus Transformer TF700] workdowg:
Thank you for lighting the way....
[Asus Transformer TF700] workdowg:
OP updated

Zips are signed... Thank you [MENTION=4878287]_that[/MENTION] !
[Asus Transformer TF700] workdowg:
Yeah, I had an issue logging in... with all the other things I've been doing I never got back to it...

Thanks!
[Asus Transformer TF700] Duckman5:
Awesome. That will make it a lot easier to install this setup for a number of people.

I was thinking, though. None of the changes that are made require the tablet to be in recovery, though, do they? Would it be possible to integrate this functionality into the installer apk? How awesome would that be if it was all a 1-step process? For that matter, is it possible to extract the current android kernel and ramdisk, extract them and install them into /system/boot/ ? It would be awesome if we could just run the installer again after updating our ROM to get kexecboot back and the correct files in the correct places with minimal effort.
[Asus Transformer TF700] jcfunk:
Very possible, but need someone who could write apk. A shell script can do it too. Lot of possible ways. It would be good to have options
[Asus Transformer TF700] workdowg:
I also thought about why I was doing it in recovery. I don't think it is best practise to mount a running system and copying/overwriting files (modules) that are in use. That said, if we have a running system anyway, the modules should be eliminated from the install. I'm just wondering if there are any changes to them with each kernel release? I'm pretty sure they are the same...

I just wrote the shell script to modify the boot.cfg after it is installed.

I feel confident running the rest of the install (minus modules) from Android terminal....

Apk's are a little deeper than I have time for right now... I think. I have Eclipse installed and was starting to play with it a month or two ago and got side tracked. I've thought about "MIT App Inventor 2" also... Either way it would just need a simple interface to automate and individualize the scripts... I may want dive in to that soon.
[Asus Transformer TF700] workdowg:
OP updated

Added a simple Android shell script to modify the boot.cfg after is is installed.

Extract and see the readme.

modify_boot.cfg_v1.0.zip

Edit:

Also added an Android kexecboot installer. It is a prompted script that installs the following

1- Kexec blob on mmcblk0p4

2- Android kexec kernel choice of CROMi-X, that10 or CROMBi-KK that cm112.

3- Backup existing boot.cfk and install a fresh boot.cfg to mmcblk0p5/multiboot

4- Opportunity to manually edit boot.cfg using a text editor (manual start of editor..)

To use this just extract the zip to your favorite place and run the shell script from that directory in an Android terminal. See the readme for a few more details.

Android_kexecboot_installer_v1.0.zip
[Asus Transformer TF700] jcfunk:
has anyone tried Nvidia's rootfs? downloaing now to test

https://developer.nvidia.com/linux-tegra-rel-16
[Asus Transformer TF700] workdowg:
It's based on 9.10 koala

From my Debloated Stock Kitkat VS980 4G VZN
[Asus Transformer TF700] howardthepilot:
can't login please help!!!!

I'd just installed and run the ubuntu but I can't get logged in after a entered the password ,it just get back to the login screen again ,any ideas???:confused:

Thanks:laugh:
[Asus Transformer TF700] Ananasnonym:
did you check make /dev/mmcblk0p8 your home? if so, install again but unchecked and try again. Report back if it worked please

Gesendet von meinem LG-P880 mit Tapatalk
[Asus Transformer TF700] Duckman5:
You know, I've been confused about that. Never bothered to test, but the documentation actually says something different from the website. Maybe jcfunk can enlighten us after he has it set up. I'd be curious if hardware acceleration works. I downloaded it to check it out and look at the config files, but haven't gotten around to doing anything with it. I've actually been playing around with that app inventor. Really cool. Not flexible, but much less painful than eclipse. Working on an app to automate the install process and automate extraction of the current android boot image and replacement with the kexec blob.
[Asus Transformer TF700] workdowg:
I had that happen on the v1.0 of his Lubuntu. The newest I had no issues...
[Asus Transformer TF700] howardthepilot:
it works

Thanks a lot it works fine then !!:fingers-crossed:
[Asus Transformer TF700] cogano:
Ubuntu 14.04 on TF101

Anybody aware that jrohwer was able to put together a working Ubuntu 14.04 for Asus TF101?

(Apparantly by using X packages from older Ubuntu releases to avoid X11 ABI version issues - see therein attached xserver.pref.txt file.)

http://xdaforums.com/showpost.php?p=52697775&postcount=303

EDIT: Well, TF700t boots to KDM and KDE out of the box, I just had to "S"kip mounting some Android partition. Touchpad and touchscreen does not work. Keymap (with that10-cogano3 kernel) in X.org seems partially borked due to additional Xmodmap in the profile. Unfortunatelly I could not attach an USB keyboard/mouse combo since I booted from USB flash disk. Going to sleep now...
[Asus Transformer TF700] workdowg:
I'm thinking I should remove that from the new installer. I don't see the real need for it and it causes problems. Anything you need to use from Linux in Android can be copied while Linux is running...
[Asus Transformer TF700] ariadnejro:
I wanted to make everyone know that I've managed to run Linux on my data2sd f2fs CROMBi setup. Latest CROMBi installer includes a preinit script that manages to run Android from a data2sd f2fs partition. So I created a third ext4 partition on my MicroSD, modified the boot.cfg, extracted Ananasnonym's rootfs with a tar command and Linux is running fast and smooth.

A couple of remarks. boot.cfg can be easily edited on Linux since mmcblk0p5 gets mounted. MPlayer is playing fine music and videos but sometimes it stops playing. Could Linux run from a f2fs partition to get maximum speed?
[Asus Transformer TF700] Ananasnonym:
Yes, I know - I noticed after finishing 12.04 ;) So my next project on the list is building a minimal 14.04 with jrohwer's pinnings for xorg and all optimizations from my 12.04. In 14.04 there it should be also possible to create a "net-installer" distro like on the TF101 where you can choose the desktop you want. I'm on it!

Gesendet von meinem LG-P880 mit Tapatalk
[Asus Transformer TF700] cogano:
Were you able to to start your f2fs CROMBi via kexecboot as well?

I noticed that, too; dangerous IMHO. It would be better if it is not mounted rw by default.

In general: yes.

I have never used f2fs yet. Having looked at that10-cogano3 kernel config, the related option CONFIG_F2FS_FS is not set and I would guess that the current kexec host and guest linux kernels should not support it at all. Once compiled in, it may work - I can't tell about kexecboot though.

If you wish to test, I may provide you with a that10 kernel supporting the experimental F2FS.
[Asus Transformer TF700] ariadnejro:
Yes, I can start my data2sd f2fs CROMBi via kexecboot with the default boot entry. In fact, it's the only way. Every time I power up my tablet the kexec kernel loads and shows the boot menu.

I would like to test a f2fs kernel.
[Asus Transformer TF700] 2ral:
installation of ubuntu freezes at 90%

guys I'm unable to install ubuntu 12.10. It freezes at 90.00%. TWRP 2.6.3. CROMBI-KK from this thread http://xdaforums.com/showthread.php?t=2672751

same with lubuntu 12.04

any suggestions ? please help
[Asus Transformer TF700] Ananasnonym:
Just wait for about 1,5 hrs! It will eventually complete.

Gesendet von meinem LG-P880 mit Tapatalk
[Asus Transformer TF700] 2ral:
ok. I guessed i should be more patient. I will try again when I will be back to home. Afraid not enough charge at a moment at tablet. thanks
[Asus Transformer TF700] cogano:
Download the file "kexec-linux-that10-cogano5.zip" from http://ge.tt/4FiL1Vh1/. Do not forget to add initrd.img to /boot directory as well.
[Asus Transformer TF700] _that:
Please provide source code links for all your kernel releases to comply with the GPL.
[Asus Transformer TF700] cogano:
The link to your github is included in the README file, though I may add a note about the license next time, too.
[Asus Transformer TF700] 2ral:
Guys you do a great job. I guess there is no way to upgrade dist to 14.04 ? we have to wait for new release ? or there is a way to make it on our own ?
[Asus Transformer TF700] _that:
Ah, I didn't expect the binary download to contain a README. :) I know my own sources, but I was interested in what exactly you changed. I see you documented everything nicely in that README. :good:
[Asus Transformer TF700] cogano:
Sure, I do it partly also for myself, otherwise in a few weeks I would not know what I did ;)
[Asus Transformer TF700] Ananasnonym:
I can boot it to graphical interface with Xorg pinnings, but touchscreen does not work and I haven't found a way around this. Elements are tiny and there are more and more issues with Xorg. mtev does not build. I am not able to build anything usable at all for now. Tomorrow I can upload what I have so far if anybody wants to dive into it deeper, but I don't have the time and motivation to continue 14.04 without drivers from nvidia.

Status:

connect to Wifi from command line {Done}

write script for desktop-environment choosing {Done}

install old drivers automatically {Done}

install touchscreen drivers {Build failure, other version does not match Xorg version}

install multitouch drivers for touchpad {Done}

create list of absolutely needed packages for each DE { No }

My next steps will be getting bluetooth to work in 12.04 (I already have managed a successful file send/receive) and f2fs - first I want to have access in linux to a android f2fs partition, later running linux completely on f2fs. This is mainly a kernel thing, so thank you [MENTION=1626944]cogano[/MENTION] for helping me on this matter :highfive:

Regards