FORUMS

Galaxy S6 & Edge get €100 Price Cut—New Models Incoming

Samsung has dropped the price of both the Galaxy S6 and S6 Edge by … more

How To Port Fully Featured Sony Xperia Z4 Camera

Xperia Z4’s hardware may not impress, but its software is definitely … more

Experimental TWRP Available For Moto G 2015

XDA Senior Member squid2 has posted experimental builds of TWRP for the Moto G … more

Sunday Debate: How Can We Get a No-Compromise Phone?

Join us in a fun Sunday Debate on Compromises. Come with your opinions and … more

[BOOTLOADER BYPASS -WIP] EternityProject Kexec method for Motorola Olympus (Atrix 4G)

2,248 posts
Thanks Meter: 3,806
 
By kholk, Retired Recognized Developer on 14th May 2011, 06:44 PM
Thread Closed Subscribe to Thread Email Thread
Welcome to Eternity Project!

So... as most of you know I'm working on the Atrix solution from TOO MUCH time.
With the collaboration of people on #moto-atrix I've stated that FUSES on Tegra2 are really OTP, so there isn't any way to CRACK the BL, but we can still BYPASS it.

So... what is it?:
kexec is a "fastreboot" that won't pass through the Moto Bootloader, so with it it's possible to use custom kernels and, with some other development, custom Android systems like CM7 and many others.

Where's the poop?
Okay, that's it: I've successfully compiled and ran kexec on the Atrix 4G, so that kexec works, but it needs a kernel that can boot with kexec. On x86 we can build a relocatable kernel so no problems... but not on ARM and obviously not on Tegra.
The thing that is missing is exactly... _the address of the boot params_!

And now?
I'm only searching for help for completing the project and make a kernel that is bootable from my god-it-is-really-working-kexec. Any devs around?

Downloads:
- Kexec pack V0.01: DOWNLOAD

Kexec pack contains:
- ATAGS for MB860 (ATRIX_atags.tar)
- ATAGS hack module (eternity_procfs.tar)
- kexec module (eternity_kexec.tar)
- kexec tools/binaries (kexec-tools.tar)
- Kernel....that doesn't work. (eternity_kexec_kernel.tar)

So, what does work and what does not?
- ATAGS hacky hack: WORKING
- kexec module: WORKING
- kexec tools/binaries WORKING
- Kernel ToDo


How to run it:
0. FLASH AT&T 1.2.6 SBF PRIOR DOING ANYTHING
1. Extract all the archives
2. Insert the procfs_rw.ko module
3. cat atags > /proc/atags
4. Insert the kexec module
5. Run kexec for loading the kernel and jumping to it.
6. Boot! :|

P.S.: I won't release detailed how-tos because at this state I only need a DEVELOPER that can help me to build the kernel.


Thanks to:
- PAulyHoffman (special thanks!)
- unknown
- Sogarth
- the2dcour
- cranch
- eval-
- and many, many others....!
Last edited by kholk; 14th May 2011 at 07:01 PM.
The Following 105 Users Say Thank You to kholk For This Useful Post: [ View ]
 
 
14th May 2011, 06:46 PM |#2  
PAulyhoffman's Avatar
Senior Member
Flag Brooklyn Park, MN
Thanks Meter: 148
 
More
Awesome, i can verify that this kexec is working and will continue testing until we succeed.
Last edited by PAulyhoffman; 14th May 2011 at 06:49 PM.
The Following 8 Users Say Thank You to PAulyhoffman For This Useful Post: [ View ]
14th May 2011, 06:54 PM |#3  
the2dcour's Avatar
Senior Member
Flag Boston
Thanks Meter: 589
 
Donate to Me
More
random boot animation I made for eternity project :P
http://diamantephoto.com/bootanimation_red.zip

Also: 1.2.6 without losing /data, in case you were wondering exactly why I made this
http://forum.xda-developers.com/show....php?t=1073439
Last edited by the2dcour; 14th May 2011 at 09:40 PM.
The Following 2 Users Say Thank You to the2dcour For This Useful Post: [ View ]
14th May 2011, 07:09 PM |#4  
OP Retired Recognized Developer
Flag Torino
Thanks Meter: 3,806
 
Donate to Me
More
kexec pack updated. now kexec-tools is included
The Following 5 Users Say Thank You to kholk For This Useful Post: [ View ]
14th May 2011, 08:12 PM |#5  
Senior Member
Flag Montreal
Thanks Meter: 11
 
More
@kholk: Hai;
so basically this is a port of the unix kexec to run on tegra based devices?
From my understanding the android system uses a boot image that has the ramdisk and kernel combined together and they are dependent on each other... so won't overwriting the kernel at runtime give you us some issues since the core initialization of the system is ran from the ramdisk???

wouldn't be a better idea to tackle this issue too? but then again the only reason we can't flash boot images is because of the bootloader but ofcourse this is definitely a step forward for the tegra users.

now about the kernel, theoretically if we build an aosp tegra kernel from http://android.git.kernel.org/?p=ker....git;a=summary shouldn't it work?

:P I can try building us a kernel if that would work

PS: people let's keep this dev ONLY if you want us to get some progress we need able to read through the thread without useless posts.

edit: also found this https://opensource.motorola.com/sf/f...ix/frs.olympus I'm sure having the source for the kernel we are currently running is also helpful
Last edited by k4r1m; 14th May 2011 at 08:18 PM.
The Following User Says Thank You to k4r1m For This Useful Post: [ View ]
14th May 2011, 08:22 PM |#6  
Ratchet556's Avatar
Senior Member
Thanks Meter: 23
 
More
I know we should keep this dev only but please don't tell me this is for ATT only i already feel shafted enough being a Bell user and that would make it a hell of a lot worse if it was
14th May 2011, 08:31 PM |#7  
OP Retired Recognized Developer
Flag Torino
Thanks Meter: 3,806
 
Donate to Me
More
Quote:
Originally Posted by Ratchet556

I know we should keep this dev only but please don't tell me this is for ATT only i already feel shafted enough being a Bell user and that would make it a hell of a lot worse if it was

When a kernel that works will be deployed I'll personally port it to Bell Atrix. This will take only some seconds.
The Following 6 Users Say Thank You to kholk For This Useful Post: [ View ]
14th May 2011, 08:58 PM |#8  
Senior Member
Flag Maracaibo
Thanks Meter: 38
 
More
kholk, perhaps we can ask a defy developer (or any of the phones that have kexec working) to help us build the kernel.

it's too bad da_g isn't around, he did a custom kernel but wasn't able to boot it.
14th May 2011, 09:05 PM |#9  
Senior Member
Thanks Meter: 27
 
More
I'm not a developer so I am hoping someone can help me understand this process better. From my understanding kexec is used as a reboot method that skips initial bootloader and hardware loading so how will this effect if we turn our phone off or pull the battery? Will the device need to be rebooted after initial startup to reactivate the kexec? Sorry to sound like the newbie that I am, I'm just interested in learning more.
14th May 2011, 09:22 PM |#10  
thebeardedchild's Avatar
Senior Member
Thanks Meter: 48
 
More
Quote:
Originally Posted by lostinbeta

I'm not a developer so I am hoping someone can help me understand this process better. From my understanding kexec is used as a reboot method that skips initial bootloader and hardware loading so how will this effect if we turn our phone off or pull the battery? Will the device need to be rebooted after initial startup to reactivate the kexec? Sorry to sound like the newbie that I am, I'm just interested in learning more.

Yeah, I'm also a little confused as to what exactly this means for all of us people who want to just flash Custom ROMs and such? In what ways is this different than just an unlocked bootloader and such?
14th May 2011, 09:54 PM |#11  
Senior Member
Thanks Meter: 230
 
More
Quote:
Originally Posted by lostinbeta

I'm not a developer so I am hoping someone can help me understand this process better. From my understanding kexec is used as a reboot method that skips initial bootloader and hardware loading so how will this effect if we turn our phone off or pull the battery? Will the device need to be rebooted after initial startup to reactivate the kexec? Sorry to sound like the newbie that I am, I'm just interested in learning more.

Quote:
Originally Posted by thebeardedchild

Yeah, I'm also a little confused as to what exactly this means for all of us people who want to just flash Custom ROMs and such? In what ways is this different than just an unlocked bootloader and such?

Assuming my understanding of kexec is correct, this would survive battery pulls. Basically, a custom rom would need to include two kernels: a Motorola kernel in addition to the custom one. The bootloader would run the Motorola kernel, which should pass any checks the bootloader would make. From there, the kernel would use kexec to load the custom kernel over itself in memory, effectively replacing itself. From there the custom kernel can continue loading the rom.

If the booloader were unlocked, the phone could directly boot the custom kernel. The downside of loading the custom one on top of the Motorola one is that the state of the phone might not be entirely known, so it would need to do more work checking what's been initialized and what hasn't. Its a little more work for the kernel/rom developer, but the end result is the same.
The Following User Says Thank You to Jotokun For This Useful Post: [ View ]

Read More
Thread Closed Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes