yashsingh1/xdaforums huggingface dataset:
[Asus Transformer TF700] JoinTheRealms:
Installer/ kernel guide

Ill be keeping this post updated as much as possible with the latest stuff to save people crawling through multiple threads :)

-Installer-

The installer is an Aroma package responsible for extracting the linux distros filesystem(compressed into a .lzma file) into a virtual image (.img), you can define the size of this image with the installer. It also prepares and flashes a kernel and initrd based on the preferences you define within the installer.

Downloads:

Version 6.5: https://www.dropbox.com/s/oksatawl4wxo290/installerV6.5.zip (Hunds 3.3.6 based)

Version 6.8: https://www.dropbox.com/s/0q01ijw1vkbokw1/installerV6.8.zip (Stock based, patches from _thatv5)

Note:

-As of 03/10/2013 the kernel in the installer is up to date, i wont be updating the kernel inside the installer anymore.
-Only Stock based ROMs are supported in the installer (Stock, Cromi 4.x, Cromi 5.x etc).

-Kernels-

We now have a flashable .zip :) (I stole _that's), To flash a .blob file the best method is using dd. From terminal emulator or adb shell, run "dd if=*name of blob* of=/dev/block/mmcblk0p4" (obviously without quotation marks and replace *name of blob* with the file name:silly:)

Downloads:

Stock based(blobs):

--Stock/ _that https://www.dropbox.com/s/86o9vt3b10digqr/blob04 0.4

--Hundsbuah https://www.dropbox.com/s/h2waysfz3bzaqy4/blob04 0.4

Stock based(zip)

--Stock/ _that https://www.dropbox.com/s/ndasx56839hsoud/kernel-Linux-that_based2.zip 0.4

--Hundsbuah https://www.dropbox.com/s/nh6s3yvmk1uszng/kernel-Linux-hunds_based2.zip 0.4

Changelog:

Version 0.1
-enabled cleancache
-testing cm10.2 dualboot
Version 0.2
-Added a repair (e2fsck)to main init menu
Version 0.3
-Another initrd update, better repair, streamlined the kernel selection, added a option to choose
the default OS, started adding support for kexecboot.
Version 0.4
-Some more init tweaks and updated kexecboot binary

Source:

https://github.com/JoinTheRealms

https://github.com/moreD

-MISC-

Some fixes and improvements

Suspend Workaround

http://xdaforums.com/showpost.php?p=44764722&postcount=6

Backlight Control

sudo add-apt-repository ppa:indicator-brightness/ppa
sudo apt-get update && sudo apt-get install indicator-brightness

Overclock Management(only for Hundsbuah kernels)

https://www.dropbox.com/s/hkqhog4gjqw0lef/overclock.tar.gz(extarct to /home)

Install XBMC

https://www.dropbox.com/s/e21vys5a0c11u0e/installxbmc.sh

Credits

rabits (For his original init scrits and installer)

Hundsbuah (For his kernel and help)

_that (For his kernel and help)

moreD_cn (For fixing everything)

workdowg (for his rootfs's)

And lots more+
[Asus Transformer TF700] moreD_cn:
Hey guys you're doing great jobs! :good:

since there's a dev thread and i've got enough posts to reply here I think I'll reply here from now on :)

As i won't have much time for at least a month, I'll focus on building a kexec kernel for linux.

[MENTION=4582979]JoinTheRealms[/MENTION] mentioned that after removing wakelocks screen left blank while waking up. I looked into it yesterday but didn't find any solution :( it seems to relate to something about tegradc and earlysuspend I tried disabling and then re-enabling tegradc.0 (the one for LVDS) the issue appeared with wakelock support. but i cannot figure out how to resolve it.

another thing is bcmsdh_sdmmc keeps waking up my device regularily even without wakelock. however if I use rfkill to block wifi and bluetooth before suspending it works fine. it suspended for over 30k seconds without waking up last night :)

since we're having problem disabling wakelock, I have an idea that should we just leave it enabled and write a pm daemon for linux to control power state? actually i've implemented a basic one and it works as expected.
[Asus Transformer TF700] JoinTheRealms:
Are able to post your pm daemon? Id love to give it a try, any attempts of me writing c code usually end in disaster ;).

Im still trying to fully understand this wakelock stuff ( when im daring enough im gonna start reading this), im guessing something in the linux userspace is holding wakelocks, explaining why it immdatly wakes up again?

I actually successfully got the system to suspend then wakeup with a script with wakelocks enabled, it simply put the device to sleep and 30 seconds later echo'ed on > /sys/power/state like 20 times with a 2 second delay lol no idea how this worked.
[Asus Transformer TF700] moreD_cn:
My daemon depends on a patch which providing "current power state" so i've modify it a bit. I think it's easy to understand.. but with very limited functions. note that press power button over a sec for force wake up.

looks like that sometimes it was kept from suspending by userspace wakelocks but it also occured that a wifi interrupt wake suspended device up. still don't know why but disable wifi before suspend seems to resolve it.

EDIT: seems i've made a mistake:silly: please redownload source file...

EDIT2: I've re-uploaded one that supports lid open/close event
[Asus Transformer TF700] workdowg:
To Do:

- Modify installer for rootfs only - workdowg?

- Kexec

- Multiboot?
[Asus Transformer TF700] workdowg:
[MENTION=4582979]JoinTheRealms[/MENTION] - CROMi-X 5 is right around the corner... Are we going to be ok with the kernel. I have to check but I think sbdags stock and Hunds are using a new base... I may just try CROMi-X beta3 to see what's up (if it boots with yours). I'm kind of looking forward to checking out the fixed dock power drain issue and trying the cache2sd though, so I may stick to his stock for a couple days...
[Asus Transformer TF700] JoinTheRealms:
Kernel should be fine, I cant find any new kernel source from Asus. I doubt they changed much that would affect us, but we will see:)
[Asus Transformer TF700] yoda-sama:
Can you elaborate on this dock power drain issue? I'm curious if it describes a problem I've been having since upgrading to 4.2.
[Asus Transformer TF700] workdowg:
Anytime you plug or unplug the tablet from the dock while in android (maybe linux), the dock discharges quickly to keep the tab charged. This is supposedly fixed in the new Asus jb base.

Sent from my ASUS Transformer Pad TF700t - CROMi-X 4.7.0 ODEX
[Asus Transformer TF700] workdowg:
Boots fine. HORRIBLE Quadrant scores... 3500 in performance.... Don't knowhow real world use feel yet.

Sent from my ASUS Transformer Pad TF700t - CROMi-X 5-Beta3-DEODEX
[Asus Transformer TF700] JoinTheRealms:
strange, didnt you report good scores on cromi 4.7? i wonder whats changed. Hope nothings broken on the linux side:(
[Asus Transformer TF700] workdowg:
Yeah, I got 6000. Might need to let the rom "settle" a bit before trying this testing. I also enabled the cache2sd which may have muddled with the results. Like I said I'll put it though some real world tests. I seems way snappier now.
[Asus Transformer TF700] workdowg:
[MENTION=4582979]JoinTheRealms[/MENTION] - Is there an easy way to compile the kernel for VT support (tty0). Xorg in Android is complaining about no tty0, which of course there isn't. Don't bang your head on this because it is for my pet project, using Linux Deploy to run my rootfs chrooted in the framebuffer under Android. This would help a lot when I don't have a pc in front of me to search out things while developing the rootfs....

Edit - or [MENTION=4878287]_that[/MENTION] your stock Android kernel?
[Asus Transformer TF700] JoinTheRealms:
[MENTION=5363490]moreD_cn[/MENTION] In the previous kexec kernel is posted with wakelocks disabled, we had an issue with the screen remaining blank after a suspend (although the backlight functions normally)

This might not having as be as an issue as i thought and hoping you can help me :) If i suspend the tablet and wake it up again (the screen is blank at this point) i can ssh into it and if i run "sudo service lightdm restart" and the display returns! so we have a semi-functioning native suspend :) it seems xserver(or something) isn't re-initialising LVDS1 properly, but im at a loss on how to fix (my linux knowledge still isn't great) but i feel our options expanded.
[Asus Transformer TF700] moreD_cn:
I have looked into it and don't know how to fix neither. But if we can get display back by restarting X, it's great progress. I'll try again!

btw how is multiboot going? I spent some time last days to port something called kexecboot and it has replaced rabits' one on my pad. Still have some problems but it works, mainly..:)
[Asus Transformer TF700] JoinTheRealms:
Yeah its strange,after i restart x, input devices stop working, also when i run lightdm from ssh it wont start, just falls back to terminal. I havnt had much time too play with it, but atleast its seemingly not a display driver issue.

Multiboot should be very easy to port over(Im all talk, since i have zero experience doing that kinda thing :)) The developer has recently put alot of work into making it easy to port to other devices. Now that we have nvflash, i feel a bit safer experimenting.

kexecboot looks awesome! in fact ive been planning a grub-like multiboot, using twrp or cwm, im trying to figure out how to strip all the recovery stuff off it and just use it as a multiboot interface, and have boot from kexec. I need linux booting from a directory first though..... lol
[Asus Transformer TF700] JoinTheRealms:
Hmm just updated my source with the latest Asus kernel source, and im not getting framebuffer console..... I know they patched the motochopper root exploit hopefully it didn't affect the fb patch.

---------- Post added at 01:56 AM ---------- Previous post was at 01:24 AM ----------

Either im doing something really dumb or Asus broke fb console.... its V10.6.1.14.10 with _thats pmc and ril patches and the fb patch. After splash screen it stays blank for about 5 seconds before booting straight into android
[Asus Transformer TF700] JoinTheRealms:
Hey guys, i originally missed this post, but it seems to have completely fixed the issue with the tablet locking up due to heavy I.O:

With it i was about to extract a 200mb file while installing 100mb of packages while browsing xda :) many thanks to pvka13
[Asus Transformer TF700] JoinTheRealms:
Dont know what i was doing wrong but finally got this to work, i think i was disabling only wifi and not networking , and it was still waking up. But just got my tablet to suspend for around 6 hours without losing a percent of battery! Cant thank you enough [MENTION=5363490]moreD_cn[/MENTION]

now im trying to automate the disabling and enabling of networking so it suspend based on idle time:)
[Asus Transformer TF700] workdowg:
Is his patch merged with your newest kernel?

From my ASUS TF700t - CROMi-X 5.0.4 DEODEX/Linux Dual-boot. moreD-Realms-v2+
[Asus Transformer TF700] JoinTheRealms:
It should work on any of the hybrid kernels since wakelocks are enabled. if you compile it "gcc ./*source.c*" and run it "sudo ./a.out" then disable networking it should suspend and wake fine, i think you can place the compiled binary in /etc/init.d/ to start it automatically. i cant test closing the tablet while docked since i use the tf300t dock, the magnetic sensors on the wrong side.

Im trying to write a script in /etc/pm/sleep.d/ that will disable and re-enable networking in and out of a suspend,i just cant find the correct command.

Also did you figure out how to change dpi in the lubuntu rootfs? with the default ubuntu user its perfect, but any new users have a much lower dpi.

Also x2 if you like fedora i saw they officially support the trimslice arm board(similar hardware i believe, tegra2) i had a look into it but couldnt figure out how to make a rootfs from it:confused:
[Asus Transformer TF700] workdowg:
I'll try compiling the patch. Dpi is set in Xorg.conf. I'll look at Fedora, I'm also looking into elementary os.
[Asus Transformer TF700] moreD_cn:
did you get rfkill on your system? The daemon should disable all networking include wifi and bluetooth by itself using it.

just use "rfkill block all" and "rfkill unblock all", but maybe you should enable rfkill support in kernel (I'm not sure)

btw can we make something to adjust screen brightness as well?
[Asus Transformer TF700] JoinTheRealms:
hmm i dont think so, ill have a look. for screen brightness this works pretty much perfectly http://www.omgubuntu.co.uk/2013/04/omg-ubuntu-android-app-updates. you can echo * > /sys/class/backlight/pwm-backlight/brightness_overwrite if you prefer to set it manually;)

if anyone makes a new user or rootfs, be sure too add this

export CHROMIUM_USER_FLAGS="--use-gl=egl --memory-model=low --disk-cache-dir=/tmp/chromium --disk-cache-size=50000000"

to ~/.profile it makes a night and day difference to chromium:)

---------- Post added at 07:20 PM ---------- Previous post was at 07:05 PM ----------

yeah rfkill isnt working correctly, it disables it while going into the suspend but wakes up about 5 seconds later and re-enables wifi which i guess throws it into a suspend loop.
[Asus Transformer TF700] moreD_cn:
Seems that your link goes to an Android app named OMG Ubuntu? I'm confused...

And could you have a look on kernel message and find out the waking source?
[Asus Transformer TF700] JoinTheRealms:
Sorry not sure what happened there, heres the ppa install

sudo add-apt-repository ppa:indicator-brightness/ppa

sudo apt-get update && sudo apt-get install indicator-brightness

---------- Post added at 09:11 PM ---------- Previous post was at 08:29 PM ----------

@moreD_cn Sorry i was having a blank moment, i was suspending the tablet from the gnome gui, so the rfkill portion of your daemon wasnt running. If i use the power button it works fine.

:silly:

ill get a suspend/ resume script together so the gui suspend stuff works the same

---------- Post added at 09:14 PM ---------- Previous post was at 09:11 PM ----------

Also whats the best way of running the daemon automatically ? /etc/init.d/ doesnt seem to work...
[Asus Transformer TF700] moreD_cn:
init.d should work fine...see the attachment for some syntax, and after creating a script (named pm for example), you should run "sudo update-rc.d pm defaults" to enable it
[Asus Transformer TF700] JoinTheRealms:
thanks mate, hey another question. Have you had any success getting the openmax gstreamer plugins to work? As i gather we need them for hwa video decoding. strange because rabits ubuntu rootfs has the linux for tegra drivers/ codecs installed i would have thought they would be packaged in.

nvgstplayer functions very well but isnt the nicest thing to use :(
[Asus Transformer TF700] moreD_cn:
I never succeed in hw video playing other than nvgstplayer... :( I think it's strange though...
[Asus Transformer TF700] JoinTheRealms:
Hmm i just installed all the plugin sets for gstreamer, I also installed all the plugins etc that come with the 16.3 tegra drivers. And i just got hwa decoding on a 720p .mp4 and it ran perfectly(using gnome mplayer), ill do some more testing with other formats.
[Asus Transformer TF700] moreD_cn:
Good job!

now I'm waiting for ubuntu 13.10 and setup a rootfs from Ubuntu core, the standard one has too many packages I would never use... as for DE I prefer KDE, kwin_gles runs smooth.

btw I still dont know how to setup a correct keymap for X :( I've found the keymap file but don't know how to load it when X starts
[Asus Transformer TF700] JoinTheRealms:
also 720p .mkv works perfect:) if anyone trys let me know if it works or not. ive tried to re-map the keys many times also, never worked... the whole transformer line has the same keyboard set up so it could be a case of replacing ours with theirs, the tf101 might be a good start.

May i go off topic of a bit and just say how much im enjoying this tablet right now, i didn't think it was gonna get to this point of stability. Ive been running Linux exclusively for about 24 hours now and not a single lockup or even a slow down, power usage is low and with working suspend battery life is long, the screen with proper 1900x1200 wallpapers looks amazing, chromium with opengl es2 acceleration can play html5 720p youtube videos smoothly and feels more mature than androids browsers.

-Now with working hardware accelerated video decoding

-We can print like a normal laptop

-Very good office software, with proper dropbox integration.

-*soon* mainline 3.3 - 3.5 kernel

-The list goes on....

Why didnt Asus sell this tablet preloaded with ubuntu? their crazy. A big thanks to the rest of the team working on this!
[Asus Transformer TF700] moreD_cn:
For me the advantage shoud goes to coding ;)

I'm just curious how can we get a working 3.3 - 3.5 kernel :)
[Asus Transformer TF700] JoinTheRealms:
Thanks to pvka13 http://xdaforums.com/showthread.php?t=2469033:good:
[Asus Transformer TF700] workdowg:
i use xmodmap for my keymapping, arch wiki has a good write up on doing it. I tried to get core running, no luck with touch though for some reason....

From my ASUS TF700t - CROMi-X 5.0.4 DEODEX/Linux Dual-boot. moreD-Realms-v2+
[Asus Transformer TF700] JoinTheRealms:
Ive updated post #3 (http://xdaforums.com/showpost.php?p=44699716&postcount=3) with the latest details, ill keep it as up-to-date as i can :)
[Asus Transformer TF700] JoinTheRealms:
In blob02 i added a new repair option to the main init menu, lets you run e2fsck on individual rootfs files. I was sick of booting into android and having to do it manually :)

Oh btw let me know if you guys want linux or android the default, its easy to change. I just don't wanna have to package potentially 4 different blobs:p
[Asus Transformer TF700] KamikaZeeFu:
At least for me it would be android first. Any news on cm10.2 compatability? I'd be up for testing
[Asus Transformer TF700] JoinTheRealms:
Yes i built a kernel from cm10.2 sources, i posted the blob in post #3. I have no idea if it will work or not. If not ill flash cm10 as some point and actually try properly:)
[Asus Transformer TF700] KamikaZeeFu:
I flashed that Kernel but it only results in bootloops :/ (I don't even get to the multi boot menu)
[Asus Transformer TF700] JoinTheRealms:
[MENTION=5363490]moreD_cn[/MENTION] Have you had any luck replacing the mtev touchscreen driver? Although it works well, id like some multitouch functionality. I read somewhere in rabits thread, we are using the mtev driver because the normal evdev driver misreads events from the kernel, the way i understand it is endev nativity supports type B devices, and uses the libmtdev library to translate type A kernel events to type B events.

I found a evtest binary (it out puts kernel events on screen) and ours seem to match up type B in the multi-touch documentation (https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt) So i cant figure out why evdev isnt working.

Im gonna try merge a newer hid-multitouch driver into the kernel, see if that helps.

[MENTION=4878287]_that[/MENTION] Do you know if our device reports type a or b ?
[Asus Transformer TF700] _that:
No idea, but since our touchscreens are able to track identifiable contacts, I guess you are right with type B.
[Asus Transformer TF700] bryce09:
OK guys only bad news for now. I tried your version for dual boot jointherealms but it didn't work. After that I tried to compile and build my own version. Same story though.

I think we should join forces and start to implement some kind of multiboot. I'll check the mechanism for grouper and see how many and how hard it would be to implement for our device.

Good work so far! Lubuntu has been running great so far !
[Asus Transformer TF700] Keshukas:
OK

In the installer-6.7.zip for

bootloader 4.2

need to fix SDcard patch

META-INF/com/google/android/aroma/exec/available_rootfs.sh

@@ -21,7 +21,7 @@

echo "Trying partition '${part}'"

if [ "x${disk}" = "xmmcblk0p8" ]; then

# It sould be already mounted by available_space.sh

- searchfolder="/data/media"

+ searchfolder="/data/media/0"

else

echo "Find partitions and try mount it"

searchfolder=$(df | grep -F "/${part} " | head -n1 | awk '{print $6}')

META-INF/com/google/android/aroma/exec/available_space.sh

@@ -10,7 +10,7 @@

if grep -q 'selected.0=2' /tmp/aroma-data/rootfs.prop; then

echo "Selected internal storage"

- rootfsfile=/data/media/linux/rootfs.img

+ rootfsfile=/data/media/0/linux/rootfs.img

echo "install.disk=virtual" > /tmp/install.prop

echo "install.to=${rootfsfile}" >> /tmp/install.prop

META-INF/com/google/android/aroma/exec/start_install.sh

@@ -56,7 +56,7 @@

echo "Preparing root filesystem archive, placed on '${install_rootfs_dev}' with name '${install_rootfs_name}'..."

rootfs_searchfolder=$(df | grep -F "${install_rootfs_dev} " | head -n1 | awk '{print $6}')

if [ "x${install_rootfs_disk}" = "xmmcblk0p8" ]; then

- rootfs_searchfolder="${rootfs_searchfolder}/media"

+ rootfs_searchfolder="${rootfs_searchfolder}/media/0"

echo ". Disk with rootfs archive - is internal emmc and should be already mounted into ${rootfs_searchfolder}"

else

echo ". Disk with rootfs archive - is external storage and should be mounted manually..."

Only in installerV6.7-tf300/ramdisk/lib/modules: 3.1.10

ramdisk/multi/lib/multi/init.sh

@@ -27,6 +27,6 @@

export ainit=/init

export init=/sbin/init

export rootmnt=/root

-export indevice_rootfs_dir="/data/media/linux"

+export indevice_rootfs_dir="/data/media/0/linux"

. /lib/multi/01-main_screen.sh
[Asus Transformer TF700] JoinTheRealms:
Hey guys, ive updated post #3 with a hundsbuah blob(compiled from his latest source) enjoy.

[MENTION=2873491]Keshukas[/MENTION]

Thanks mate, ill try it out! I really have no idea how that installer works, i also tried removing the cyanogenmod options etc but it would then refuse to boot, so i just left them alone.

[MENTION=4960180]bryce09[/MENTION]

Yeah i think its just an issue with the initrd, i just have to get round to flashing cyanogenmod so i can have a play.

Ive actually started modifying touch clockworkmod into a grub like *bootloader*, another option would be something like multirom which i started but gave up on:( The initrd method of multibooting works great, but a kexec based method will work much better and easier, and we wont need to worry about stock/cm etc and users can flash/ update the host android kernel at will(since yours, _that and hunds kernels are all patched for hardboot).

Ideally it should work how multirom *injects* code between the bootloader and the kernel, im not 100% sure how they do this. Again this allows the user to just flash the kernel of their choice, and then flash a package that would enable a multiboot. I might get started on something simple tonight :)
[Asus Transformer TF700] Keshukas:
Now i cheking CROMi-X DEODEX in here have multi platform tf300 / tf300tg, tf700, tf301 and tf201 with modules for all thats platforms
[Asus Transformer TF700] JoinTheRealms:
Hey Keshukas i packaged the tf300t modules in with the tf700 ones, could you try this out? https://www.dropbox.com/s/dajgojw9sprhpgk/blobtest
[Asus Transformer TF700] Keshukas:
sending 'recovery' (7330 KB)...

OKAY [ 2.640s]

writing 'recovery'...

OKAY [ 2.497s]

finished. total time: 5.137s

rebooting...

can't reboot

Ok i heve recompreset blobtest and now is booting

Boots to android no wifi

boots to ubuntu no wifi ( need bcm4329 modul)

boots to ubuntu touch - no god news

araund 1 hor i will bee away
[Asus Transformer TF700] JoinTheRealms:
Ahh not sure what happened at the top? it certainly shouldn't have been attempting to write to the recovery partition? Anyway ive compiled the bcm4329 module into the zImage ill post a link once its uploaded.
[Asus Transformer TF700] Keshukas:
In the .config need fix patch

When i back i can send to you
[Asus Transformer TF700] Keshukas:
[MENTION=4582979]JoinTheRealms[/MENTION]

In the .config after this line

CONFIG_BCM4329=m

put (paste) that

CONFIG_BCM4329_FW_PATH="/system/vendor/firmware/bcm4329/fw_bcmdhd.bin"

CONFIG_BCM4329_NVRAM_PATH="/data/misc/wifi/nvram.txt"

CONFIG_BCM4329_WIFI_CONTROL_FUNC=y

then i can tray
[Asus Transformer TF700] JoinTheRealms:
Sorry Keshukas, i just dont know, ive tried multiple times to build, i cant get the bcm4329 module to build. Ill have to leave it up to you.
[Asus Transformer TF700] JoinTheRealms:
Hey guys, you might want to downgrade libjpeg-turbo8 with synaptic. Ive spent a long time trying to fix a whole bunch of dependency issues