[HACK] JIT enabled Dalvik VM on Android 1.6 (Dusted Donuts) [Hack] - myTouch 3G, Magic Android Development

It seems that licknuts and I had a common goal in getting JIT on our phones. Here's his the link to his post, I just figured some of you guys could benefit.
http://forum.xda-developers.com/showthread.php?t=637419
licknuts said:
I wanted to make a very detailed post on www.andoidonroids.com about how to mash the JIT enabled Dalvik VM library into Android 1.6 Donuts I'm calling the hack "Dusted Donuts" and take from the name for what you will. I have been using the JIT enabled Dalvik VM for about two weeks and i runs decent but not perfect. Anyhow a death in the family Sunday has kept me from making a decent post and haven't had the time to get to the website and post and cross post and give credit where due.
No doubt that aaraya1516 broke the news on http://forum.xda-developers.com/showpost.php?p=5703076&postcount=193 as he was first to break the hack on FastTest, not taking anything away from him on that.
My testing goes back two weeks or more even during the 580mhz & 780mhz hack, I was waiting for someone to compile a boot.img with some 2.x stuff and sure enough the carlospants boot.img from ctso worked with enabling JIT for Dalvik VM, but as we know now the overclocking doesn't work at the moment.
Thank Cyanogen and t3hSteve of which may not know that this was entirely possible. Cyanogen mixed in enough Eclair into his Donuts (he's like Willy Wonka) that makes it possible to use the cross compiled JIT enabled Dalvik VM library from 2.1 for the Motorola DROID 2.0.1 libdvm.so that t3hSteve of www.alldroid.com compiled for the custom roms on Droid.
Required:
1. Android 1.6 ROMS with a bit Eclair stuff in the Kernel and framework such as Cyanogen ROM 4.2.x, Super D 1.8 - 19.2, WG Y2.6, FastTest, KingKlick Eclair and more.. This libdvm.so works on Android 2.1 as well as it seems it should.. 1 st bootup is slow and I recommend you let it sit even when desktops are up for a couple of minutes and then reboot it, 2nd and 3rd bootups are faster and smoother response overall even for long durations, days.
FIX YOUR FILE SYSTEM FIRST !!!!!! Got to do it from Recovery Console, It's partly the cause of poorly running ROMS and takes seriously longer to type the command than to fix your unknowingly faulty file system.
Code:
#e2fsck -fpDC0 /dev/block/mmcblk0p2
#reboot recovery
1. Download www.androidonroids.com/dusted-donuts (File has 3 scripts backup, install, restore, 2 folders, 1 libdvm.so)
2. Extract zip to root of /sdcard or where ever you like (the zip has a folder containing the files named dusted-donuts)
3. Open Terminal or go to Recovery Console
Code:
#su
#mount -o rw,remount auto /sdcard
#cd /sdcard/dusted-donuts
#sh backup
#sh install
#sync
#reboot
phone won't boot past G1 screen? Go to recovery console and restore libdvm.dll
Code:
#mount -o rw,remount auto /sdcard
#cd /sdcard/dusted-donuts
#sh restore
#sync
#reboot
---------------------------------------------------------------------------------------------------------------------
prefer to use VMLIBS.ZIP from t3hSteve? This is how you can install using that.
Required:
1. Android 1.6 ROMS with a bit Eclair stuff in the Kernel and framework such as Cyanogen ROM 4.2.x, Super D 1.8 - 19.2, WG Y2.6, FastTest, KingKlick Eclair and more.. This libdvm.so works on Android 2.1 as well as it seems it should..
How to install: (easier to go in recovery mode but can be done through terminal)
1. Download the VMLIBS.ZIP from t3hSteve of allroid.com http://alldroid.org/download/file.php?id=1374
2. You only need the libdvm.so file of which appears to be JIT enabled by default.
3. Backup the original libdvm.so #cp /system/lib/libdvm.so /sdcard/libdvm.so
4. Copy the JIT enabled libdvm.so #cp -f /sdcard/vmlibs/libdvm.so /system/lib/libdvm.so
5. Set permissions on the file #chmod 644 /system/lib/libdvm.so
Optional for disabling: (easier to do vi through recovery console, since the back key escapes out of terminal)
To disable JIT MODE but want to keep the libdvm.so create a local.prop in /data and add dalvik.vm.execution-mode=int:fast
#vi /data/local.prop
press the i key to enter vi interactive mode
type dalvik.vm.execution-mode=int:fast
press back key to exit vi interactive mode
to write the file out and quit vi type :wq
or
restore your backed libdvm.so file from the sdcard.
-----------------------------------------------------------------------------------------------------------------------
Enjoi! the dusted donuts,
-Licknuts (me? I'm like Varuca Salt, I want another pony)
Vendor G1 roms around 1.2 Mflops, Custom G1 roms are around 2.4 MFlops/s and with JIT compiled Dalvik VM 3.6 MFlops/s. At most you will see 3.5 MFlops/s fairly consistently with a minimal load on your system and highs at 3.7 Mflops/s. Test before and after using Linpack from the Market, it's free.
The 13.236 Mflops/s is not normal and you will probably not see with your testing, I have seen 5.x & 7.x but these are far and few between and this took a while with tweaked configurations/settings with a persistent app to kill processes, it is attainable and I hope a ROM developer finds the sweet spot to exploit.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click to expand...
Click to collapse
I don't know much about troubleshooting this, I am just posting what worked for me. In the original post I linked above people have been posting their issues and comments.
All credit goes to those mentioned above, not me.

Thanks for posting. I just read the other thread about this in the G1 Dev section. How is the stability with the JIT Dalvik VM ... is this hack ready for primetime? Is the performance increase noticeable in apps other than benchmark utilities?

st0kes said:
Thanks for posting. I just read the other thread about this in the G1 Dev section. How is the stability with the JIT Dalvik VM ... is this hack ready for primetime? Is the performance increase noticeable in apps other than benchmark utilities?
Click to expand...
Click to collapse
I've been using it since yesterday. No forced closes yet. Certain apps seem to work a little smoother, but I don't run many games. Test it out, it's reversible.

OK ...
Before I was getting 2.21x average in Linpack
After I am getting 3.59 average
This is using my rom st0kes1.4 and doing a 'end all' in advanced task manager before the test.
I'll run it for a few days and come back and comment in this thread

Same as St0kes.
Went from ~2.3 to ~3.6, no apps closed. First boot.

getting error "sh: cannot backup"any ideas?

I did everything from adb shell (not from recovery) and it worked fine.

1wingangel said:
getting error "sh: cannot backup"any ideas?
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=5703076&postcount=193
I did the steps in the link. They worked for me and I've been using it since.

I have just installed this lib. It worked for me but i have edited the scripts a little.

So I must be an idiot every time I type; #mount -o rw,remount auto /sdcard
it returns; Usage: mount [-r] [-w] [-o options] [-t type] device directory.
I've tried reading through the list of option and trying a few but i always get the same thing, both in terminal and recovery. Android has been my longest try at anything linux related. Any suggestions might be nice... and I have searched, I find the same sort of command everywhere but they all return the same thing.
Thanks
Edit:
Still never got that line to do anything more for me. But I was able to run the backup and install scripts without it. Although if anybody knows what I was missing in the above line I'd still like to know, even if you can just point me to directions that make sense. thanks

99bluoval said:
So I must be an idiot every time I type; #mount -o rw,remount auto /sdcard
it returns; Usage: mount [-r] [-w] [-o options] [-t type] device directory.
I've tried reading through the list of option and trying a few but i always get the same thing, both in terminal and recovery. Android has been my longest try at anything linux related. Any suggestions might be nice... and I have searched, I find the same sort of command everywhere but they all return the same thing.
Thanks
Edit:
Still never got that line to do anything more for me. But I was able to run the backup and install scripts without it. Although if anybody knows what I was missing in the above line I'd still like to know, even if you can just point me to directions that make sense. thanks
Click to expand...
Click to collapse
try from a command line in either windows or linux. do adb remount and it should work. That is assuming you have installed the android sdk

cyanogenmod with enoch theme
2.3ish before now 3.5 avg

does this work with marsdroid? anyone I want to apply the hack

99bluoval said:
So I must be an idiot every time I type; #mount -o rw,remount auto /sdcard
it returns; Usage: mount [-r] [-w] [-o options] [-t type] device directory.
I've tried reading through the list of option and trying a few but i always get the same thing, both in terminal and recovery. Android has been my longest try at anything linux related. Any suggestions might be nice... and I have searched, I find the same sort of command everywhere but they all return the same thing.
Thanks
Edit:
Still never got that line to do anything more for me. But I was able to run the backup and install scripts without it. Although if anybody knows what I was missing in the above line I'd still like to know, even if you can just point me to directions that make sense. thanks
Click to expand...
Click to collapse
Just type
Code:
mount /sdcard

So are there any problems to report?

tmobile-mytouch 3g
latest cyan
ram hack
custom kernel
jit enabled monday night.
everything was working really good. yesterday I decided to do a wipe and start from scratch to see if it would work even better. works just the same after wipe. I personally havent had any problems, but did notice a huge increase in stability.

I have to admit the changes were VERY noticable to me. I ran linpack for the benchmark.
Before - 2.0-2.3
After - 3.2-3.6
Good work on this guys! I really appreciate it! Everything is so snappy now!

Running solid for a few days. Tried on multiple ROMs, even without killing tasks. Can still do over 3.5 with Live Wallpapers running.

Finally managed to get this going on my MT3G with st0kes 1.4.....it is FAAAAAAAAAAAAAAAAAAST!!!!!!

Any chance for this to be compatible with Android 1.5?

Related

Testers needed - latest busybox compiled for Android

PLEASE NOTE: THIS THREAD IS NOW OBSOLETE, BUSYBOX COMES WITH JUST ABOUT EVERY COOKED ROM
Hi all,
This is my first attempt at compiling anything for the android platform. My reason for doing this is whilst the busybox version does what we need it to do when rooting our HTC Dream's / G1's, as an everyday app it fails because it segfaults all the time.
This isn't a dig at Benno because to be honest, he's a bit of a hero for compiling it the first time round, without him it would have been a lot harder (if not impossible) to root our G1's.
Problem is, his version of busybox was compiled over a year ago (14 nov 2007 if his blog is anything to go by) and segfaults quite a lot (probably because it wasn't compiled for the G1, but more for the Android emulator), particularly if you try and do "ls -al"..
So what I've done is I've compiled the latest stable version of busybox (1.13.1 as of 14 December 2008) for the G1, I've tested this on my own G1 and it seems to work fine, but I could do with some help extensively testing it.
You can grab it here (for G1: long press -> save, for other browsers: right click -> save as / save target)
Installation Instructions:
Download the above file to your G1, it should be saved as /sdcard/download/busybox2.asc
(if you downloaded it with the G1 browser that is, otherwise please copy it to your G1's SD card to that exact path / name)
Remount your /system partition with this command:
Code:
mount -o remount,rw /dev/block/mtdblock3 /system
Copy the busybox binary into the /system/bin/ folder by running this command:
Code:
dd if=/sdcard/download/busybox2.asc of=/system/bin/busybox
Set the busybox binary as executable with suid bit by running this:
Code:
chmod 4755 /system/bin/busybox
Remount your /system/bin partition as read only again (unless you want to create more shortcuts) by doing the following:
Code:
mount -o remount,ro /dev/block/mtdblock3 /system
And thats it! Please test it as thoroughly as you can and let me know in this post if you have any problems
Ps. I take no responsibility for any damage that occurs directly or indirectly from using this program. Although I will try and make amends if something doesn't work as expected, you must acknowledge that you are solely responsible for your actions when modifying the filesystem of your G1.
Please note, this version is compiled as follows:
* It is compiled against regular libC so is 1.8MB big
* It is compiled with the soft links options
I'm investigating compiling it against uClibC to get the size down dramatically, and compiling it with a seperate set of options so it auto-identifies when to use itself when you're shell is busybox sh.
Appears to have installed alright! Haven't had a chance to test it out otherwise, but I'll let you know if my phone explodes.
Excellent going through it now!!!
Thank you!
anybody else get
Code:
/system/bin/busybox: write error: no space left on device, 1045+0 records in , 1044+0 records out, then the speed stats
Im just gonna chmod it anyway, I wonder which file it forgot?
man all my G1 hack went smooth till I tried the market cache move, i got 1 file and 100 force closes, tried moving them back to no avail..HARD RESET, now I messed up this one somehow, Its par for my course these days, f'it...
bhang
edit:
I reran the "dd" command after I freed up almost a meg and it output same write error: no space left on device 1+0 records in 0+0 out, looks like it copied the last file I missed in the first run? do I need to chmod everything again since I dunno which 1 of the files it may have been..
on second thought 'dd' looks like it may have realized it only needed the 1 file but still needed more room cause 0+0 out, I dunno im confused any advice?
good work
installed successfully. so far no problems. does this new version contain commands not found in the previous versions, ie/ the version JesusFreke used in modified rc30 v1.2 (Sauriks' version from here: http://www.telesphoreo.org/pipermail/g1-hackers/2008-November/000032.html)?
edit: just realized that the previous ver i had installed was 1.12.2 (2008-11-16)
I think JesusFreke was compiling the bionic version last night. Might wanna check on that before you spend your time doing if it you have not already.
Darkrift said:
I think JesusFreke was compiling the bionic version last night. Might wanna check on that before you spend your time doing if it you have not already.
Click to expand...
Click to collapse
uninstall is just as easy as installing
-beers!
Bhang, have you installed anything else on your /system partition bar the stock files?
I'm working on a solution at the moment that moves all this to the /data partition to provide some more usability. For now I suggest you delete busybox from /system/bin/ so you don't fill up your /system partition.
syntax?
I could not quite get this to work as stated. I am no command line expert, so I guessed at what might work. I did the following:
Instead of this:
mount -o remount, rw /dev/block/mtdblock3 /system
I did this:
mount -o remount, -rw /dev/block/mtdblock3 /system
At the last I did this:
mount -o remount, -r /dev/block/mtdblock3 /system
Then I rebooted. Everything seems fine. I looked up some busybox commands, but they don't seem to do anything. Any way to know for sure?
my bad, it works!
Excuse a noob, I didn't know you had to type "busybox" in front of the command...
Hi, the link is down, can someone please re-upload? Thank you .
Please note, this is now obsolete as busybox comes with just about every other ROM out there.
foxdie said:
Please note, this is now obsolete as busybox comes with just about every other ROM out there.
Click to expand...
Click to collapse
Unfortunitally there have been people releasing versions without busybox recentl for the mytouch series mainly and we need a good version of Busybox if possible
Hi,
I know that, but I'm having problems getting SUFBS (http://forum.xda-developers.com/showthread.php?t=530271) to work correctly. I read through the thread and someone tried your busybox and it worked. Also, the one I have (using myhero 0.0.7) is using 1.8.1.
You can actually rip the busybox binary out of any of the roms that come with it.
Any instructions? It'd be simpler if foxdie's busybox is re-uploaded though. Thanks!
Wysie said:
Any instructions? It'd be simpler if foxdie's busybox is re-uploaded though. Thanks!
Click to expand...
Click to collapse
try this out, it's what i used http://benno.id.au/blog/2007/11/14/android-busybox
http://www.busybox.net/downloads/snapshots/busybox-snapshot.tar.bz2
can anyone please compile the latest source or explain how to do this with windows and visual studio?
I tried to build busybox latest with android bionic lib and gave up on passwd.
I had problems with bionic umtp, no strchrnul in string.h and no pw_gecos in passwd.
I can not understand how other busybox builds where able to get build. Any experiances?
EDIT: Doh, stupid me. I made 2 big mistakes. I will give it a new try with an other compile.
EDIT2: wich lib was taken to compile busybox? androids c lib bionic was not possible for me.

[HACK] (!update 04/26/2010) JIT enabled Dalvik VM on Android 1.6 (Dusted Donuts)

Update (fix for /cache/dalvik-cache 04-26-2010): Really only use this if your having issues using the symbolic link fixes posted by other members or are just out of free space on /cache. First the new issues people are experiencing is in cm-based-kernels from 4.2.15.x and not JIT enabled DalvikVM and people using danger/death spl will experience problems faster. Lack of space on /cache is a problem and will cause market downloads to fail as well as email attachments. The other problem is the kernel fails for various and unknown reasons to mount bind /cache/dalvik-cache to /data/dalvik-cache.
The other issue is the use to dalvik-cache clearing scripts and options in RA recovery, stop clearing your dalvik-cache, the .dex files are created when missing and you do not get any benefits by doing so and cause more wearing leveling of NAND, plus the script in RA recovery doesn't appear to look at /cache/dalvik-cache for dex files. This little update script (when installed correctly).
Understand that /cache/dalvik-cache is a newer option as a means to free up space on /data is by using /cache/dalvik-cache as a first storage of dex files then using the standard /data/dalvik-cache for over flow of dex files and newer installed apps. Somewhere along the way something may throw this and you get douplicate dex files in both locations, one way to check is to boot into recovery and
Code:
mount -a
and check dalvik-cache directories in both /cache and /data for douplicate dex files.
The script will fix these issues, or should at least:
Endless loop FCs on boot
broken /cache/dalvik-cache mount
no binded mount
missing user apps
missing system apps
failed market downloads
non-working symlink patches and installers (no need to run these, they will break this patch)
fixes duplicate dex files in both /cache/dalvik-cache and <target>/dalvik-cache (because it deletes /cache/dalvik-cache)
Will not Fix:
your ignorance
your unwillingness to read
your unwillingness to learn
your compulsive ROM flashing disorder
your compulsive dalvik-cache clearing syndrome
version 1.1.1(updated 4/27/2010 @ 10:10 PM) is current and was slapped together from Phonekenstein, it doesn't look for the existance of /cache/dalvik-cache it assumes it's there and deletes it wether it's a directory, a symlink or a file, re-creates a new empty /cache/dalvik-cache with Android default permissions and mount binds it to /data/dalvik-cache (be it a directory, a symlink or another binded mount) /cache/dalvik-cache will follow the target /data/dalvik-cache (no worries for apps2sd users or non-apps2sd users).
Script will turn on the blue LED when booting so you know it executed (if it annoys you then edit the script and make it pink)
Tested on Cyanogen MOD 4.2.15.1 and SuperD 1.10.3:
with and without apps2sd
with and without a /dev/block/mmcblk0p2 (apps2sd script nulled)
with and without a custom /dev/block/mmcblk0p4
with mount binded /ext/dalvik-cache (mmcblk0p4) to /data/dalvik-cache
with /data/dalvik-cache as a symbolic link to /ext/dalvik-cache (mmcblk0p4)
All scenarios experienced no failures as long as you set your permissions correctly on all targets and files and /cache/dalvik-cache followed and binded flawlessly.
install is simple and can be done through terminal:
1. download 86dalvik-cache-fix <--Long press and chose "save link as" (also attached to this post)
2. open terminal and issue these commands:
NOTE: COMMANDS ARE CASE sensitive in LINUX and as such ANDROID!!!!!!
ALL OFF THESE COMMANDS ARE IN lower case. SO Turn off your Auto-Caps options in your keyboard options. These command assume you downloaded the script using your the web browser on your G1/Magic whatever phone and the file is located in /sdcard/download (the default location for web browser downloads).
Code:
su
mount -o rw,remount /system
cp /sdcard/download/86dalvik-cache-fix.txt /system/etc/init.d/86dalvik-cache-fix
chown 0:2000 /system/etc/init.d/86dalvik-cache-fix
chmod 755 /system/etc/init.d/86dalvik-cache-fix
sync
reboot
Why 86dalvik-cache-fix? We want the script to execute after all scripts in /system/etc/init.d/ including /system/sd/userinit.sh (if you are using one) and before script 99. 86 because in 1987 everything got 86'd.
If you are having a problem getting the script to execute, copy it or merge it into /system/sd/userinit.sh (even if you aren't using a mmcblk0p2(ext partition)) it may make it work with FastTest builds, however the permissions on his builds appear to be root everything and I have problems getting the script to execute out of /system/etc/init.d even with root permissions.
--------------------------------------------------------------------------------------------------------------
Primer: Read this about Dalvik VM http://en.wikipedia.org/wiki/Dalvik_virtual_machine
Read this to: Google Groups post about JIT compiler for Dalvik VM from Android-Platform Link
From the post we see that this particular compiled library is ALPHA, so results can vary, but from reading most posts in this thread the results are right near the talked about 3x faster code, stability is going to vary on what apps and or widgets are running. More Widgets = slower performance as these have processes that are eating cycles. When testing with Linpack wait for the advertisement to load first then tap the benchmark button and remove your finger from the touch screen. Background process such that interrupt or having auto-rotate enabled while testing is going to give you slower benchmarks.
In short your apps should load faster and run faster, particularly 3D games. The web browser is faster and you can actually scroll through pages even while graphics are still loading.
The reboot when enabling it is long even appearing to hang at the G1 Screen for 5 minutes or more but once it starts booting past this you will know that your ROM is compatible. The cause is that the dex files are being optimized, after about a third reboot, your ROM should feel pretty snappy and launching apps should be quicker as well as switching apps. The snappiness lasts as well and as some may have said that it's a placebo effect are wrong. Bench mark readings prove it and more importantly a few ROM builders have included this in their 2.1 ROMs as experimental.
The libdvm.so that t3steve cross compiled for the DROID at the time was for Android 2.0, the library works for with newer ROMs Android 1.6 that have some eclair pieces built into the kernel, CyanogenMOD has been using bits and pieces for a while now, if other ROM builders have been using his kernel and framework than a good chance it will work for your phone as well.
I have nothing to do with the compiling of this or the exact functions of enabling JIT except that I had a hunch that the combo might work and it did, so I'm sharing it.
If you aren't good at typing in commands, or don't know how to extract a zip file and understand that a sub folder may or may not exist where you have extracted said zip file to, well.... you may run into some issues, maybe a video tutorial for basic command line on youtube would be a good place to learn.
I wanted to make a very detailed post on www.andoidonroids.com about how to mash the JIT enabled Dalvik VM library into Android 1.6 Donuts I'm calling the hack "Dusted Donuts" and take from the name for what you will. I have been using the JIT enabled Dalvik VM for about two weeks and i runs decent but not perfect. Anyhow a death in the family Sunday has kept me from making a decent post and haven't had the time to get to the website and post and cross post and give credit where due.
No doubt that aaraya1516 broke the news on http://forum.xda-developers.com/showpost.php?p=5703076&postcount=193 as he was first to break the hack on FastTest, not taking anything away from him on that.
My testing goes back two weeks or more even during the 580mhz & 780mhz hack, I was waiting for someone to compile a boot.img with some 2.x stuff and sure enough the carlospants boot.img from ctso worked with enabling JIT for Dalvik VM, but as we know now the overclocking doesn't work at the moment.
Thank Cyanogen and t3hSteve of which may not know that this was entirely possible. Cyanogen mixed in enough Eclair into his Donuts (he's like Willy Wonka) that makes it possible to use the cross compiled JIT enabled Dalvik VM library from 2.1 for the Motorola DROID 2.0.1 libdvm.so that t3hSteve of www.alldroid.com compiled for the custom roms on Droid.
WARNING: Using other methods supplied from other forum members that include replacing the build.prop may cause problems, using the build.prop from the original VMLIBS.ZIP (which is here for reference and original source for libdvm.so) is definitely going to cause ROM and application problems. Hello....use your head here... the VMLIBS.ZIP is for Motorola DROIDS, why would you put the build.prop file for a DROID on your G1 and expect your apps or ROM to work afterwards? It's so simple, you need 1 file, it's called libdvm.so it goes in /system/lib a file by the same name already exists there and it's in your best interest to at least back it up before overwriting it and gives you the ability in the event that your system doesn't boot up you can restore it through recovery console and get your phone to boot past the G1 screen.
FYI: Some ROMs have the option dalvik.vm.execution-mode=int:fast in the /system/build.prop file, this would need to be changed to dalvik.vm.execution-mode=int:jit or commented out or deleted. If you want to play with advanced options create /data/local.prop and fiddle in there with options available from typing dalvikvm -h in your console or terminal app.
Required:
1. Android 1.6 ROMS with a bit Eclair stuff in the Kernel and framework such as Cyanogen ROM 4.2.x, Super D 1.8 - 1.92, WG Y2.6, FastTest, KingKlick Eclair and more.. This libdvm.so works on Android 2.1 as well as it seems it should.. 1 st bootup is slow and I recommend you let it sit even when desktops are up for a couple of minutes and then reboot it, 2nd and 3rd bootups are faster and smoother response overall even for long durations, days.
FIX YOUR FILE SYSTEM FIRST !!!!!! Got to do it from Recovery Console, It's partly the cause of poorly running ROMS and takes seriously longer to type the command than to fix your unknowingly faulty file system. EXT2 is the worst offender and the built in function to repair falls short, even more so when checking EXT4.
Code:
#e2fsck -fcpDC0 /dev/block/mmcblk0p2
#reboot recovery
For the lazy fingers
#e2fsck -fcpDC0 /*/*/*0p2
#reboot recovery
1. Download www.androidonroids.com/dusted-donuts (File has 3 scripts backup, install, restore, 2 folders, 1 libdvm.so)
2. Extract zip to root of /sdcard or where ever you like (the zip has a folder containing the files named dusted-donuts)
3. Open Terminal or go to Recovery Console
FYI when running the install through Terminal your system may freeze or reboot and if it does I highly recommend that you prepare to enter Recovery Mode and check your file system. EXT2 corrupts quickly choosing this for apps2sd to use is not the best option especially if you are using custom ROMs that may lockup or reboot, basically that's a crash.
Code:
$su
#mount -o rw,remount auto /sdcard
#cd /sdcard/dusted-donuts
#sh backup
#sh install
#sync
#reboot
Check the Dalvik VM execution mode. look at the bottom line with_jit means the it is installed , and look at all of those options that can be jammed into your build.prop and local.prop files
Code:
$su
#dalvikvm -h
Phone won't boot past G1 screen? Go to recovery console and restore libdvm.so (give it at least 5 minutes first before giving up)
Code:
#mount -o rw,remount auto /sdcard
#cd /sdcard/dusted-donuts
#sh restore
#sync
#reboot
---------------------------------------------------------------------------------------------------------------------
prefer to use VMLIBS.ZIP from t3hSteve? This is how you can install using that.
Required:
1. Android 1.6 ROMS with a bit Eclair stuff in the Kernel and framework such as Cyanogen ROM 4.2.x, Super D 1.8 - 19.2, WG Y2.6, FastTest, KingKlick Eclair and more.. This libdvm.so works on Android 2.1 as well as it seems it should..
How to install: (easier to go in recovery mode but can be done through terminal)
1. Download the VMLIBS.ZIP from t3hSteve of allroid.com http://alldroid.org/download/file.php?id=1374
2. You only need the libdvm.so file of which appears to be JIT enabled by default.
3. Backup the original libdvm.so #cp /system/lib/libdvm.so /sdcard/libdvm.so
4. Copy the JIT enabled libdvm.so #cp -f /sdcard/vmlibs/libdvm.so /system/lib/libdvm.so
5. Set permissions on the file #chmod 644 /system/lib/libdvm.so
Optional for disabling: (easier to do vi through recovery console, since the back key escapes out of terminal)
To disable JIT MODE but want to keep the libdvm.so create a local.prop in /data and add dalvik.vm.execution-mode=int:fast
#vi /data/local.prop
press the i key to enter vi interactive mode
type dalvik.vm.execution-mode=int:fast
press back key to exit vi interactive mode
to write the file out and quit vi type :wq
or
restore your backed libdvm.so file from the sdcard.
-----------------------------------------------------------------------------------------------------------------------
Enjoi! the dusted donuts,
-Licknuts (me? I'm like Varuca Salt, I want another pony)
Vendor G1 roms around 1.2 Mflops, Custom G1 roms are around 2.4 MFlops/s and with JIT compiled Dalvik VM 3.6 MFlops/s. At most you will see 3.5 MFlops/s fairly consistently with a minimal load on your system and highs at 3.7 Mflops/s. Test before and after using Linpack from the Market, it's free.
The 13.236 Mflops/s is not normal and you will probably not see with your testing, I have seen 5.x & 7.x but these are far and few between and this took a while with tweaked configurations/settings with a persistent app to kill processes, it is attainable and I hope a ROM developer finds the sweet spot to exploit.
Looks nice.
Pre-JIT enabled: 2.194 Mflops/s
Post-enabled: 3.459 Mflops/s
Not quite getting the results you have there.
Running SuperD 1.9.2 Black W/ Nexus Theme. I copied it twice to make sure that the libdvm.so was copied correctly to the directory. Rebooted the phone, same results. Looks very promising though. If I did something wrong, lemme know.
Managed to get #10 on G1 Benchmarks with 3.583 Mflops/s... still nowhere near 13.~ Mflops/s
same here. Running Super D 1.9 on my magic
before JIT I got 1.xxxx Mflops/s
after i have 2.xxxx Mflops/s
how do you get the 13 Mflops/s ?
-edit-
with swap disabled i'm getting 3.5 Mflops/s
h.nocturna said:
Looks nice.
Pre-JIT enabled: 2.194 Mflops/s
Post-enabled: 3.459 Mflops/s
Not quite getting the results you have there.
Running SuperD 1.9.2 Black W/ Nexus Theme. I copied it twice to make sure that the libdvm.so was copied correctly to the directory. Rebooted the phone, same results. Looks very promising though. If I did something wrong, lemme know.
Managed to get #10 on G1 Benchmarks with 3.583 Mflops/s... still nowhere near 13.~ Mflops/s
Click to expand...
Click to collapse
I got 9 seconds on the pi benchmark
What will this do??
samsara00 said:
same here. Running Super D 1.9 on my magic
before JIT I got 1.xxxx Mflops/s
after i have 2.xxxx Mflops/s
how do you get the 13 Mflops/s ?
-edit-
with swap disabled i'm getting 3.5 Mflops/s
Click to expand...
Click to collapse
So I guess this only works with Swap off?
sabin123 said:
What will this do??
Click to expand...
Click to collapse
Speed your *hit up!
it works with and without swap.
Just the benchmark result is better when swap is turned off.
Got nearly the same as samsara00:
Rom: SuperD 1.9.2
Before (swap off): ~ 2.3 MFlops/s
After JIT enabling (swap off): ~ 3.5 MFlops/s
But the increase to 13.x seems so unreal, why is there only one result that high in the toplist of greene.com!?
Now to find out if this actually speeds up everyday use lol
CM4.2.14.1
Before: 2.3
After: 3.5
Wow! This made my 3G connection faster too. Was only getting 1500kbps before, now getting on average 3200kbps. Awesome. I'm located in Toronto, on Rogers.
Question: Is this Google's JIT? Will Myraids Dalvik Turbo be faster?
Doesn't boot past the G1 screen when using Dwangs 1.17.1 Assume thats because it has no Eclair in it, but it was worth the dream .
Waw!! great works!!
left is before - right one is after
on CM 4.2.14.1, enabled Swap 64MB, CC ON, RAM Hacked
So do we copy the zip to the root of our sd card? Do I extract it first and just copy the one file? The instructions are kind of vague.
G1ForFun said:
So do we copy the zip to the root of our sd card? Do I extract it first and just copy the one file? The instructions are kind of vague.
Click to expand...
Click to collapse
Not to be rude, but if you don't understand those directions, this isn't the sort of thing you should try to do yourself. Wait for a ROM builder to add this in. The directions are perfectly clear, you just need to understand command line use.
If you want to learn something about CLI use, install Linux on your computer and learn to use it without the GUI. If you don't want to do that, google for "cygwin" and use the bash shell they provide for Windows based machines.
Personally, I used adb and just pushed the darn file lol works perfectly fine, like everything else I've ever pushed. Just don't forget to set the permissions for the file.
tried in a terminal and with adb getting read-only file system when trying to copy over the libdvm.so file
SilentTweak said:
Personally, I used adb and just pushed the darn file lol works perfectly fine, like everything else I've ever pushed. Just don't forget to set the permissions for the file.
Click to expand...
Click to collapse
Nothing wrong with adb. Hell, I used SSH to do it. Just about anything will work, you just have to know what you're doing.
Damn.... I just rebooted and it took about half the time it used to.
Tried the Linpack benchmark, getting about 3.5 with SuperD 1.9.2 w/Compcache 16M swappiness=10. Fresh reboot, obviously. Lock your CPU to 528 (min and max) for more consistent results. When I have 128min 528max, it gives different results depending on the current CPU speed. SetCPU or Overclock Widget helps a lot here. No instability noticed yet, but this should probably be considered an unstable hack for now till we all get more experience with it. I know OpenEclair removed the JIT VM because of stability problems.
Sgt.EddieWinslow said:
tried in a terminal and with adb getting read-only file system when trying to copy over the libdvm.so file
Click to expand...
Click to collapse
Do "adb remount" first
ttabbal said:
Not to be rude, but if you don't understand those directions, this isn't the sort of thing you should try to do yourself. Wait for a ROM builder to add this in. The directions are perfectly clear, you just need to understand command line use.
If you want to learn something about CLI use, install Linux on your computer and learn to use it without the GUI. If you don't want to do that, google for "cygwin" and use the bash shell they provide for Windows based machines.
Click to expand...
Click to collapse
Obviously they are not clear to me. Why argue the point?
I have worked plenty with cmd type interfaces...so please...put down your know it all stick and be helpful.
edit: hope this helps somebody else...look better instructions posted in the fasttest thread!
download files here and copy them on the sdcard
created a folder /sdcard/jit and put the three files in it
make a folder /sdcard/dalbk and copy the original files
adb pull /system/build.prop .
Open in WordPad/Textpad and add as the last line: dalvik.vm.execution-mode=int:jit
SAVE IT, copy/push it on the /sdcard/jit folder
Sgt.EddieWinslow said:
tried in a terminal and with adb getting read-only file system when trying to copy over the libdvm.so file
Click to expand...
Click to collapse
Code:
C:\Android\tools>adb shell
# su
su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
# chmod 777 /system/lib/libdvm.so
chmod 777 /system/lib/libdvm.so
# cp -f /sdcard/vmlibs/libdvm.so /system/lib/libdvm.so
cp -f /sdcard/vmlibs/libdvm.so /system/lib/libdvm.so
# chmod 644 /system/lib/libdvm.so
chmod 644 /system/lib/libdvm.so
# reboot
Damn.... I just rebooted and it took about half the time it used to.
Click to expand...
Click to collapse
Indeed
Licknuts result : 3.1-3.5 (with Super-D 1.9.2)
My method of installing it:
adb remount
adb push libdvm.so /system/lib/libdvm.so
Then open console and type:
su
chmod 644 /system/lib/libdvm.so
reboot
I'm about to try this myself.. has anyone noticed an overall increase in speed? Benchmarks are great but it's all about how it actually performs!
I'll post my own findings in a bit.

[How-To](UPDATED 11/1/10)Working Marketplace in 2.2 Emulator (no system.img)(ROOTED)

This all started out as an experiment to get my nandroid system.img file running in the adb emulator. Well sadly I haven't been able to do that (yet) but I have found something useful. I've Seen several people all over asking how to get a working marketplace app in 2.2 on the adb emulator. After a lot of researching (and trial and error) I've managed to get one. Here are the steps I've taken. (Steps 5 and 6 optional, you can just use the included build.prop if you prefer)
1) Create an avd running 2.2 (froyo,plenty of places explain how to do this so I won't)
2) Download the file (attached below, root files included)
3) Unzip to a location that's easy to remember and find.
4) Load your emulated phone (allow it to load fully)
5) enter this command in a command prompt/terminal window (make sure you "cd" to the directory where you extracted the files)
Code:
adb pull /system/build.prop
6) Remove or comment "ro.config.nocheckin=yes" (no quotes, might be able to just change it to "no" but I haven't tried it that way)
7) enter these commands
Winblows (I mean windows)
Code:
adb remount
adb push build.prop /system/build.prop
adb install GoogleServicesFramework.apk
adb install Vending.apk
adb install Gmail.apk (optional but sometimes signing in here lets the market sign in)
adb shell rm /system/app/SdkSetup.apk
Linux
Code:
adb remount
adb push ./build.prop /system/build.prop
adb install ./GoogleServicesFramework.apk
adb install ./Vending.apk
adb install ./Gmail.apk
adb shell rm /system/app/SdkSetup.apk
8) Sign in. If it works you're done if not reboot and try again, sometimes it takes 3 or 4 reboots to set. If your emulated phone has a data signal from your computer (you'll see a 3G and network icon in the notification area) just wait for it to sign in. The cancel button should grey out within a minute. If it says it can't connect restart the emulator and try again, be patient.
There is a known bug that not all apps show up in the marketplace. I'm not sure why so if someone here knows how to fix that by all means leave a post and let me know. If I see it I'll add it to the first post (provided it works of course )
Edit: Working on getting root on the emulator (just for the hell of it). So far I have su in the xbin directory and superuser.apk installed. Not 100% sure what else I need to do to get the su requests to go through though, I'll probably PM a more experienced member and post back when I have more. Got root? I do (got it working.) Here are the steps you need to take.
Rooting the standard android image on the emulator
1) Open a command prompt (cd to the directoy where you extracted the files)
2) enter these commands
Code:
adb shell mount -o rw,remount -t yaffs2 /dev/block/mtdblock03 /system
adb push su /system/xbin/su
adb shell chmod 06755 /system
adb shell chmod 06755 /system/xbin/su
adb install superuser.apk
That's it! You now have a rooted, market-enabled android emulator.
New! N00b-friendly method
1) create your avd
2) download the emulator files archive attached to this post
3) extract somewhere easy to find
4) open command prompt/terminal and cd to the extracted location
5) start your avd
6) Run your script (windows.bat or linux.sh)
7) sign into market and enjoy root!
Note:
You may have to chmod su again upon restarting the emulator.
To get root back simply run the re-root script for your OS (bat for windows,sh for linux)
To install busybox simply run the re-root script, it will automatically install if you're using the script to install on a new avd.
Post 2
[reserved for updates, explanations, pictures, present/future tweaks in progress, etc]
Pictures:
Superuser list,Marketplace (I like solitaire><), Terminal with su permissions, and re-rooted Terminal​
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Tweaks:
1: root (done!)
2: busybox (done!)
Wow nice....
Thank you the root resets after reboot, working on making it stick but its not hard to do it again, just start with the "-wipe-data" command and redo the root, market works after reboot though. Still working on getting a dumped system.img to boot, ill post that in its own thread when i get it. Glad you like this.
Sent from my ROOTED T-Mobile myTouch 3G Slide using XDA App
Edit: see first post on how to get root back,no data-wipe!
so cool!! Good job man!
Thanks ^_^ let me know if you find any problems that I haven't already mentioned and I'll see if I can fix them or if they're just an emulator quirk.
Sorry for the double post but I wanted to let you all know busybox is now included! Installation can be performed through scripts (included in the "Emulator Files.rar" archive) or manually. If you wish to do it manually simply open the script in a text editor to see what's going on and enter the commands in a command prompt/terminal window.
I'm not able to make this work, not with a toolkit downloaded yesterday anyway.
Pulling of build.prop works, but pushing fails with a directory related error.
"adb shell" followed by "cd /system" and "ls -l" gives a list of files that does not include build.prop, neither as a file nor as a directory.
"ls -l build.prop" works though, and lists a file with 0644 permissions.
Install of all apks different from Gmail fails, with an error that says that those apks are already installed. Uninstalling them through adb doesn't work, netting instead a simple generic error.
Does anyone know whether I'm doing something wrong or Google has modified the emulator images so to render the Market workaround unusable? If so, where could I download an earlier version of the 2.2 system image?
Many thanks
Rocco
I actually had this issue as well. Try re-making the avd, worked for me. You could also try running the scripts to install, might work. If it doesnt post back and ill post the system.img from my sdk.
Sent from my ROOTED T-Mobile myTouch 3G Slide using XDA App
I have the same problem as ropi. Remade the avd several times with different properties, still no go.
I would really appreciate it if someone could upload a fully set-up avd somewhere.
I'll try again late this afternoon (I'm on CEST). Hope it works. If not, I'd be happy too if some kind soul would upload a link to a working avd
Thanks for the kind help
Rocco
I have no idea why people are having so many problems :/. I had the problem and once I remade the avd it went away. Try starting with the -partition-size 96 option and see if that helps. If not here are the files, just extract to your avd directory, it has the ini and img files you need and it's already setup. Just run re-root to get root back and sign into market and you're good to go.
http://hotfile.com/dl/79959332/3efbade/froyo-avd.rar.html
Edit: I just downloaded the latest revision and everything seems to be working fine :/ As I've said before try starting with -partition-size 96 and also try using the scripts I've provided. That should fix the issues, but if it doesn't there's always the hotfile link I've provided (or if you're just lazy lol)
Edit 2: also,just thought of this, make sure before you push the build.prop you adb remount. Pulling will work fine without doing that but pushing won't. No one said if they had done this and still received the errors so I'm trying to cover all bases. If remount fails try the adb shell mount command posted on the first page.
Thanks dbzfanatic, that avd worked great.
Glad it worked for ya. Let us know how everything works.
Sent from my ROOTED T-Mobile myTouch 3G Slide using XDA App
A lot of apps can not be found in the Market ... I cannot find Lookout....
Yeah, I've mentioned that,firs post. It's a known bug. Nothing I can do to fix it at the moment. You could download the apk on your phone then pull it then install it in the emulator. Bit of a roundabout way of doing things but it's all we can do on the emulator for the time being, at least from what I know.
Ok after a bit of poking around (sorry it took so long) I found out a bit about the market. It seems it's not just your region that it uses to show apps but things like your carrier, presence/absence of a SIM card, Android version, etc. It uses the filters to choose which apps to show and which to exclude (not showing an American user Japanese apps, not showing someone on Verizon T-Mobile apps, etc) so this explains part of the problem. I also found out that the SIM card and IMEI numbers were(are?) hard-coded into the emulator binary, changing these may allow us to see a few more apps. I looked through the binary file a bit and didn't find anything but I'll look more closely in a bit (new job, yay <- read as "groan"). I don't know how to emulate or spoof a carrier so that will still cut us back on some of the apps being seen. If anyone knows how to do this please post here and let us know! It would also be beneficial if a user who has already modified their IMEI and SIM numbers in the emulator to compare the apps list to the one you see in the standard, non-modded emulator binary and let us know if there is a difference or not. The more apps we can see in the marketplace the better!
Just wanted to confirm that I've tried Market Enabler a few days ago and it doesn't seem to work.
Alright thanks for the feedback. Ill keep working on it.
Sent from my ROOTED T-Mobile myTouch 3G Slide using XDA App
Despite several tries, I've so far been unsuccessful in using this method to install the marketplace on a 2.2 avd. Many thanks for having provided ready-made avds, then!
I've been able to install marketplace on the Galaxy Tab images provided by Samsung, though!
Keep up the good work

[SCRIPT][6/19/2011] Inspirefy 1.1 for CM7 nightly - Delete stuff & Replace stuff

Hello, I wrote this shell script to make the CM7 nightly the way I like. It was a pain to do it manually every time I would flash a new nightly.
NOOB WARNING:
THIS SCRIPT IS FOR CM7 NIGHTLY ONLY. IT MAY WORK FOR OTHER CM7 BASED ROM BUT USE IT AT YOUR OWN RISK. IT DELETE SOME FILES ON THE /SYSTEM/APP AND MODIFY YOUR BUILD.PROP FILE. I'M NOT RESPONSIBLE IF YOU DESTROY YOUR PHONE NOR IF YOUR PET DIES AND THINGS LIKE THAT.​​
This script do this:
1) delete some APKs from /system/app that I don't need
/system/app/Camera.apk - replaced by Miui camera
/system/app/Calculator.apk - I use RealCalc
/system/app/FileManager.apk - I use Root Explorer
/system/app/Music.apk - I use the new Music App
/system/app/BooksPhone.apk - I don't use this
/system/app/Protips.apk - Useless
Click to expand...
Click to collapse
2) replace the boot animation with a sharper and bigger version (file size is bigger too)
The original boot animation size is too small for our screen. Some people could car less for this as you don't reboot your phone that often.
Original boot image:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
New boot image:
Click to expand...
Click to collapse
3) replace the default camera for a Miui camera
We all know the AOSP camera sucks...
Click to expand...
Click to collapse
4) backup and edit build.prop to display "Inspire 4G" as device name
Some people asked how it affect the market and so far so good for me.
I have no idea if automatic backup/restore from Google is working or not. I use Titanium Backup to restore my apps before I login with my Google account.
Click to expand...
Click to collapse
Things you will need:
1) Scripting Layer for Android (SL4A)
Free app. We will use this to run the script.
Click to expand...
Click to collapse
2) Script and other files - RAR version inspirefy_files_v1.1.rar or ZIP version: inspirefy_files_v1.1.zip
All the files needed for the magic to happen...
VERSION 1.1 UPDATE: If you already have the version 1.0 on your phone you can download the attached zip file from this post to update the script to version 1.1 - Just extract the zip file to /sdcard/inspirefy/ and replace the old 'inspirefy.sh' script.
Click to expand...
Click to collapse
How to install & use it:
1) Extract the inspirefy_files.rar (or inspirefy_files.zip) to the root of your sdcard (/sdcard).
You will have 2 new folders (or just 1 new folder is SL4A was already installed): /sdcard/inspirefy and /sdcard/sl4a
2) Install the sl4a on your phone and run it.
2a) Select "run-inspirefy.sh" from the main screen. If it's your first time running the script you must confirm the super user request.
3) After the script is done (about 2s) you can close SL4A and reboot your phone.
Done
You can edit the file /sdcard/inspirefy/inspirefy.sh with your preferred text editor to make any changes you would like, maybe you want to keep the Tips widget
Have fun!
Thanks to dog77k for the feedback and suggestions and everybody who is using this script.
Good stuff LGSilva. Will let you know how things go after I find a free method to extract the rar (don't use root explorer) or when I get to my desk...
Very cool and glad to see this. Nice job
Sent from my Desire HD using XDA Premium App
Just added a ZIP version for the necessary files in case you want to do this on your phone.
forgive me, but I've never ran a script on android before. I loaded up the folders on the root of my sdcard, installed SL4A and ran it. Superuser didn't ask for permissions. Also, I can't figure out how to run what I need to. Help?
poetofsound said:
forgive me, but I've never ran a script on android before. I loaded up the folders on the root of my sdcard, installed SL4A and ran it. Superuser didn't ask for permissions. Also, I can't figure out how to run what I need to. Help?
Click to expand...
Click to collapse
When you ran the script did you get the terminal window output with something like this?
Code:
Inspirefy 1.0 by LGSilva
Remounting system partition rw...
Deleting apk files and boot animation...
Copying new boot animation and camera...
Setting permitions and ownership...
Backuping build.prop and changing device name...
Remounting system partition as ro...
DONE
.
The text is tiny but you can read it. Is there any error message on the terminal window?
Check the superuser app, sometimes it will have the SL4A marked to deny root...
Edit: Just testing on build 103... looks like SL4A is not happy with this build, time to investigate.
LGSilva said:
Edit: Just testing on build 103... looks like SL4A is not happy with this build, time to investigate.
Click to expand...
Click to collapse
They (nightly forum) are saying that the SU app is jacked on 103...
Nightly build #103 have a problem with Superuser not working right therefor my script won't work either.
To fix this download the Superuser from Rom Manager > Extras, reboot in recovery and install it.
dog77k said:
They (nightly forum) are saying that the SU app is jacked on 103...
Click to expand...
Click to collapse
Yep, you beat me to that, I blame the internet
Two suggestions/hints for the inspirefy.sh code:
"chown root.root /sys..." gave me an unknown user/group error, but "chown 0.0 /sys..." worked for me.
I was getting an error when trying to remount /system as ro that it was still busy so I added a 2 sec pause before trying to remount:
Code:
echo -e "Remounting system partition as ro...\n"
sleep 2
mount -o ro,remount -t ext4 /dev/block/mmcblk0p25 /system
echo -e "DONE.\n"
Otherwise the code worked well for me. Great work LGSilva.
I was having problems with SU thats why lol I'll fix it and try this again and update when I'm done
dog77k said:
Two suggestions/hints for the inspirefy.sh code:
"chown root.root /sys..." gave me an unknown user/group error, but "chown 0.0 /sys..." worked for me.
I was getting an error when trying to remount /system as ro that it was still busy so I added a 2 sec pause before trying to remount:
Code:
echo -e "Remounting system partition as ro...\n"
sleep 2
mount -o ro,remount -t ext4 /dev/block/mmcblk0p25 /system
echo -e "DONE.\n"
Otherwise the code worked well for me. Great work LGSilva.
Click to expand...
Click to collapse
Thank you dog77k for the suggestions.
I've updated the script with them and also added a 2sec pause after mounting it as RW just in case...
Files with version 1.1 updated on the first post, no need to reinstall SL4A.
tested and seemed to run just fine on build 104. thanks for the awesome script! very cool
Thank you!
+1 to both of you, thanks for the great scripting solution.

[DEV] - Dual-boot Linux on the Asus Infinity TF700t - JB-4.2[Thread closed]

This was the development thread for the "Dual-boot Linux on the Asus Infinity TF700t - JB-4.2" (now called "Kexecboot Linux on the TF700t").
Any and all developments are in Kexecboot Linux on the TF700t here
JoinTheRealms source is up here https://github.com/JoinTheRealms/TF7...oot-stockbased.
Recovery flashable Kexecboot and Kernels Installer
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:Done, thanks _that!
CROMi-X 5.4 - kexecboot_installer_for_CROMBi-X5.4_v1.0_Signed.zip -
CROMBi-X - kexecboot_installer_for_CROMBi-KK_v1.0_Signed.zip -
Change log:
5/23/2014
v.1.0 Installs kexec blob, boot.cfg, Android kernels (that10 and that-cm112) and modules(that10 only)
Click to expand...
Click to collapse
Manual kexec blob, Android and Linux kernel install info
1. Android Kernel
You must have a fully stable CROMi-X 4+(TWRP 2.5+) or CROMBi-KK (trwrp_that-2.6.3 or TWRP 2.7) install to use any of the following (See this forum, here, for ROM details)
(If you are on stock rooted only, see rabits old thread as this is your only option, here).
The example boot.cfg is usable as is (if you read the file and have use of any of the common choices it describes.)
---CROMi-X (Remember this is only for _that stock. No f2fs,rom2sd or data2sd)
1)From Android "Terminal Emulator" mount /system r/w and make dir /system/boot and extract that9oc-kexecboot-android-05082014.zip or that10-kexecboot-android.zip to /system/boot/
The following assumes you copied or downloaded that9oc-kexecboot-android-5082014.zip to the Download folder
Code:
su
mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system
mkdir /system/boot
cd /system/boot
unzip /data/media/0/Download/that9oc-kexecboot-android-5082014.zip
mount -o remount,ro -t ext4 /dev/block/mmcblk0p1 /system
2) Reboot into TWRP
3) From TWRP, flash kernel-10.6.1.14.10-that9-oc.zip or kernel-that10.zip and reboot to Android (See _thats thread for kernel details)
4) Back in Android, mount mmcblk0p5 as root and copy your this example boot.cfg into /mmcblk0p5/multiboot -
BIG RED WARNING - Do not mess with any other files on this partition or you will most likely have yourself a paperweight...
The following assumes you downloaded or copied boot.cfg the the Download folder
Example Code:
Code:
su
cd /data/media/0/Download
mkdir kexectemp
mount -t vfat /dev/block/mmcblk0p5 kexectemp/
mkdir kexectemp/multiboot/
cp boot.cfg kexectemp/multiboot/
umount kexectemp/
---CROMBi-KK (Remember this is only for _that stock. No f2fs,rom2sd or data2sd)
1) From Android "Terminal Emulator" mount /system r/w and make dir /system/boot and extract that-cm112-kexecboot-android-4272014.zip to it
The following assumes you copied or downloaded that-cm112-kexecboot-android-4272014.zip to the Download folder
Code:
su
mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system
mkdir /system/boot
cd /system/boot
unzip /data/media/0/Download/that-cm112-kexecboot-android-4272014.zip
mount -o remount,ro -t ext4 /dev/block/mmcblk0p1 /system
2) Mount mmcblk0p5 as root (ex. mkdir somewhere/temp, mount -t vfat /dev/block/mmcblk0p5 temp/) and copy your this example boot.cfg into /mmcblk0p5/multiboot -
BIG RED WARNING - Do not mess with any other files on this partition or you will most likely have yourself a paperweight...
The following assumes you downloaded or copied boot.cfg the the Download folder
Example Code:
Code:
su
cd /data/media/0/Download
mkdir kexectemp
mount -t vfat /dev/block/mmcblk0p5 kexectemp/
mkdir kexectemp/multiboot/
cp boot.cfg kexectemp/multiboot/
umount kexectemp/
2. Linux Kernel - This step is only needed if you aren't using one of the example rootfs below.
Be sure to read the readme files included in the zip file by conago.
1) Mount your Linux .img file or extract your rootfs as root on your Linux PC to a temp directory
2) Extract linux-kernel-tf700-kexec-that10-cogano3.zip ,by conago,to a temp directory
3) Copy the /boot and /lib folders to the root of your rootfs
4) Unmount the image or zip up your rootfs files.
Hint: Running the following commands will result in a new rootfs.tar.lzma that can be installed with the rootfs only installer above.
1) cd into partition mount
2)arch - sudo tar cp --exclude=lost+found --exclude='proc/*' --exclude='proc/.*' --exclude='sys/*' --exclude='sys/.*' --exclude='dev/*' --exclude='dev/.*' --exclude='tmp/*' --exclude='tmp/.*' --exclude='var/cache/pacman/pkg/*' $excludes . | lzma -9 > ../imgagename.tar.lzma
or
ubuntu - sudo tar cp --exclude=lost+found --exclude='proc/*' --exclude='proc/.*' --exclude='sys/*' --exclude='sys/.*' --exclude='dev/*' --exclude='dev/.*' --exclude='tmp/*' --exclude='tmp/.*' --exclude='var/cache/apt/archives/*.deb' $excludes . | lzma -9 > ../imgagename.tar.lzma
Click to expand...
Click to collapse
3. Flashing the kexecboot kernel blob - (done from Android using "Terminal Emulator") with 10 second time out by conago
1) Extract kexec-host-2014-05-22.zip to a temp dir, cd into it and then carefully type the following as root:
Again - BIG RED WARNING - Type carefully or you will leave your tablet unbootable or WORSE. And please read the README file in the zip.
Code:
dd if=blob of=/dev/block/mmcblk0p4
Reboot and profit!
Post install
Now included in the menu driven Android kexecboot Installer
Use the following script from Android AFTER you have a working install to modify the
boot.cfg file to your setup. It helps to rename the labels to something you can remember.
Extract to your favorite place and see the readme file.
modify_boot.cfg_v1.0.zip
Old, Old thread content here:
Great kexecboot tutorial by @cogano (here) - This gives some good background for the regular installer as well.
For those running CROMBi-KK w/_that9-oc+(modded for cm112 by @lj50036 ), I have a quick rundown of what you need to do and the necessary files (ie cm112 android kernel) here
Disclaimer! This is very experimental and may damage your device.
Suggested Requirements - TWRP 2.5+ and CROMi-Xenogenisis 4+
If you are on CleanROMv3x see rabits old thread - http://forum.xda-developers.com/showthread.php?t=2014759
Known issues:
1) Try to start or restart lightdm and it says - read-only filesystem. You need to fix this from Android, terminal emulator
Code:
su
Code:
e2fsck /data/media/linux/rootfs.img
This happens when you force restart or shutdown linux sometimes
You will find links below to the latest (still beta!) installer and some rootfs images.
For both Ubuntu and Lubuntu - Username: ubuntu Password:ubuntu
Lubuntu rootfs:
FYI - The Lubuntu rootfs is a work in progress and has been stripped for YOU to customize. Even though the download size is larger (install is 2.6gb), this runs way faster and uses less ram.
To see what has been installed (not much) or removed (a lot):
Code:
cat /var/log/apt/history.log | less
- The Lubuntu rootfs has the apt lists removed to reduce download size. Run this from lxterminal:
Code:
sudo apt-get update
Lubuntu To Do:
1) Remove xfce4-notifyd to get rid of the multiple notification errors... (Sorry about that one. I like Thunar and that was a dependency...)
2) No shutdown or restart in Lubuntu, also fails to start lightdm (tf700 prompt). Work around is to insert "sudo service lightdm start" (no quotes) into the file /etc/rc.local BEFORE exit0.
3) Version number shows as 12.10, it is really 13.04
4) Remove Unity
5) Update Tegra4Linux Drivers
6) Create updater scripts for version updates (Allows using your current install instead of starting with a fresh rootfs each time I update stuff)
7) Find out what is eating up space - rootfs still too large (734mb download - 2.5gb installed)
8)
Lubuntu Change log:
8-19-2013
- Removed xfce4-notify and Thunar
- Fixed lightdm errors and loads on boot now
- Fixed Lubuntu version number
- Removed overlay scrollbar - Most are usable by touch now.
- Removed password for sudo
- Other little things...
8-20-2013
- Removed Unity
- Added new wallpaper and conky (Thanks kennyMC)
- Cleaned up some clutter and sped things up...On hold...
Turns out that removing Unity did remove something that broke the framebuffer (honestly don't know much about that). I checked the logs and didn't see anything that got removed that should have affected X.
Anyhow, for now I am going to stick with the 8-19-2013 version as a base. I'm going to just spend some time using it and see what I can...
8-22-2013
- Removed Unity (if using v8-19-2013 run this in a terminal window as root - remove-unity.sh)
- Added new wallpaper and conky (Thanks kennyMC)
- Cleaned up some clutter and sped things up... Feels smoother!
- Removed some icon sets (HighContrast, LowContrast, Elementary), saved 100+mb on rootfs
Click to expand...
Click to collapse
Here is the modified .conkyrc and conky-draw.lua and my new wallpaper (definitely amateur).
conky-wallpaper2.tar (Fixed per JoinTheRealms - added - own_window_argb_visual) Just untar in the root of your home directory. (tar xf conky-wallpaer.tar) And use desktop preferences to change wallpaper.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Install
1) In Android Terminal Emulator:
Code:
# su
# mkdir /data/media/linux
2) copy installerV6.7.zip and rootfs-ubuntu-12.10-0.8.0.tar.lzma (12.10) or rootfs-lubuntutf700t-8-22-2013.tar.lzma (13.04)
to Dock SDcard (/Removable/SD), MicroSD (/Removable/MicroSD) or /data/media
3) Boot to recovery
4) NANDROID BACKUP!!!
5) Install installerV6.zip
6) READ and follow the aroma installer instructions (it will stop at 90% for as long as an hour or more while it is decompressing the rootfs)
7) Enjoy dual-boot Linux Again...
Files:
rootfs-ubuntu-12.10-0.8.0.tar.lzma (687 Mb) MD5: 6dbf50fe8623ceef3e5771e01ba52938
NEW! - rootfs-lubuntu-tf700t-8-22-2013.tar.lzma (722 MB) MD5: 92399b0541235a53b94844bacb06d866
NEW! 10/2013 - installerV6.7.zip (13mb) MD5: f2961cd02c6770dea369c3728fa13201
conky-wallpaper2.tar (316k)
Dualboot Linux - rootfs only installers.
These NO NOT install the kernels needed for hybrid or kexec dualbooting. These are only for unpacking the rootfs files from above. They are custom Aroma based installers and allow your /home directories to be on mccblk0p8 if you choose.
These are Aroma based installed from recovery:
arch-rootfs-installer-v.1.zip
lubuntu-rootfs-installer-v.1.1.zip
ubuntu-rootfs-installer-v.1.1.zip
KEXECBOOT with CROMBi-KK
These files are for those who want to kexecboot using CROMBi-KK 4/3, 4/27 or CROMi-X 5.4running on internal sd (NO rom2sd, f2fs or data2sd) with the "stock" _that9-oc+ (cm112 is modded by lj20036). You must have a good running CROMBi-KK install because i am not including the modules needed, only the zImage and initrd.img I extracted from the 4/3 zip file. CROMi-X should also be running stable. You will be flashing _thats newest _that9oc+ using his installer.
THIS IS VERY SIMPLISTIC IT ASSUMES YOU KNOW WHAT ALL THE FOLLOWING MEANS AND HAVE EITHER DONE THE KEXECBOOT WITH EARLIER CROMI VERSIONS OR HAVE COMPLETELY READ COGANO'S TUTORIAL
Also remember DO NOT use the regular rootfs installers. The regular installers will install a JellyBean kernel and render your tablet unusable. Only use the one of the following to extract your rootfs to the tablet:
arch-rootfs-installer-v.1.zip
lubuntu-rootfs-installer-v.1.1.zip
ubuntu-rootfs-installer-v.1.1.zip
All of the following is done on your tablet
1) Android
a) Mount /system r/w and make dir /system/boot​b) - Extract that-cm112-kexecboot-android.zip to /system/boot/ for 4/3/2014 CROMBi-KK Release
- Extract that-cm112-kexecboot-android-4272014.zip to /system/boot/ for 4/27/2014 CROMBi-KK Release
**** FOR CROMi-X flash _thats9oc+ kernel in TWRP and reboot into CROMi-X and then extract that9oc-kexecboot-android-05082014.zip to /system/boot/​c) Mount mmcblk0p5 and modify/copy your boot.cfg in /mmcblk0p5/multiboot to include CROMBi-KK at least to start (at least you will get back into Android ) - Example config - boot.cfg​2) Linuxa) Mount your Linux image and extract _that-linux-kexec.zip to /boot​3) Flashing the kexecboot bloba) Extract kexec-host.zip to a temp dir, cd into it and then carefully type the following as root:​
Code:
dd if=blob of=/dev/block/mmcblk0p4
Reboot and profit!
Credits:
rabits
JoinTheRealms
moreD_cn
_that
lj50036
cogano
and many more
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:
Code:
-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:
Code:
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://forum.xda-developers.com/showpost.php?p=44764722&postcount=6
Backlight Control
Code:
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+
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.
@JoinTheRealms 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.
moreD_cn said:
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.
@JoinTheRealms 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.
Click to expand...
Click to collapse
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.
JoinTheRealms said:
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.
Click to expand...
Click to collapse
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
To Do:
- Modify installer for rootfs only - workdowg?
- Kexec
- Multiboot?
@JoinTheRealms - 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...
workdowg said:
@JoinTheRealms - 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...
Click to expand...
Click to collapse
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
workdowg said:
@JoinTheRealms - 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...
Click to expand...
Click to collapse
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.
yoda-sama said:
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.
Click to expand...
Click to collapse
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
JoinTheRealms said:
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
Click to expand...
Click to collapse
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
workdowg said:
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
Click to expand...
Click to collapse
strange, didnt you report good scores on cromi 4.7? i wonder whats changed. Hope nothings broken on the linux side
JoinTheRealms said:
strange, didnt you report good scores on cromi 4.7? i wonder whats changed. Hope nothings broken on the linux side
Click to expand...
Click to collapse
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.
Sent from my HTCEVOV4G using Tapatalk 4
@JoinTheRealms - 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 @_that your stock Android kernel?
@moreD_cn 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.
JoinTheRealms said:
@moreD_cn 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.
Click to expand...
Click to collapse
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..
moreD_cn said:
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..
Click to expand...
Click to collapse
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
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
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:
pvka13 said:
I was able to solve the random-freeze-during-heavy-I/O issue. The culprit is that large amount of memory is used as buffer cache to hold dirty pages. When the dirty page threshold is hit, all buffer cache is written out at once, without allowing other processes to do much I/O.
The solution is to add the following to /etc/sysctl.conf
Code:
vm.dirty_bytes=2048000
vm.dirty_background_bytes=1024000
The configuration can be reloaded without a reboot by running "sysctl -p" as root
Click to expand...
Click to collapse
With it i was about to extract a 200mb file while installing 100mb of packages while browsing xda many thanks to pvka13

Categories

Resources