[KERNEL] Nexus S Trinity Max 1.1/Vmax 1.2 Kernel - 2/10/2011 - Nexus S Android Development

Trinity Max is a Kernel for Nexus S running conservative core voltages at each OC level.
Trinity Vmax only differs in extended voltages at each OC level.
I recommend Max, Vmax is if you want to see if you can squeeze out just that last ounce of clock speed and are comfortable with the higher core coltages.
Perfectly fine to use setcpu including screen off profiles below 800MHz. Thanks to coolbho3k's patch that fixes the policies during suspend/sleep and restores the previous on resume.
This is for.Android 2.3.2.or below.
What you get:
Safe Boot to 1.0GHz.
OC Levels of 1.2GHz, 1.3GHz, 1.4GHz, 1.5GHz, 1.6GHz
1000HZ
Voodoo-Sound (Thanks Supercurio)
Low-Freq Sleep Fix (Thanks Coolbho3k)
Build optimizations
Build system tweaks
Ext4 mount fix (aka. Turbo Boost)
Click to expand...
Click to collapse
Trinity-Max-CM7-1.1
Trinity-Max-Bionix-1.1
Trinity-Max-StockRom-1.1
Vmax:
Safe Boot to 1.0GHz.
OC Levels of 1.2GHz, 1.3GHz, 1.4GHz, 1.5GHz, 1.6GHz
Higher Voltages than the Max series Kernels
1000HZ
Voodoo-Sound (Thanks Supercurio)
Low-Freq Sleep Fix (Thanks Coolbho3k)
Build optimizations
Build system tweaks
Ext4 mount fix (aka. Turbo Boost)
Click to expand...
Click to collapse
Trinity-Vmax-CM7-1.2
Trinity-Vmax-cm7-v1.1
Trinity-Vmax-bionix-v1.1
Stock:
Stock Frequencies and Voltages
BFS (Thanks Con Kolivas)
1000HZ
Voodoo-Sound (Thanks Supercurio)
Low-Freq Sleep Fix (Thanks Coolbho3k)
Build optimizations
Build system tweaks
Click to expand...
Click to collapse
Kernel for Stock Roms
Kernel for cm7
Kernel for Bionix NS
Experimental UV Big Bore kernel available: Trinity-UV-108BB-Experimental
------------------------------------------------------------------
BT Trouble? Not in this house!
method of assurance: (lost track who said it first, it's in this thread, thanks)
- switch wifi OFF, switch BT OFF
- update kernel
- FIRST: on reboot switch BT ON
- THEN switch WiFi ON

Can we get an Update.zip ?
and maybe for MoDaCo?
i know youve been waiting for these questions ^^

RinTinTigger said:
Can we get an Update.zip ?
and maybe for MoDaCo?
i know youve been waiting for these questions ^^
Click to expand...
Click to collapse
Yes, you can, later.
Copy/paste on modaco? i could. always forget that nice place for some reason.

Thanks for creating flash zip later.
And i ment a working kernel for the MoDaCo custom rom r3 ^^

RinTinTigger said:
Thanks for creating flash zip later.
And i ment a working kernel for the MoDaCo custom rom r3 ^^
Click to expand...
Click to collapse
What does it need in init.rc to work?
If it does nothing special, it would work anyways, and if it does special stuff, link me to the initrd they use and i can build one with that.
I Will push the modified source to github once i am done, then they can take care of that if i don't before then.

Cool!
Any chance you could post your patches?

here is boot.img. i put the .ko in /system/modules in the ramdisk folder and compiled but still error for wifi. im sure i did it wrong. anyways, its a bootable/flashable img. my phone boots off it.
Code:
fastboot boot oc.img

k0mpresd said:
here is boot.img. i put the .ko in /system/modules in the ramdisk folder and compiled but still error for wifi. im sure i did it wrong. anyways, its a bootable/flashable img. my phone boots off it.
Code:
fastboot boot oc.img
Click to expand...
Click to collapse
Also contains the ext4 optimizations? /hope
I feel the need, the need for speed!
EDIT: And is this only for the stock kernel, or will it work on CM7?

yes, has ext4 mod.

Not booting on MoDaCo r3 :/

So basically just push the .ko and boot the zImage in fastboot?
What is the purpose of the line that's being added to the build.prop?

mortzz said:
So basically just push the .ko and boot the zImage in fastboot?
What is the purpose of the line that's being added to the build.prop?
Click to expand...
Click to collapse
That's all it is.
You can run neocore without it and if you don't hit 65fps, it's still needed.
On the vibrant it still limits the results even if kernel is capable of more.
Why 68? It's what quadrant reports for refresh, and no need to go above that.

k0mpresd said:
here is boot.img. i put the .ko in /system/modules in the ramdisk folder and compiled but still error for wifi. im sure i did it wrong. anyways, its a bootable/flashable img. my phone boots off it.
Code:
fastboot boot oc.img
Click to expand...
Click to collapse
Put the module into system/modules/ inside the update.zip's skeleton
copying SYSTEM, I can modify it to do that if needed.
Now I wonder if mkbootimg actually likes me or not. I wasted so much time on mkbootimg in the beginning, I'm simply staying clear of it right now..
haha, now I get it, not a update.zip
you'd have to modify init.rc to copy it over, which I might add to reduce the number of steps needed
Btw, I'll add /data mount options next time, I tried them after I built this.
Quadrant advanced shows a nice difference obviously, I'll include it in the way shown on the ext4 thread.
Torn between tweaking this more and first flashing somb's alpha rom and trying this with it.

Mine locks up whenever I run Neocore. I guess my phone isn't stable

success!
here is bootable boot.img that will install correct bcm4329.ko and build.prop.
test:
Code:
fastboot boot oc_final.img
or flash:
Code:
fastboot flash boot oc_final.img
edit: whoops, typo.

mortzz said:
Mine locks up whenever I run Neocore. I guess my phone isn't stable
Click to expand...
Click to collapse
Neocore was always my problem child with froyo kernel, I was overjoyed running multiple runs without issues.
This is only a first version, we can push voltages later. And make this available for more phones.

DebauchedSloth said:
Cool!
Any chance you could post your patches?
Click to expand...
Click to collapse
I said I'll push it to github when I'm done.
Right now I just need feedback to get a better idea about reliability.

morfic said:
Neocore was always my problem child with froyo kernel, I was overjoyed running multiple runs without issues.
This is only a first version, we can push voltages later. And make this available for more phones.
Click to expand...
Click to collapse
Yeah, it locks up in nenamark and playing 3D heavy games too.
Awesome, thanks! I'd be disappointed if my phone couldn't take a mild overclock.

this should be a one-click install to install your zimage with correct files.
download, extract, run overclock.bat. only for windows.

k0mpresd said:
success!
here is bootable boot.img that will install correct bcm4329.ko and build.prop.
test:
Code:
fastboot boot oc_final.img
or flash:
Code:
fastboot flash boot oc_final.img
edit: whoops, typo.
Click to expand...
Click to collapse
This only for stock rom? CM7?

Related

[KERNEL/RECOVERY] Vibrant EXT2/3/4 OCv4/Stock with init.d support NO WAKE LAG 8/28/10

WARNING KNOW WHAT YOU ARE DOING BEFORE ATTEMPTING THIS, IF YOU DON'T UNDERSTAND WHAT IS BEING TALKED ABOUT HERE YOUR BEST TO LEAVE IT ALONE
This is a Vibrant kernel/recovery image that includes EXT2/3/4 support as well as init.d support for user scripts. Everything works as expected Wifi/GPS/BT etc
This eliminates the race condition as the scripts in init.d run before the default Android services.
You can add any user scripts you want by adding them to the /system/etc/init.d folder e.g "05userscript" They are parsed by order 00 then 01 then 02 etc
BEFORE FLASHING THE KERNEL You must flash the init.d update to add the needed folder and files to boot with this kernel. That is because the completion script sets a prop value telling the default Android services to run. If that prop isn't set you will be sitting at the Vibrant screen forever.
The new init.d updates remove any other versions of busybox and install the correct version and symlinks to take care or the issues people have been having with multiple BB installs. There is a version that has no data to SD script for those that want to run other lag fix's. And then there is one with the data to SD script.
Default CPU frequencies and Overclocked versions available.
OCv4
Clock Drift fixed
Fix scaling bug, performance level was set past end of table on sleep
Scaling enhancement, selectable clock source for GPU
GPU clocked at 222MHz for all speeds except 100MHz, where it matches CPU clock
more up/down threshold changes
Wake Lag improvements
Switched back to "CFQ" for perf reasons over deadline and no-op
BB symlinks removed from ramdisk (to avoid conflict with mods that make their own links to BB)
OCv3
NO MORE WAKE LAG!!!!
Reverted back to OC on boot
up/down threshold adjustments again
rebuilt with crosstool-ng 1.8.0 gcc 4.3.4
OCv2
Extra steps are back. [100/200/400/600/800/1000/1200] YOU MUST use setCPU to up it to 1.2Ghz it is set at 1Ghz default for stability reasons,this CPU is very sensitive to voltage/freq changes. Should be more stable overall then prev build. (Thanks Unhelpful)
up/down threshold adjustments
SCv9
No More WAKE LAG!!
Uncommented FM Radio module in init.rc
SCv8
Conservative/Deadline
SCv7
Ondemand/Deadline are default now in
SCv6
ADB issue resolved.
Busybox issues resolved. Can now update through stericson's BB utility from the market.
OC version available with extra 600mhz and 1200mhz step added (you still have 800, 1000 etc) Linpacks in the 10.0's (Thanks to ivanmmj for the help)
SCv5
Volume rocker fixed
cleaned up RAMDISK
reverted to stock recovery (rev1 had clockwork as the recovery but was having a few issues)
added symlinks for busybox applets
Fully compatible with Clockwork (backups/restore from ROM manager) (no more annoying reboot before Clockwork starts)
INSTRUCTIONS
Note:The new init.d updates install BusyBox for you and create the symlinks. They also remove any other prior version before doing so
1.Choose one of the init.d updates that suites you.
A.
Data and Dalvik init.d-busybox with data to SD update.zip
MD5:0317ae432d2db15e51fd0da2c4d53857
B.
Data and Dalvik init.d-busybox without any lagfix scripts update.zip
MD5:9e720b587188676e7fff2f144433bd23
2.Reboot into recovery and flash this. Once booted check your system/etc dir for the init.d folder and scripts inside before moving forward. If they are there we move on.
3.Download the kernel/recovery image
OCv4 1.2 No Wake Lag/No Time drift
Update.zip (flash through clockwork recovery)
www.justanotherdev.slackdev.com/Kernel-Vibrant-OCv4.zip
MD5:33487d4bec50d123d0bb10843d141723
ODIN Image
www.justanotherdev.slackdev.com/kernel-vibrant-OCv4.tar
MD5:5aae7e5ab08227e1fd4c931c24f678ac
OCv3 1.2 No Wake Lag
kernel-vibrant-OCv3-NG.tar
MD5:1e2ddb9bd9fe4adb0ccc73fa818c63be
OCv2 1.2Ghz with extra steps back in. More aggressive up/down thresholds
kernel-vibrant-oc-ng.tar
BETA OC 1.2Ghz (no added steps for now)
kernel-vibext4-oc1.tar.md5
MD5:d1e26f769406c5d368492855c7b5059e
SCv9 No Wake Lag
kernel-vibrant-SCv9-NG.tar
MD5:0614a8205087a84fe34bbe2c653183a9
SCv8
kernel-vibext4-8.tar.md5
MD5:e9c2a45d89d994c485b8af8e1b1a923c
SCv7
kernel-vibext4-7.tar.md5
MD5:cedbad0273a2dd2a1b2d0a4ed3e89fce
4.Reboot into download mode and use ODIN to flash the kernel. Use the CSC field with no PIT file. This will flash the kernel/recovery
NOTE:You can find ODIN in my other thread here
If you have an EXT2/3/4 partition I used tabbals script (to tired and will be re-writing this shortly) for the mean time to bind your data to the EXT partition or otherwise known as the "EXT hack" for those that want those wondering. If you do not want this script you can remove the 07a2sd script from the init.d folder before flashing the kernel.
Now you can add any user scripts you like to the init.d folder and we dont need to use the "playlogos" hack anymore. This is a work in progress and more tweaks/features will be integrated and updated as they are tested and made available in this thread. I had to give you guys something to mess around with. And a proper way to run user scripts.
Thanks to Unhelpful, supercurio, cyanogen, scepterr, wes garner, Eugene_373 and everyone that helps out in the XDA community!
Sources:
Kernel: T959 source from opensource.samsung.com
Voodoo-fix http://github.com/project-voodoo
OC patch posted below
Enjoy!
Need to revert to the stock kernel??
www.justanotherdev.slackdev.com/kernel-vibrant-stock.tar.md5.tar
MD5:9f89f8c5a6c785ff967806a4ca70906f
Beautiful! now if only we can find a way to flash the kernel from recovery without needing odin.....
anomalous3 said:
Beautiful! now if only we can find a way to flash the kernel from recovery without needing odin.....
Click to expand...
Click to collapse
Agreed. Feel free to use this kernel/recovery in your ROMS just give credit and I'll be more than happy
Also more to come folks just sit tight. This is my hobby and I have to take care of some real life issue ATM...cough ...the woman...cough.
amazing job! thanks for helping calm down the xda addicts. how well does the userinit and apps2sd play with kernel, can we use those files or will they have to modified to work with your kernel?
frank707 said:
amazing job! thanks for helping calm down the xda addicts. how well does the userinit and apps2sd play with kernel, can we use those files or will they have to modified to work with your kernel?
Click to expand...
Click to collapse
Any scripts will work fine just as before. The main difference is that we dont need the "playlogo" hack that was used previously which runs a script called userinit from /system/bin/ now all user scripts will go in /system/etc/init.d/
Now we have this folder (init.d) to store all are user scripts in and gives us the option to choose which runs first according to how they are labeled. Just have a peek inside the init.d folder to see what I'm talking about. Init.d is pretty common on Linux boxes just not Android
Also to be clear this should clear up race conditions as any user scripts in init.d will run before the default Android services.
FYI tabbals scripts is renamed "/system/etc/init.d/07a2sd" (which I should have names d2sd but whatever lol) in this build. Same script so yes the scripts will work just fine
frank707 said:
amazing job! thanks for helping calm down the xda addicts. how well does the userinit and apps2sd play with kernel, can we use those files or will they have to modified to work with your kernel?
Click to expand...
Click to collapse
one of the main purposes of the kernel is to give us a linux-standard place for people to add startup scripts, and to make data2sd possible without trouble, including ext4 which combines most of the speed of ext2 with the stability of ext3.
anomalous3 said:
one of the main purposes of the kernel is to give us a linux-standard place for people to add startup scripts, and to make data2sd possible without trouble, including ext4 which combines most of the speed of ext2 with the stability of ext3.
Click to expand...
Click to collapse
Exactly.
Have fun I'm off to bed for now. I've been running this for 2 days without issues. Please let me know if you find any bugs. WiFi BT and everything else should be working just like the stock kernel I also haven't had one kernel panic yet.
justanothercrowd said:
FYI tabbals scripts is renamed "/system/etc/init.d/07a2sd" in this build. Same script so yes the scripts will work just fine
Click to expand...
Click to collapse
can't wait till take takes off. So is tabbal's script already setup to run automatically as long as i have my ext partition setup?
Im definately +1 for getting rid of odin, Jac do you use github at all ?
frank707 said:
can't wait till take takes off. So is tabbal's script already setup to run automatically as long as i have my ext partition setup?
Click to expand...
Click to collapse
This is correct yes.
bbuchacher said:
Im definately +1 for getting rid of odin, Jac do you use github at all ?
Click to expand...
Click to collapse
I use git/mercurial but not github. I will be creating an account their to share code as people have been requesting it
bbuchacher said:
Im definately +1 for getting rid of odin, Jac do you use github at all ?
Click to expand...
Click to collapse
good to see some Super D/E/F power using this phone. Would I be correct in thinking the main problem with packing the kernel into a boot.img would be the offsets, or do you think we're dealing with something a bit more serious?
Would I have to wipe if I flashed this kernal? Or can this be flashed on top of what I have now and not lose anything?
Goog1e Phone said:
Would I have to wipe if I flashed this kernal? Or can this be flashed on top of what I have now and not lose anything?
Click to expand...
Click to collapse
No Wipe is needed. Make sure you flash the update first though it is a REQUIRMENT for it to boot with this kernel.
justanothercrowd said:
No Wipe is needed. Make sure you flash the update first though it is a REQUIRMENT for it to boot with this kernel.
Click to expand...
Click to collapse
attempted to flash the first zip but init.d folder wasn't created. Wouldn't flash through stock recovery, attempted to flash through cw, will try again and update
The follow error occurs on flash
Code:
E:Can't chown/mod system/etc/init.d/02a2sd
(No such file or directory)
E:Failture at line 7:
set_perm 0 1000 0755 SYSTEM:etc/init.d/02a2sd
Installation aborted.
problem is in script, just edited it, about to try to flash
no dice, no install
davbran said:
no dice, no install
Click to expand...
Click to collapse
EDIT: realized my FTP client wasnt uploading in binary mode which caused some issues.
Re-download the files they have been hashed and double checked.
Enjoy!

[Mods & How-To] EXT4 Conversion and others

Diviance's Mods and How-To's for Users and Developers
If you are on Windows, Notepad++ is the text editor I recommend to apply these mods​
EXT 4 Conversion Scripts
Warning: Must have an up to date copy of CWM (Rom Racer OR Rom Manager versions work), must be using a kernel that supports ext4 (faux is currently the only one available that does) and you must get down on your knees and tell me you love me. If you skip any step, this won't work. Seriously.​
Click to expand...
Click to collapse
For Developers (Version 3) Without Journaling (Higher Performance, Lower Stability):
Download this: Here
Replace your format partitions with the script above, and the information in the updater-script file. Then use ext4 as your mount option, not ext3. Provided you are using an ext4 compatible kernel, you now have an ext4 rom.
Click to expand...
Click to collapse
For Developers (Version 3) With Journaling (Lower Performance, Higher Stability):
Download this: Here
Replace your format partitions with the script above, and the information in the updater-script file. Then use ext4 as your mount option, not ext3. Provided you are using an ext4 compatible kernel, you now have an ext4 rom.
Click to expand...
Click to collapse
For Developers (Version 3) With Journaling and without Extents (Lowest Performance, Highest Stability, Backwards Compatible):
Download this: Here
Replace your format partitions with the script above, and the information in the updater-script file. Then use ext4 as your mount option, not ext3. Provided you are using an ext4 compatible kernel, you now have an ext4 rom.
Click to expand...
Click to collapse
For Users (Version 3) Without Journaling (Higher Performance, Lower Stability):
Download this: Here
Copy to your SDCard and run in CWM. Your rom of choice should now be proper EXT4.
Click to expand...
Click to collapse
For Users (Version 3) With Journaling (Lower Performance, Higher Stability):
Download this: Here
Copy to your SDCard and run in CWM. Your rom of choice should now be proper EXT4.
Click to expand...
Click to collapse
For Users (Version 3) With Journaling and without Extents (Lowest Performance, Highest Stability, Backwards Compatible):
Download this: Here
Copy to your SDCard and run in CWM. Your rom of choice should now be proper EXT4.
Click to expand...
Click to collapse
Changelog:
Version 3:
Added: Cache to fsck boot check
Added: No Extents version to enable backwards compatiblity (should, anyway)
Click to expand...
Click to collapse
Click to expand...
Click to collapse
1 Signal Bar Fix (For Devs)
Go into the \system\etc\motorola\com.motorola.android.providers.settings folder and open settings.mkitso
Change
rat_signal_strength_raw=1
to
rat_signal_strength_raw=0
Now your rom will have the 1 Signal Bar Fix, without modifying smali or apk's.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Hotspot Enable (For Devs)
Go into the \system\etc\motorola\com.motorola.android.providers.settings folder and open settings.mkitso
Change
entitlement_check=enabled
to
entitlement_check=disabled
Click to expand...
Click to collapse
Click to expand...
Click to collapse
AGPS Option (For Devs)
Go into the \system\etc\motorola\com.motorola.android.providers.settings folder and open settings.mkitso
Add
agps_feature_enabled=1
to the bottom of the file.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Set App Download Location (For Devs)
Go into the \system\etc\motorola\com.android.providers.settings folder and open system.mkitso
Add
set_install_location=1
to the bottom of the file
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Click to expand...
Click to collapse
So if I flash the user version of Ext4, will the Rom automatically turn Ext4?
Notorious544d said:
So if I flash the user version of Ext4, will the Rom automatically turn Ext4?
Click to expand...
Click to collapse
Worked for my versions of 1.2.0.0 and 1.1.3. Should work for any rom.
Diviance said:
Worked for my versions of 1.2.0.0 and 1.1.3. Should work for any rom.
Click to expand...
Click to collapse
Well I just did this to my Homebase build and I constantly get FC's on everything. Completely trashed.... On startup I get "Systen IUD's Inconsistent" I did the User EXT Conversion... Time to wipe and start over... Dang but it happens when you try to be the first to test.
Earthsdog said:
Well I just did this to my Homebase build and I constantly get FC's on everything. Completely trashed.... On startup I get "Systen IUD's Inconsistent" I did the User EXT Conversion... Time to wipe and start over... Dang but it happens when you try to be the first to test.
Click to expand...
Click to collapse
Which version of homebase? I will want to check on this when I get time, hopefully after work.
Try again, if it happens again send me this file:
/data/system/uiderrors.txt
I am guessing some apps don't appreciate the filesystem conversion, which wouldn't really be MY fault...
Diviance said:
Which version of homebase? I will want to check on this when I get time, hopefully after work.
Try again, if it happens again send me this file:
/data/system/uiderrors.txt
I am guessing some apps don't appreciate the filesystem conversion, which wouldn't really be MY fault...
Click to expand...
Click to collapse
Don't get me wrong I am NOT casting blame at all. I appreciate all you do very much. I will PM you the log. I am using the Orange 2.6b build.
Me too, using homebase orange, booted once, then started with superuser fc' ing, then next boot up, everything fc'ed.
I'm also using faux 1.0ghz 0.2.0 kernel.
Nandroid restored fine from CWM 5.
(oh dear, while typing, just realized, should I be using romracer?)
Also where should file be stored, sdcard our sdcard-ext?
Swyped from 'mount' olympus
Swyped from 'mount' olympus
No fc's on hb2 4.5.91 build. Maybe there is an issue with Orange builds
Sent from my MB860 using xda premium
Maybe I am just paranoid...but after running the script my phone is not quite as smooth as before
Sent from my MB860 using xda premium
lilhaiti said:
Maybe I am just paranoid...but after running the script my phone is not quite as smooth as before
Sent from my MB860 using xda premium
Click to expand...
Click to collapse
Most likely paranoia. I don't honestly prefer the user conversion script, converting a filesystem is never as good as starting a fresh one, but performance should be better than the fake ext4 from faux. Especially over time.
lilhaiti said:
No fc's on hb2 4.5.91 build. Maybe there is an issue with Orange builds
Sent from my MB860 using xda premium
Click to expand...
Click to collapse
I flashed script with Orange Build and my phone is screaming! I think you need Romracer's recovery.
Figured I should post here instead of clogging up HB. Dov, you said flash the script you made after ROM. I tried and now my phone is stuck in the Dual Core screen. I flashed via CWM from the ext SD.
Any advice? Am i using the wrong script? I see people using the USER one. Im using the one from HB that's listed.
EDIT: checked real.post.on computer. I see what im missing.
You're awesome Diviance! I just updated my backups of HB and Darkside to ext4 with no issues and no FC's.
Strictly speaking, if I were going for pure performance, I would go back to ext2. But that would be a slight performance difference yet a huge decrease in stability and reliability.
A worthy sacrifice.
Also, glad it is working for most people.
I got it to work following the steps.
1. Formatted Internal SDCard
2. Fastboot -w
3. Boot CWM wiped data, dav
4. Clean Install of Orange Ver. 5
5. Booted and waited 15 minutes
6. Rebooted and ran script for Ext4 conversion
All is good now. All I can think is I had previous Orange Builds and updated each step from initial build.
Thanks for your efforts FYI: The thing boots incredibly fast now.
This doesnt work on alien build #4. I ran this cwm and i got stuck at the motorola screen.
roughriduz said:
This doesnt work on alien build #4. I ran this cwm and i got stuck at the motorola screen.
Click to expand...
Click to collapse
Using what version of CWM and which kernel?
i have the latest version of the romracer cwm from the rom manager unstall and im using the stock kernel
roughriduz said:
i have the latest version of the romracer cwm from the rom manager unstall and im using the stock kernel
Click to expand...
Click to collapse
Stock as in... stock motorola gingerbread kernel?
roughriduz said:
i have the latest version of the romracer cwm from the rom manager unstall and im using the stock kernel
Click to expand...
Click to collapse
Stock kernel doesn't support EXT4, use faux's kernel. Also update your recovery to 5.0.2.3-atrix4.1 if you aren't already running 4.1.

[Q] CM7 Kernel building question

Okay here it goes:
I'm planning on building my own kernel from the lge-sniper-kernel. Basically, what I want to add is just InteractiveX as the default governor for better battery life. I read a lot on the topic and I'm well able to build and inject the kernel. My plans are based on this guide by knzo (dated 4th November 2011): h++p://forum.xda-developers.com/showthread.php?t=1332776
The question now is: Is the lge-sniper-kernel source still compatible with the latest releases of CM7? I'm worried it is not anymore, because the Huexxx-v4 kernel and NOVA kernel are based on the sniper sources and became not compatible with CM7 anymore at some point.
Oh yes and: If I mess up the kernel build and flash it, can I still access S/W download mode or is the phone bricked beyond recovery?
boype said:
Okay here it goes:
I'm planning on building my own kernel from the lge-sniper-kernel. Basically, what I want to add is just InteractiveX as the default governor for better battery life. I read a lot on the topic and I'm well able to build and inject the kernel. My plans are based on this guide by knzo (dated 4th November 2011): h++p://forum.xda-developers.com/showthread.php?t=1332776
The question now is: Is the lge-sniper-kernel source still compatible with the latest releases of CM7? I'm worried it is not anymore, because the Huexxx-v4 kernel and NOVA kernel are based on the sniper sources and became not compatible with CM7 anymore at some point.
Oh yes and: If I mess up the kernel build and flash it, can I still access S/W download mode or is the phone bricked beyond recovery?
Click to expand...
Click to collapse
The CM7 has the lge-sniper-kernel. The NOVA kernel and Huexxx-v4 kernel wasn't updated. Huexxx updated his kernel to 4.1, he just update with the latest commits, and then it worked.
The part of you messing up, I think if you do a nandroid you can easily restore everything. Since when you update to the latest nightly for an example, the kernel is substitute for the default one, I think you wont have any problem. Just flash over a nightly or the RC version and you will be ok, I think.
I'm not a dev and I don't did this test, it just my assumption.
Sniper is the cm7 kernel so its supposed to work on cm, but huexxx kernel 4.1 is also compiled from source and has interactivex governor, and your phone will still access download if you do something wrong.
FDN
Yeah, you can use Huexxx kernel. This kernel has InteractiveX and other things...
dcop7 said:
Yeah, you can use Huexxx kernel. This kernel has InteractiveX and other things...
Click to expand...
Click to collapse
I can't use Huexxx-4.1 with a non-default governor: Whenever I choose InteractiveX (or any other non-default kernel) and set it to load on boot, the phone is incredibly laggy and slow after reboot. This is why I want to build the kernel myself with interactiveX as default, hoping it won't be laggy.
boype said:
I can't use Huexxx-4.1 with a non-default governor: Whenever I choose InteractiveX (or any other non-default kernel) and set it to load on boot, the phone is incredibly laggy and slow after reboot. This is why I want to build the kernel myself with interactiveX as default, hoping it won't be laggy.
Click to expand...
Click to collapse
It is laggy only in the first minutes. And I think with an init.d script you can make interactiveX default governor, but I don't know if it will be laggy also
---------- Post added at 10:08 AM ---------- Previous post was at 10:05 AM ----------
I think if you use this command you will be able to change the governor:
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
In your case, it will be something like this:
echo interactiveX > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Create a blank file with this name: "77governor" or something and put this lines
#!/system/bin/sh
echo interactivex > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor​
Copy that file to system/etc/init.d and then reboot. Check if in this way it will be laggy
But do a nandroid first! I didn't test this!!
@dcop7
Not work with init.d script
You must use ROM Toolbox app (or similar), there is an option to make script at boot in scripter menu
slurpdroid said:
@dcop7
Not work with init.d script
You must use ROM Toolbox app (or similar), there is an option to make script at boot in scripter menu
Click to expand...
Click to collapse
Thanks, I didn't know that.
I only used init.d scripts to change other values...
I need to report back here, hoping anyone of you (previously very helpful) guys has a solution to another problem that came up: After injecting my kernel, the phone just gets stuck at the initial LG boot logo (the buttons do not even start flashing). I am able to run S/W update mode to recover though.
I followed knzo's indicated guide to build my own kernel (h++p://forum.xda-developers.com/showthread.php?t=1332776):
1) I installed all needed linux packages
2) cloned the lge-sniper-kernel from github
3) made the '.config' via the command 'make ARCH=arm cyanogenmod_hub_defconfig'
4) built the /arch/arm/boot/zImage successfully with the command 'make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -j2'. No *.ko files were generated.
5) copied the zImage to aprold's kernel injector zip file from h++p://forum.xda-developers.com/showthread.php?t=1350679
6) flashed the zip via CWM (after doing wipe cache and wipe dalvik).
On a sidenote: I did not even alter anything within the kernel-source, since I first wanted to check out whether I am able to build and flash a kernel in the first place.
Did I do anything wrong or did I forget something? Thanks for your help in advance.
Sorry for doublepost. I solved my problem by using another toolchain.

[DEV] Kexec-hardboot

PREAMBLE
Just to clear things up - I'm definitely not responsible for anything. This patch will not work on devices with locked bootloaders.
Tasssadar said:
This patch was made by Mike Kasick for Samsung Epic 4G. Since that, it was ported to several devices, one of them is Asus Transformer TF201 - I used patch from TF201 and modified it a bit (basically just changed few SoC specific constants). People at #ubuntu-arm helped me out with that, thanks.
For flo, I've improved the patch a bit - only the host needs to be patched now and I also fixed a bug with /proc/atags not reading all tags.
Click to expand...
Click to collapse
Thanks to omnirom - I used their kernel as a base.
Special thanks to Tasssadar for his kexec-hardboot patch for the Nexus 4. Also thanks to alvinhochun and krabappel2548. I borrowed some of their code.
WHAT'S KEXEC?
Tasssadar said:
It is syscall of Linux kernel, which allows you to boot another Linux kernel without restarting the device - "Linux boots itself". The functionality is equivalent to fastboot -c *cmdline* boot zImage initrd.img, but without PC and fastboot. It is fairly known thing, so more info at wikipedia and man kexec.
Standard kexec call unfortunatelly does not work on Nexus 4. It freezes somewhere, and it is very difficult to find out where - probably some of the drivers are not shut down/re-initialized properly, it is a commong thing among Android devices, which is why kexec-hardboot was made.
Click to expand...
Click to collapse
What is the difference between normal and hardboot kexec?
Tasssadar said:
Kexec-hardboot patch adds a real device restart to that process, so that all the drivers can be properly reinitialized. It stores new kernel to RAM, reboots the device as usual, and kernel from boot partition immediately jumps to the one which was stored to RAM before reboot.
Unlike grouper's kexec-hardboot patch, this one only requires the host kernel to be patched. This is one of the improvements I made, and I think it is pretty significant.
To sumarize the process:
kexec --load-hardboot.... is called and kernel it loaded into RAM.
kexec -e is called. Special info is written to memory (to area which is not overwritten on reboot) and the device is rebooted.
After reboot, very early in the boot process, kernel checks if that special info is present in RAM and if so, it loads new kernel from RAM and jumps to it.
Kexecd' kernel starts and boots.
For more info, read the original thread.
Click to expand...
Click to collapse
INSTRUCTIONs
Download kexec-hardboot-yuga.zip and unzip it
Flash my patched host kernel (kexec-kernel-20140808-yuga.zip)
Push initrd.img, kexec, kexec.sh and zImage to /cache
Use a terminal to do the following:
Code:
adb shell
su
cd cache
chmod 0755 kexec
sh ./kexec.sh
SOURCEs
Kexec-hardboot patch
Kernel
XDA:DevDB Information
Kexec-hardboot patch for Sony Xperia Z, Tool/Utility for the Sony Xperia Z
Contributors
Olivier
Version Information
Status: Testing
Created 2014-08-08
Last Updated 2014-08-08
I'm sorry I would like to ask a question. If I kexec boot my phone with yuga kernel and cwm, flashes the yuga ROM would it be possible to get dual booting the Yuga ROM?
Source: http://forum.xda-developers.com/showpost.php?p=19460677&postcount=25
Pretty old source but would it be possible?
xarive said:
I'm sorry I would like to ask a question. If I kexec boot my phone with yuga kernel and cwm, flashes the yuga ROM would it be possible to get dual booting the Yuga ROM?
Source: http://forum.xda-developers.com/showpost.php?p=19460677&postcount=25
Pretty old source but would it be possible?
Click to expand...
Click to collapse
Sure thing
Gesendet von meinem Xperia Z mit Tapatalk
Nice to see you got a Z now.
Will try this one out definitly
Sweet! Trying this out straight after work!
Beans
I am still not quite clear about dual booting with kexec. Did OP done it before?
Sent from my C6603 using Tapatalk 2
Can we load some other kernal on our devices using kexec without unlocking bootloader??
I had a Motorola atrix 2 which used to do this..:fingers-crossed:
siddhesh1609 said:
Can we load some other kernal on our devices using kexec without unlocking bootloader??
I had a Motorola atrix 2 which used to do this..:fingers-crossed:
Click to expand...
Click to collapse
No, LB Yuga's are missing kexec, even compiling a external kernel module is not possible as the zimage is missing some required symbols for kexec to work.
Hi. I want to split two kernels. cyanogenmod and multirom (not for xperia z.)
i have kexec, and it working under multirom kernel.
i have edited one kernel, to load init file from another.
I am trayed zimage from multirom kernel.
Now i cannot run both. i can run cm12 kernel, and rut multirom from there, but cm12 wont boot.
when i used zimage from cm12 kernel, i can boot into cm12, but not in multirom.
is there any command to kexec to load another zimage only, and run another init file?
i have init (cm12) and from there i can use sh commands. i want load initmr (multirecovery) with another zimage file.
is it possible?
gouster3 said:
Hi. I want to split two kernels. cyanogenmod and multirom (not for xperia z.)
i have kexec, and it working under multirom kernel.
i have edited one kernel, to load init file from another.
I am trayed zimage from multirom kernel.
Now i cannot run both. i can run cm12 kernel, and rut multirom from there, but cm12 wont boot.
when i used zimage from cm12 kernel, i can boot into cm12, but not in multirom.
is there any command to kexec to load another zimage only, and run another init file?
i have init (cm12) and from there i can use sh commands. i want load initmr (multirecovery) with another zimage file.
is it possible?
Click to expand...
Click to collapse
Ok... What?
vishal_android freak said:
Ok... What?
Click to expand...
Click to collapse
Is there any arguments for kexec to reboot with another zimage, and exec? i want to run initmr (init file)?
but without ramdisk wipe. (or load ramdisk from kernel partition)?? init file with zimage are there.
when i use "exec /initmr", it will boot, but touch not working, and i have screen-shift bug.
Or. another way. how i can get "hot boot" into some boot.img using kexec on my build-in kernel?

[kexec] droid4-kexecboot and booting raw partitions

We can now boot distros with droid4-kexecboot without being locked to the stock initramfs or rootfs :
droid4-kexecboot images
droid4-kexecboot buildroot source
It works by using utagboot generated mmcblk1p8 utags partition to boot the stock kernel to a 4MB buildroot image that can be flashed to the unused mmcblk1p13 bpsw partition. Then it starts kexecboot to use kexec for booting to the selected distro.
Currently supported are recent mainline kernels with the pending LCD patches added. SafeStrap is not necessary but can be booted to. And v3.0.8 legacy kernels installed into SafeStrap rom slots are supported (but need to be manually updated if slot kernels are updated) .
UPDATED: Booting to the stock Android and SafeStrap is now supported out of the box with for pivot_root.
Changes are needed to v3.0.8 kernel config and initramfs to not use CONFIG_CMDLINE_FORCE=y and safestrap/active_slot file and instead just use kernel cmdline to mount the desired rootfs. Distros using the mainline kernel do not have these limitations, and can use the 608MB mmcblk1p22 preinstall, 1.3GB mmcblk1p23 webtop partitions. And the 8GB mmcblk1p25 can also be reformatted to ext4 and used as rootfs if you don't need it for Android. I have not dared to try to reformat mmcblk1p20 system partition, but that too might be usable unless the Motorola bootloader does some checks on it on boot.
There are some experimental patches for initramfs modifications for postmarketos:
https://github.com/postmarketOS/pmbootstrap/pull/1039
But we need also similar Android changes if somebody has time to work on patching and rebuilding LineageOS
Nice, this works with lineage os on slot 1 now. Im currently building postmarketos and a mainline kernel to test
The bootloader refuses to boot with mmcblk1p20 erased. But a empty ext3 partiton is apperently enough to make it happy
IM_back! said:
The bootloader refuses to boot with mmcblk1p20 erased. But a empty ext3 partiton is apperently enough to make it happy
Click to expand...
Click to collapse
Oh interesting I don't think I've seen that. Do you mean the Motorola bootloader refuses to start or kexecboot? Sounds like we should document this and how to fix it if it happens if you can write up something on it for droid4-kexecboot README file.
tmlind said:
Oh interesting I don't think I've seen that. Do you mean the Motorola bootloader refuses to start or kexecboot? Sounds like we should document this and how to fix it if it happens if you can write up something on it for droid4-kexecboot README file.
Click to expand...
Click to collapse
The Motorola booloader goes directly to fastboot if i:
Code:
dd if=/dev/zero of=/dev/block/mmcblk1p20
but
Code:
mkfs.ext3 /dev/block/mmcblk1p20
keeps the Motorola bootloader happy. im not shure if it needs to be ext3 i just whent with that because thats what the stock rom uses. It is extreamly annoying that we can not flash modified system.img's via fastboot. I will experiment a bit more with it and submit a patch to the README file.
I got The mainline kernel to boot, but without a rootfs it dosent do anything usefull of course.
that aside i can't seam to get postmarketos to work. I installed pmos rootfs to the webtop partiton and supplyed kernel command line with PMOS_NO_SAFESTRAP and correct root= but it just boots to a black screen , no uart output either
Do you have something that works that i could take a look at?
IM_back! said:
The Motorola booloader goes directly to fastboot if i:
Code:
dd if=/dev/zero of=/dev/block/mmcblk1p20
but
Code:
mkfs.ext3 /dev/block/mmcblk1p20
keeps the Motorola bootloader happy. im not shure if it needs to be ext3 i just whent with that because thats what the stock rom uses. It is extreamly annoying that we can not flash modified system.img's via fastboot. I will experiment a bit more with it and submit a patch to the README file.
Click to expand...
Click to collapse
Interesting so it seems that the cdt.bin mmcblk1p6 partition tells mbmloader to check some partitions for content and some partitions just for the fs. I wonder if also for example cdrom mmcblk1p16 partition can be modified too that way.
IM_back! said:
I got The mainline kernel to boot, but without a rootfs it dosent do anything usefull of course.
that aside i can't seam to get postmarketos to work. I installed pmos rootfs to the webtop partiton and supplyed kernel command line with PMOS_NO_SAFESTRAP and correct root= but it just boots to a black screen , no uart output either
Do you have something that works that i could take a look at?
Click to expand...
Click to collapse
As a test I only verified that NotKit's kernel mentioned in his postmarketos pull request boots with uart with kexecboot after I noticed he has a patch for gcc6 support and APKBUILD prepare -Werror search and replacement
I enabled CONFIG_EMU_UART_DEBUG=y, disabled CONFIG_CMDLINE_FORCE and configured kexecboot boot.cfg to use CMDLINE=console=ttyO2,115200 [email protected] vram=10300K omapfb.vram=0:8256K,1:4K,2:2040K ro rootwait root=/dev/mmcblk1p13 debug earlyprintk' to boot back to droid4-kexecboot.
tmlind said:
As a test I only verified that NotKit's kernel mentioned in his postmarketos pull request boots with uart with kexecboot after I noticed he has a patch for gcc6 support and APKBUILD prepare -Werror search and replacement
Click to expand...
Click to collapse
FYI, the postmarketos pull request mentioned above has been now merged. And I pushed out updated droid4-kexecboot images last night that now also support booting to the stock Android and SafeStrap.
I will be trying to get this thing to boot for my phone motorola electrify 2. Don't have much of knowledge but atleast trying is not going cost me alot .
mmcblk1p16 partition is usable as alternative ISO storage
tmlind said:
Interesting so it seems that the cdt.bin mmcblk1p6 partition tells mbmloader to check some partitions for content and some partitions just for the fs. I wonder if also for example cdrom mmcblk1p16 partition can be modified too that way.
Click to expand...
Click to collapse
Actually, after some trial and error I managed to turn the cdrom partition (mmcblk1p16) into something more useful. Now my maserati works as a portable "Linux booting device"
When plugged to a computer it behaves by default as a CD-ROM drive, and it's capable of booting a Linux ISO on the PC. Bear in mind that the partition size is slightly above 200 MB, so we have limited space. Apparently if mmcblk1p16 is formatted as ext3, ext4 or contains a filesystem other than ISO, the phone will NOT boot (I had to reinstall the whole Stock firmware a few times).
I could make a mini tutorial with detailed instructions.
So perhaps this partition could be useful for storing a customised read-only distro for the maserati, similar to a Live environment. Or at least capable of booting a minimum environment with essential files.
I'd like to test your kexec files as soon as I can, but still need to understand the whole process. About to receive a second maserati for tests
Cheers!
dinosaur99 said:
Actually, after some trial and error I managed to turn the cdrom partition (mmcblk1p16) into something more useful. Now my maserati works as a portable "Linux booting device"
Click to expand...
Click to collapse
Hey that's great! FYI, one more thing to consider is that I noticed allow-mbmloader-flashing-mbm.bin is more permissive compared to mbm.bin. They seem to parse some permissions table from cdt.bin. I guess it would not be too hard to figure out that format if somebody cares. And I now also wonder if using cdt.bin_patch instead of cdt.bin is even more permissive?
Anyways, do not mess with the mbmloader.bin or allow-mbmloader-flashing-mbm.bin partitions though that can brick the device..
tmlind said:
FYI, the postmarketos pull request mentioned above has been now merged. And I pushed out updated droid4-kexecboot images last night that now also support booting to the stock Android and SafeStrap.
Click to expand...
Click to collapse
Thank you for your excellent work!
Can't boot to safestrap
This is my first approach to boot something other than Android. Not very usable though, but I got this far.
I first installed droid4-kexecboot following instructions on README, and created the boot/boot.cfg on a fresh EXT4 sdcard by copying the sample rom-slot1 and rom-slot2 entries. After reboot, kexecboot shows a very nice graphical menu, and loads successfully all configurations. Unfortunately the slot entries don't work from kexecboot (phone restarts). However I can load Safestrap and boot stock and both ROM slots.
Then I built latest postmarketOS for Droid 4 using pmbootstrap, and selected Weston (one of the lightweight flavours). The result is three files: kernel, initramfs and a disk image containing two partitions. In order to install pmOS into rom-slot2, I wiped all slot2 partitions and installed CM11 as explained here https://wiki.postmarketos.org/wiki/Motorola_Droid_4_(motorola-maserati) . The next steps were done locally on my laptop instead of using ADB (i.e. replace file userdata.img in rom-slot2 directory with the pmOS disk image, and also replace /etc/kexec/ramdisk.img and /etc/kexec/kernel located inside system.img with the new initramfs/kernel). Then rebooted, jumped from kexecboot to Safestrap, and it launched postmarketOS.
USB networking connects right away and SSH works.
The wiki states that Framebuffer graphics works, but I get no screen output. LCD backlight is on. Xwayland and weston are running by default.
All LEDs work.
Touchscreen, vol buttons and keyboard seem to work.
Kernel is 3.0.8.
Finally I managed to boot pmOS with kexecboot. Directory "boot" on mmcblk0p1 contains following files:
Code:
atags # borrowed from safestrap
boot.cfg
devtree # borrowed from safestrap
initramfs-motorola-maserati
vmlinuz-motorola-maserati
Here's a few facts that I don't really understand
kexecboot boots pmOS on rom-slot only if safestrap is configured to boot on that slot, otherwise it boots into something else which responds to ping, but no SSH. Why is this happening if kexecboot overrides safestrap?
Excuse my ignorance, but what is in practice the need for a devtree file, and where am I supposed to obtain it?
The kernel cmdline is apparently overriden by atags file required to boot linux 3.0.8. It seems like boot configuration is hardcoded somehow. But why doesn't it boot regular android slots?
Is it actually possible to pass something like root=/dev/mmcblk0p1 or maybe even get screen working by using a recent kernel?
Sorry if I mixed up too many different topics... just trying to sort the whole thing out.
Thanks!
Is it possible to boot LineageOS with a Linux kernel of 3.20 or higher?
dinosaur99 said:
Here's a few facts that I don't really understand
kexecboot boots pmOS on rom-slot only if safestrap is configured to boot on that slot, otherwise it boots into something else which responds to ping, but no SSH. Why is this happening if kexecboot overrides safestrap?
Excuse my ignorance, but what is in practice the need for a devtree file, and where am I supposed to obtain it?
The kernel cmdline is apparently overriden by atags file required to boot linux 3.0.8. It seems like boot configuration is hardcoded somehow. But why doesn't it boot regular android slots?
Is it actually possible to pass something like root=/dev/mmcblk0p1 or maybe even get screen working by using a recent kernel?
Sorry if I mixed up too many different topics... just trying to sort the whole thing out.
Click to expand...
Click to collapse
Sorry for being slow to respond..
There is an issue with most droid4 images using the 3.0.8 kernel files and init scripts which is the scripts check the SafeStrap config from the mmc for things to mount etc.
This is no longer needed at and the scripts should be just modified to do that only if booted with safestrap. We should now just use standard Linux way meaning
parse the partitions to mount from kernel command line and so on NotKit posted some patches to sort out that as linked in the first post in this thread for the
PostmarketOK pull request. But I don't think those are applied and also the Android Images need to be updated too for LineageOS and then you can just boot
Android from whatever partition you like such as mmcblk0p1 or mmcblk1p25 in the standard Android way.
So omebody just please do standard LineageOS images that don't rely on SafeStrap!
The devtree file is only needed for old 3.0.8 kernels and is non-compatible with the current mainline kernel dtb file omap4-droid4-xt894.dtb. Motorola used custom
device tree properties and it's in big-endian format. The devtree file should be the same as what you have on the eMMC devtree partition mmcblk1p11.
Current mainline kernel still has the LCD patches pending, for v4.19-rc series I posted the pending patches I have to:
https://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git/log/?h=droid4-pending-v4.19
Those are still being worked on though because of omapdrm changing over to use generic displays.
andeaker said:
Is it possible to boot LineageOS with a Linux kernel of 3.20 or higher?
Click to expand...
Click to collapse
See the previous post about v4.19-rc5 kernel status. No idea how much work it would be to get LineageOS images working with the
mainline kernel.. Probably at least the graphics would be an issue. Using TI's Android tree with droid4 patches backported to it might
be a good starting point if somebody wants to experiment with that, TI might have SGX540 support there for other SoCs.
how would i go about getting this working n the droid bionic? im wanting to run maemo-leste, but the latest update switched from just safestrap and ddroid, to this. and apparently trying to stupidly flash this as-is didnt work out
tvall said:
how would i go about getting this working n the droid bionic? im wanting to run maemo-leste, but the latest update switched from just safestrap and ddroid, to this. and apparently trying to stupidly flash this as-is didnt work out
Click to expand...
Click to collapse
Hmm you probably need to stick with SafeStrap for bionic, I don't think bionic uses a utags partition that's needed for the kernel cmdline.
tmlind said:
So omebody just please do standard LineageOS images that don't rely on SafeStrap!
Click to expand...
Click to collapse
I finally got around finishing writing some docs for installing LineageOS to raw partitions, please test
Make back-ups as needed first though.
For instructions, see files PARTITIONS and INSTALL at:
https://github.com/tmlind/droid4-kexecboot
hope this is on-topic - is it possible to use this to boot an OS that's installed on the SD card? I don't have D4 yet, but am waiting to receive one in the next few weeks.
sicelo.m said:
hope this is on-topic - is it possible to use this to boot an OS that's installed on the SD card? I don't have D4 yet, but am waiting to receive one in the next few weeks.
Click to expand...
Click to collapse
Yeah you can boot whatever Linux distro(s) you prefer from the SD card with the current mainline kernel and few pending patches.
That's all work in progress though, certainly usable for tinkering though
I doubt that booting Android on the SD card currently works though.

Categories

Resources