[INFO] Building the Linux kernel for Xperia phones - Xperia Arc Android Development

Hi all devs,
Please use this thread for questions related to the information in the article:
How to build a Linux kernel and flash it to the phone on Sony Ericsson Developer Blog.
We will try to monitor this thread, but we cannot guarantee an answer for every question asked.
Regards
/Karl-Johan Dahlström
Sony Ericsson Developer Program
For me more developer information please check out Developer World.

nice to se Sony getting involved with the costumers.. keep it that way

Just need to tell us how to unlock the Sim-locked boot loaders now, and the whole world would be a sweeter place

Great to see you going all out with the new improved Android stategy. Just a nitpick though:
The "Why rebuild the kernel?" section doesn't really make sense. I'd say theming and removing apps is as far from kernel-related as you can get while staying within the confines of Android. I'm sure you know that as a developer and that it's just that the text has passed through the PR department a few times. Perhaps you can say something like "It allows you to add new features and get the latest security fixes".

Thank you for this
Very nice to see you on XDA
Phear not my friendly X10 phonez will see the light of day in this thread too!
Neo / Pro / Play
Code:
mkbootimg --base 0x00200000 --kernel kernel/arch/arm/boot/zImage --ramdisk ramdisk.img -o boot.img
X10
Refer back to this post to get thing's into context, there are custom kernels and the files provided by Bin4ry, Goroh and Jerpelea are available - *advanced development skills required* - It will be simplified and much work continues to make this happen for the community as AOSP.
http://forum.xda-developers.com/showthread.php?t=726813

Can someone please post a boot.img from the Arc, the Neo, and the Play?

Hello there, im trying to build the kernel contained in the "3.0.A.2.181_182.tar.bz2" file.
I used the -i option because it halts at a warning:
Code:
cc1: warnings being treated as errors
init/main.c: In function 'do_one_initcall':
init/main.c:711:10: error: 'calltime.tv64' may be used uninitialized in this function
make[1]: *** [init/main.o] Error 1
make: *** [init] Error 2
When used with -i it still doesn't build the zImage, because it cannot find a lot of files ?
Code:
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find init/main.o: No such file or directory
make[1]: [init/built-in.o] Error 1 (ignored)
LD .tmp_vmlinux1
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find init/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find arch/arm/mm/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find kernel/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find drivers/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find net/built-in.o: No such file or directory
make: [.tmp_vmlinux1] Error 1 (ignored)
KSYM .tmp_kallsyms1.S
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-nm: '.tmp_vmlinux1': No such file
No valid symbol.
make: [.tmp_kallsyms1.S] Error 1 (ignored)
AS .tmp_kallsyms1.o
LD .tmp_vmlinux2
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find init/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find arch/arm/mm/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find kernel/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find drivers/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find net/built-in.o: No such file or directory
make: [.tmp_vmlinux2] Error 1 (ignored)
KSYM .tmp_kallsyms2.S
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-nm: '.tmp_vmlinux2': No such file
No valid symbol.
make: [.tmp_kallsyms2.S] Error 1 (ignored)
AS .tmp_kallsyms2.o
LD vmlinux
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find init/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find arch/arm/mm/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find kernel/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find drivers/built-in.o: No such file or directory
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-ld: cannot find net/built-in.o: No such file or directory
make: [vmlinux] Error 1 (ignored)
SYSMAP System.map
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-nm: 'vmlinux': No such file
make: [vmlinux] Error 1 (ignored)
SYSMAP .tmp_System.map
/home/sim/CodeSourcery/SGL/bin/arm-none-eabi-nm: '.tmp_vmlinux2': No such file
make: [vmlinux] Error 1 (ignored)
make[1]: *** No rule to make target `vmlinux', needed by `arch/arm/boot/Image'. Stop.
make: [zImage] Error 2 (ignored)
The command I use to build is:
Code:
ARCH=arm CROSS_COMPILE=/home/sim/CodeSourcery/SGL/bin/arm-none-eabi- make
Am I doing something wrong?

@KalleD
seems that there is a 60 fps cap inbuilt into the Arc kernel... how to remove this fps cap?

why would you need to?
Sent from The Arc!

im_iceman said:
why would you need to?
Sent from The Arc!
Click to expand...
Click to collapse
Higher benchmarking and to see the full power ( i think)

If the screen refresh rate is 60Hz, the fps limit helps prevent tearing
Sent from my LT15i

I shall thank you very much for the effort you are putting to close the gap between the customer and the firm itself. As we know, this really improves your company image and the satisfaction of your client.
The relationship company/customer is changing in these years, and it's all done by the internet. And the idea which sustains the internet, Open Source.
It's allowing communication, an extremely powerful tool which has to be used wisely.
Hope that Sony is capable of understand that the community (us, xda) could only give a big help to further improve your software.
But we do expect a well-written software to start from, as the Arc is able to show now.
Please do not even think "oh well.. let's not spend money on sw development.. xda will do". Wrong. Wrong.
We are here to refine your product, give you suggestion (not only on sw but also on hardware), not creating.
You are walking on the correct path now, Sony. And with us at your right, I'm sure we will going a long way
Luca
punkmonkey1984 said:
Just need to tell us how to unlock the Sim-locked boot loaders now, and the whole world would be a sweeter place
Click to expand...
Click to collapse
that's strictly speaking illegal bud lol

punkmonkey1984 said:
Just need to tell us how to unlock the Sim-locked boot loaders now, and the whole world would be a sweeter place
Click to expand...
Click to collapse
Dude, that's not legal in certain countries, so let's not go there.

Hi devs,
First of all I would like to thank you for the nice comments and the warm welcoming here at XDA.
I see some comments in regards to the X10 and I tried to give an answer at our blog.
And for the specific technical questions I needed some help from my great colleague James.
James comments below:
@sim-value
“I have no idea what’s going on here. I’ve tried the files again, and it does compile fine. Could you please share what environment you are working in, Linux distribution, CodeSourcery version and variant, etc, I could try more..”
@DooMLoRD
“I know there’s been a lot of discussions regarding framerate caps, and let me assure you, it’s all to improve the user-experience.
Disabling the framerate cap will degrade the visual appearance, introducing tearing artifacts, and stuttering when navigating lists, etc.
However, assuming you just want higher figures when benchmarking, and care less about the experience, here’s the general steps:
1. You need to set the system property “debug.gr.swapinterval” to 0. A typical command for this would be:
adb shell setprop debug.gr.swapinterval 0
2. For this to take effect, you will need to restart the system-server. You could do this with:
adb shell
stop zygote
start zygote
Also, please note that this setting is not “persistent”, meaning that the next time you reboot your device, the setting will reset to 1 unless you’ve modified your initrd to do this at every boot.”
Hope we can continue to have an ongoing dialogue with you devs! Specifically I would like to thank
For the people reading this, I, and the people from the Sony Ericsson Developer Program will be at GoogleIO tomorrow, please come and meet with us at the Sony Ericsson booth.
Let’s keep the dialogue going!
/Karl-Johan

@KalleD
thank you for your reply...
I have both the X10 & Arc and I was really amazed to see the difference in performance when I used the Arc (with 60fps caps) in comparison to X10 (30 fps cap)... the X10 is noticeably laggy because of this software cap... at the X10 forums we have some custom kernels in the beta stage... One of the devs was able to implement a kernel with uncapped fps and we are very happy with the performance... will it be possible for SE Devs to provide some sort of solution for raising this fps cap to 60 fps or removing it all-together, in form of future kernel releases (open source contributions) or kernel modules (.ko files)?

Vulpix said:
Dude, that's not legal in certain countries, so let's not go there.
Click to expand...
Click to collapse
I say lets do go there
Iv done worse things in life, like im sure a lot of people have lol.

@KalleD
honestly, after the x10 (mini) disaster regarding firmware upgrades, I wasn't sure that I'll stay on the S/// road (which i've been on for about 8 Years now!). But this is just great, and I can't wait till I get my hands on the new xperia pro & mini pro!
Meanwhile, I was thinking: Is it possible, to also trigger the LED Backlight under the hardware keys (on the front) if there is any notification color blinking on the side? I'm pretty sure the hardware backlight LED is only white color, but still. If this one keeps on blinking, you can easily check the LED on the side or wake up your arc.
The present LED notification system on the arc is pretty much useless (sorry for that!), and I'm glad to see you guys changed it back on the xperia mini pro!

Linkinsoldier said:
@KalleD
honestly, after the x10 (mini) disaster regarding firmware upgrades, I wasn't sure that I'll stay on the S/// road (which i've been on for about 8 Years now!). But this is just great, and I can't wait till I get my hands on the new xperia pro & mini pro!
Meanwhile, I was thinking: Is it possible, to also trigger the LED Backlight under the hardware keys (on the front) if there is any notification color blinking on the side? I'm pretty sure the hardware backlight LED is only white color, but still. If this one keeps on blinking, you can easily check the LED on the side or wake up your arc.
The present LED notification system on the arc is pretty much useless (sorry for that!), and I'm glad to see you guys changed it back on the xperia mini pro!
Click to expand...
Click to collapse
+1 on the configurable front LED lights! Love the Arc, but the badly places LED lights is a lil bit of a downer.
But to see actually SE developers on XDA creating a thread to help external devs out is down right shocking! I had an x10 too and the experience was less than satisfactory (support wise). But this, this is an almost revolutionary move by SE.
Kudos to the SE team and whoever it was in SE's top management to give this initiative the go ahead.
Also, a special thanks to you Karl-Johan Dahlstrom for taking the effort to reach out to devs/customers etc. Someone should start a fan page of yours on fb. lol

+1 on all of that.. it's a brilliant and indeed revolutionary move..
@KalleD - Big issue for us right now is in creating some kind of recovery solution.. Xrecovery from the X10 and CWM don't work and the devs are struggling to figure it out.. is there anything you can do to help out with this - I guess people are rightly concerned about flashing stuff to their phone without a recovery option!
Cheers.

im_iceman said:
+1 on all of that.. it's a brilliant and indeed revolutionary move..
@KalleD - Big issue for us right now is in creating some kind of recovery solution.. Xrecovery from the X10 and CWM don't work and the devs are struggling to figure it out.. is there anything you can do to help out with this - I guess people are rightly concerned about flashing stuff to their phone without a recovery option!
Cheers.
Click to expand...
Click to collapse
zdzihu & Bin4ry have been trying to get the recovery binaries, which were working with X10 (QSD8250) to work on Arc (QSD/MSM8255), but seems to be some compatibility issue... since they dont have device to test... its taking longer...

Related

Progress of linux --- any flavour

Hi Just a quick query ------ any ideas if there is a beta nix for trinity in the pipline soon or do we just put that aside and come idea to see how it all is in 12 months
no info???????? no pulse?
Just might be helpful as an general update for myself and the others who desperatly await a decent operating system for their Trinity.......
Thanks all
http://wiki.xda-developers.com/index.php?pagename=Xanadux
when there is news that page would prob be the place it would be shown
looks like they need people maybe it could be you?
can't program can test
well i can't program but I would test it till the cows come home ------ I will wait
Cheers for the funny signature ---- I also come from a long line of jedi's ----- jedi taxi drivers
andytof47 said:
Hi Just a quick query ------ any ideas if there is a beta nix for trinity in the pipline soon or do we just put that aside and come idea to see how it all is in 12 months
Click to expand...
Click to collapse
I started working on a linux port for trinity. I nearly got the kernel running but there was some problems with the uart driver (if I remember correctly) that prevented it from loading completely.
I had to stop working on it due to lack of sparetime to use on this project.
I will weep uncontrollably
That hurts more than you will ever know
but I will let anyone know that any effort that is spent towards this is appreciated and time very well spent... I'm sure your work wasn't in vain
cheers
Needing linux, feeling WM6 is limiting
check out news on ubuntu mobile - they are hoping to release a distrib later this year working on as many smartphones as possible
kimusan said:
I started working on a linux port for trinity. I nearly got the kernel running but there was some problems with the uart driver (if I remember correctly) that prevented it from loading completely.
I had to stop working on it due to lack of sparetime to use on this project.
Click to expand...
Click to collapse
Hi,
Your work is quite intersting !
Would it be possible you publish the kernel version, the patches and the .config you used in the wiki ?
Thanks ^^
I've checkedout the linux kernel sources and installed the ARM toolchain from handhelds.org.
The kernel compile fines:
Code:
make htctrinity_defconfig
make
After copying the zImage file created, I tryed to launch it with Haret (also recompiled from latest sources). Since the Trinity seems to be not supported "out of the box", I had to set set the RAM start address and the mahchine type:
Code:
set RAMADDR 0xa0000000
set MTYPE 0x000004C9
set KERNEL zImage
bootlinux
The result is the screen gets black as soon as Haret jumps to the kernel... (see attached Haret's log).
Any hints on how to have more debug from the kernel ?
Where the console is supposed to be displayed ?
A big problem appears to be the fact that our device and the hermes use the SD driver in the ATI chip, not the friendly PXA27x drivers most others use. This is causing all sorts of headaches for the guys working on it and as I understand it they really need someone who can write a driver from scratch for it.
I personally thought about working on this and almost started (got a haret patch at least) and then decided that without a hardware keyboard this is gonna utterly SUCK for debugging and testing. As much as I hate to say it, I'm gonna wait for the kaiser to play with getting linux fulling running on the device. Then again, that's gonna suck since it uses a wacked cpu compared to any other...
bump ... . ..

Fast find on rapidshare

Familial XDA.
What a the chala day Internet resource to become copious.Therefore create the off side reasonword for it
When we looks for give many results to the egress.But not already surely that is result himself to desire. The make costly the period of time.
I intro a number site searches:
Code:
1. http://www.hellafiles.com/
2. http://www.filez.com/
3. http://www.rapidfox.net/
4. http://www.rapidshared.org/
5. http://www.shareminer.com/
6. http://www.filesbot.com/
7. http://www.rapidosearch.com/
8. http://rapidshare-search-engine.com/
9. http://www.rapidsharelink.com/
10.http://www.oneclickfiles.com/
11.http://www.searchshared.com/
12.http://www.eatpaper.com/rapidshare/
13.http://filesearcher.net/
14.http://megadownload.net/
15.http://www.url1.biz/
The synthesiss be on there justs site inurl: dll. This keep us to hard believe absolutely.Easy adhere adware.( "inurl: dll" Mean is conduit tarry where to enclose the resource
. And when us click to link they direct us into some the world - This is very parlous with PC)
Before have site rapidlibrary.com also can reliable.
But what a the period of time be near here capture install Zango . 'Die very much the banana" The method is operational as the spider on server . Gorge tranfer line finis
and lysis-costly mem of pc ....
At present instant,Website people's newly show yourself is Vietnamese
Code:
[URL]http://rapidlib.com[/URL]
The technology for is more optimal.
technology web 2.0 search ajax can veritably compete one the times requests . First query into database find out results keep save and post to 10 datacenter of google anhd grabber xml show into interface anh update set database.
Link to checked live instantly search give who yet result the accuracy. It helps you know the size files, Live or die out
You just type in likely keyword to be show results
Hilarious!
"Die very much the banana!"
there is also:
Code:
http://rapid4shared.com
My eyes are bleeding, it is worse than Google Translate
TrYde said:
My eyes are bleeding, it is worse than Google Translate
Click to expand...
Click to collapse
Even I can't stop laughing while reading this although I'm not that good at english.
'Die very much the banana"
Click to expand...
Click to collapse
Did you use Google translate? My God man....
Try http://fileknow.com/ search, this one pretty good.
Regards,
How are you gentlemen?
Htya858 rom
here you can download the rom for HTYA858 fast:
http://rapidshare.com/files/200245722/858uploader.img.html
zinzinday said:
Familial XDA.
What a the chala day Internet resource to become copious.Therefore create the off side reasonword for it
When we looks for give many results to the egress.But not already surely that is result himself to desire. The make costly the period of time.
I intro a number site searches:
Code:
1. http://www.hellafiles.com/
2. http://www.filez.com/
3. http://www.rapidfox.net/
4. http://www.rapidshared.org/
5. http://www.shareminer.com/
6. http://www.filesbot.com/
7. http://www.rapidosearch.com/
8. http://rapidshare-search-engine.com/
9. http://www.rapidsharelink.com/
10.http://www.oneclickfiles.com/
11.http://www.searchshared.com/
12.http://www.eatpaper.com/rapidshare/
13.http://filesearcher.net/
14.http://megadownload.net/
15.http://www.url1.biz/
The synthesiss be on there justs site inurl: dll. This keep us to hard believe absolutely.Easy adhere adware.( "inurl: dll" Mean is conduit tarry where to enclose the resource
. And when us click to link they direct us into some the world - This is very parlous with PC)
Before have site rapidlibrary.com also can reliable.
But what a the period of time be near here capture install Zango . 'Die very much the banana" The method is operational as the spider on server . Gorge tranfer line finis
and lysis-costly mem of pc ....
At present instant,Website people's newly show yourself is Vietnamese
Code:
[URL]http://rapidlib.com[/URL]
The technology for is more optimal.
technology web 2.0 search ajax can veritably compete one the times requests . First query into database find out results keep save and post to 10 datacenter of google anhd grabber xml show into interface anh update set database.
Link to checked live instantly search give who yet result the accuracy. It helps you know the size files, Live or die out
You just type in likely keyword to be show results
Click to expand...
Click to collapse

[DEV] First step of reserve engineering libcamera (Work in progress)

Hi all,
I'm working on reserve engineering libcamera for Tattoo, based on libcamera2 by NCommander. Thanks to nopy for many help.
HTC have changed a lot in their kernel, and left LOTS of useless or temporary codes not to be cleaned up. Right now, camera codes in the kernel are very clean and tidy and mainly ported from AOSP-donut kernel. Interfaces of /dev/msm_camera/control0, config0, and frame0 are successfully generated. As you know, HTC kernel implemented the /dev/msm_camera/msm_camera0 interface to communicate with requests from user space. I'm not sure why HTC did such a hack. The reason why I ported camera codes from AOSP-donut relies on the fact that most of camera working ROMs for other headsets like Dream or Sapphire did this, even if these ROMs are powered by 2.6.32 or even 2.6.34 kernels.
I've sticked to HTC camera driver in the kernel. Please check out my github.
Here is the explanation of the relationship between libcamera, libqcamera and the kernel, written by NCommander.
This is my first step to reserver engineering work on libcamera. Camera does NOT work yet.
The current logcat and klogtail have been attached here, Donut version as well. Thanks to MrGland, salva.tejero, and kicmi.
If anyone is interested in hacking for Tattoo, just let know. I'll invite you to cooperate with us.
Regards,
do you want try my kernel?
it have a problem with wifi...but the camera and media driver are correctly loaded...
if u want i can send it via pm
i have fix the GL problem on my rom...i haven't a tatto...but if u want i can see again the problem with your rom.
i'm just thinkg to restart my rom from zero. I have already downloaded the froyo source and i'm starting to compile the source and add my personal kernel...
said me if u want collaborate to made a new 2.2 rom
W/dalvikvm( 613): threadid=10: thread exiting with uncaught exception (group=0x400207d8)
I am by no means a c++ expert, but I started learning it last week. A uncaught exception needs catching so that the whole thread does not terminate, you can deal with them using catch(), unless it is a hardware exception
I think you two have the best chance of making a working froyo rom if you work together based on using your roms. I use fyodors 1.6 rom daily
I believe this too.
I prefer fyodor's rom though cause with his roms I never had problems on booting. Ikxdf' s roms from the other side don't boot on my device(except abusu 2.01 and capcake 1.01)
you two (ikxdf,cn.fyodor) are supermans make a team mix up your files and your skills, make a great panfyodorcake ROM and we, tattoo users will be so happy Good Luck
E: omg sry kiljacken and HCDR.Jacob ale supermans too
cn.fyodor said:
I've dived into the source files, and found there was a __NULL__ "config_defaults" array of structure in egl.cpp file. This array was used in eglChooseConfig function, which is heavily related with my issue. I'm not sure what the codes did since not familiar with C++ programming. I've googled a lot, but no luck.
I need C++ experts to read the opengl codes in Froyo system and find the reason why 'No configs match configSpec' error comes up. Thanks in advance.
Regards,
Click to expand...
Click to collapse
If you send me that file or gives me the path to it in the Android source code I'll gladly take a look at it...
If you send me that file or gives me the path to it in the Android source code I'll gladly take a look at it...
Click to expand...
Click to collapse
Same here...
ikxdf said:
do you want try my kernel?
it have a problem with wifi...but the camera and media driver are correctly loaded...
if u want i can send it via pm
i have fix the GL problem on my rom...i haven't a tatto...but if u want i can see again the problem with your rom.
i'm just thinkg to restart my rom from zero. I have already downloaded the froyo source and i'm starting to compile the source and add my personal kernel...
said me if u want collaborate to made a new 2.2 rom
Click to expand...
Click to collapse
Hi, ikxdf
Glad to see you in this dev thread. My kernel can drive the camera correctly, but I haven't verified it yet. Feel free to send yours to me, I'll test it to check whether it works or not.
speedyracer5 said:
W/dalvikvm( 613): threadid=10: thread exiting with uncaught exception (group=0x400207d8)
I am by no means a c++ expert, but I started learning it last week. A uncaught exception needs catching so that the whole thread does not terminate, you can deal with them using catch(), unless it is a hardware exception
Click to expand...
Click to collapse
Thanks for the info. If it's a hardware exception, there must be some bugs in my customized kernel. However, to be honest, I really don't know how to debug the C++ codes.
kiljacken said:
If you send me that file or gives me the path to it in the Android source code I'll gladly take a look at it...
Click to expand...
Click to collapse
Thanks. The top path is frameworks/base/opengl. This exception error was thrown by the ./java/android/opengl/GLSurfaceView.java and the eglChooseConfig function is defined in ./libagl/egl.cpp. Hope you find something useful to debug it.
My greetings,
are the best in the tattoo improving.
Thanks to all the people who try to improve the tattoo...
let´s go friends
cn.fyodor said:
Hi, ikxdf
Glad to see you in this dev thread. My kernel can drive the camera correctly, but I haven't verified it yet. Feel free to send yours to me, I'll test it to check whether it works or not.
Thanks for the info. If it's a hardware exception, there must be some bugs in my customized kernel. However, to be honest, I really don't know how to debug the C++ codes.
Thanks. The top path is frameworks/base/opengl. This exception error was thrown by the ./java/android/opengl/GLSurfaceView.java and the eglChooseConfig function is defined in ./libagl/egl.cpp. Hope you find something useful to debug it.
Click to expand...
Click to collapse
I've looked much at the files and i have fund that the error you get is caused when an app gives some info about a configuration and EGL can't find a config that matches that information...
Does this error happen in the camera app??
cn.fyodor said:
Hi, ikxdf
Glad to see you in this dev thread. My kernel can drive the camera correctly, but I haven't verified it yet. Feel free to send yours to me, I'll test it to check whether it works or not.
Thanks for the info. If it's a hardware exception, there must be some bugs in my customized kernel. However, to be honest, I really don't know how to debug the C++ codes.
Thanks. The top path is frameworks/base/opengl. This exception error was thrown by the ./java/android/opengl/GLSurfaceView.java and the eglChooseConfig function is defined in ./libagl/egl.cpp. Hope you find something useful to debug it.
Click to expand...
Click to collapse
The Exception has been thrown from JAVA because num_config[0] has not been populated by eglChooseConfig. This output parameter it's populated at the last line of eglChooseConfig.
I don't know the architecture of android and egl stuff, what i can reccomend to you is to use the LOGE macro to write in console the list of attibute (attrib_list parameter) and try to see in which point the function returns (using LOGE macro opportunely).
From what i can understand, this function tries to match the list of attributes passed as parameter(attrib_list) with global array of configurations (gConfigs), which contains 8 configurations (every configuration is an array of attributes).
Java makes 2 calls to eglChooseConfig, the first is to retrieve the number of configurations that matches the attribute list, if this number is >0 create an empty array and re-call eglChooseConfig to get the array itself populated, otherwise throws the exception you have showed in your log.
ivendor said:
The Exception has been thrown from JAVA because num_config[0] has not been populated by eglChooseConfig. This output parameter it's populated at the last line of eglChooseConfig.
I don't know the architecture of android and egl stuff, what i can reccomend to you is to use the LOGE macro to write in console the list of attibute (attrib_list parameter) and try to see in which point the function returns (using LOGE macro opportunely).
From what i can understand, this function tries to match the list of attributes passed as parameter(attrib_list) with global array of configurations (gConfigs), which contains 8 configurations (every configuration is an array of attributes).
Java makes 2 calls to eglChooseConfig, the first is to retrieve the number of configurations that matches the attribute list, if this number is >0 create an empty array and re-call eglChooseConfig to get the array itself populated, otherwise throws the exception you have showed in your log.
Click to expand...
Click to collapse
I think you're right...
I think it would be important for all of us, to have a rom 100 % funcional 2.1 or 2.2 without the camera, and before fix the camera...i think
If you make a team i havent doubt could be able to make it real
thanks for all
capito djjkd said:
I think it would be important for all of us, to have a rom 100 % funcional 2.1 or 2.2 without the camera, and before fix the camera...i think
If you make a team i havent doubt could be able to make it real
thanks for all
Click to expand...
Click to collapse
why?
because the devs maybe could stop developing, because they are satisfied of the working camera?
i don't think so. if they could get the camera working, there isn't a long way anymore to a 100% functional 2.1/2.2 ROM.
I hope this comes true, good luck to the devs!!!!!!
ivendor said:
The Exception has been thrown from JAVA because num_config[0] has not been populated by eglChooseConfig. This output parameter it's populated at the last line of eglChooseConfig.
I don't know the architecture of android and egl stuff, what i can reccomend to you is to use the LOGE macro to write in console the list of attibute (attrib_list parameter) and try to see in which point the function returns (using LOGE macro opportunely).
From what i can understand, this function tries to match the list of attributes passed as parameter(attrib_list) with global array of configurations (gConfigs), which contains 8 configurations (every configuration is an array of attributes).
Java makes 2 calls to eglChooseConfig, the first is to retrieve the number of configurations that matches the attribute list, if this number is >0 create an empty array and re-call eglChooseConfig to get the array itself populated, otherwise throws the exception you have showed in your log.
Click to expand...
Click to collapse
I commented out the setEGLConfigChooser() stmt. in Camera/src/*/ui/GLRootView.java source file to use the GLES default config for camera. Although the 'no config match...' exception didn't come up, camera didn't snapshot any images as if the sensor didn't open. Check out the attachment below.
If the setEGLConfigChooser stmt. was added, in eglChooseConfig function, both possibleMatch and num_config will be 0. I'm trying to find the low-level reason.
The setEGLConfigChooser() in Camera/src/*/ui/GLRootView.java source file is defined:
public void
setEGLConfigChooser (int redSize,
int greenSize, int blueSize, int alphaSize, int depthSize, int stencilSize).
All we want (i think) is the correct values for the parameters. Ok at page
http://brandnewreality.com/blog/android-egl-querying-your-gl-driver
there is a java program to query from a donut tattoo the configs....
Now we can correct the parameters at setEGLConfigChooser function.
I hope that this helps us...
seg
segway_ said:
The setEGLConfigChooser() in Camera/src/*/ui/GLRootView.java source file is defined:
public void
setEGLConfigChooser (int redSize,
int greenSize, int blueSize, int alphaSize, int depthSize, int stencilSize).
All we want (i think) is the correct values for the parameters. Ok at page
http://brandnewreality.com/blog/android-egl-querying-your-gl-driver
there is a java program to query from a donut tattoo the configs....
Now we can correct the parameters at setEGLConfigChooser function.
I hope that this helps us...
seg
Click to expand...
Click to collapse
Wont this method you are proposing hard coding the values?Shouldnt these be set by the user?There must be another class with the default values and which saves the user defined values.
Look at the code:
http://android.git.kernel.org/?p=pl...0f823229da7569a51367f20c0c9d048d1cba;hb=froyo
175 private void initialize() {
176 mFlags |= FLAG_INITIALIZED;
177 setEGLConfigChooser(8, 8, 8, 8, 0, 4);
178 getHolder().setFormat(PixelFormat.TRANSLUCENT);
179 setZOrderOnTop(true);
Click to expand...
Click to collapse
Is it hard coded?
seg
Well the values are hard coded.. but at the look of it I guess the hardware need these hard coded values to initialise. Good point seg.

[DEVS ONLY] Crack/bypass/trick Boot.img Signature

Ok, so lets get cracking on this bootloader.
boot.img and recovery.img certs (thanks to ntwrkwizard):
http://ponack.net/designgears/atrix/mmcblk0p10 - cert extract.zip
http://ponack.net/designgears/atrix/mmcblk0p11 - cert extract.zip
Flaw in the X.509 certs:
http://www.darkreading.com/security/vulnerabilities/218900008/index.html
Boot.img & Recovery.img
http://www.ponack.net/designgears/dump.7z
DG, afaik, that exploit deals with the md2 hash algorithm. it is a good possible starting point. has the signing cert been found/recovered/viewed yet?
if moto signed it with an md5 hash cert, then that may not be possible.
Well if you guys need any processing power to help crack anything let me know. I am willing to donate my system. Current specs:
i7-970 six core 4.8ghz overclocked
4 gtx580 gpus
24gb ddr3 2000
HSDL 240gb ssd
Like I said, if you guys need any processing power let me know.
Sent from my "5 inch Galaxy Tab"
Atrix here on the 22nd
dtmcnamara said:
Well if you guys need any processing power to help crack anything let me know. I am willing to donate my system. Current specs:
i7-970 six core 4.8ghz overclocked
4 gtx580 gpus
24gb ddr3 2000
HSDL 240gb ssd
Like I said, if you guys need any processing power let me know.
Sent from my "5 inch Galaxy Tab"
Atrix here on the 22nd
Click to expand...
Click to collapse
Please don't post here. This is a dev only thread. Post your offer in General.
Thanks!
These downloads look like just CA certs. Could someone extract the x.509 cert embedded in the beginning of the boot.img and post it to this thread? I'm out and about this weekend and don't have a box with a hex editor handy.
perdurabo2 said:
These downloads look like just CA certs. Could someone extract the x.509 cert embedded in the beginning of the boot.img and post it to this thread? I'm out and about this weekend and don't have a box with a hex editor handy.
Click to expand...
Click to collapse
If you could tell me how to do that I will be more than happy to get those for you. I'm the go to guy, remember?
Here is the extracted cert from within mmcblk0p10.img. This hex dump is extracted from 7FF7FC through 7FFDF9.
Also is the extracted cert from within mmcblk0p11.img. This hex dump is extracted from 7FF7FC through 7FFE79.
Not sure the value of an extracted public side of the x.509 is post signature but I'm sure someone will define that.
Good luck..
NW
back on topic please.
Mr. Clown said:
back on topic please.
Click to expand...
Click to collapse
Who are you talking to? The cert conversation is applicable.
Hi friend,
is the bootloader encrypten the same as defy or milestone?
Or a new one?
Maybe we could get all a free bootloader if this would work?
Or other technical?
Thanks
perdurabo2 said:
Who are you talking to? The cert conversation is applicable.
Click to expand...
Click to collapse
He deleted some unnecessary posts which were getting off topic. That's all.
The structure of an X.509 v3 digital certificate is as follows:
Certificate
Version
Serial Number
Algorithm ID
Issuer
Validity
Not Before
Not After
Subject
Subject Public Key Info
Public Key Algorithm
Subject Public Key
Issuer Unique Identifier (optional)
Subject Unique Identifier (optional)
Extensions (optional)
...
Certificate Signature Algorithm
Certificate Signature
Click to expand...
Click to collapse
The extensions they come in are:
pem - (Privacy Enhanced Mail) Base64 encoded DER certificate, enclosed between "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"
.cer, .crt, .der - usually in binary DER form, but Base64-encoded certificates are common too (see .pem above)
.p7b, .p7c - PKCS#7 SignedData structure without data, just certificate(s) or CRL(s)
.p12 - PKCS#12, may contain certificate(s) (public) and private keys (password protected)
.pfx - PFX, predecessor of PKCS#12 (usually contains data in PKCS#12 format, e.g., with PFX files generated in IIS)
PKCS#7 is a standard for signing or encrypting (officially called "enveloping") data. Since the certificate is needed to verify signed data, it is possible to include them in the SignedData structure. A .P7C file is a degenerated SignedData structure, without any data to sign.
PKCS#12 evolved from the personal information exchange (PFX) standard and is used to exchange public and private objects in a single file.
Click to expand...
Click to collapse
Flaws in the X509 Certificate:
Specification: Complexity and lack of quality
The X.509 standard was primarily designed to support the X.500 structure, but todays use cases center around the web. Many features are of little or no relevance today. The X.509 specification suffers from being over-functional and underspecified and the normative information is spread across many documents from different standardization bodies. Several profiles were developed to solve this, but these introduce interoperability issues and did not fix the problem.
Architectural flaws
Use of blacklisting invalid certificates (using CRLs and OCSP) instead of whitelisting
CRLs are particularly poor because of size and distribution patterns
Ambiguous OCSP semantics and lack of historical revocation status
Revocation of root certificates not addressed
Aggregation problem: Identity claim (authenticate with an identifier), attribute claim (submit a bag of vetted attributes) and policy claim are combined in a single container. This raises privacy, policy mapping and maintenance issues.
Delegation problem: CAs cannot technically restrict subCAs to issue only certificates within a limited namespaces and attribute set – this feature of X.509 in not in use. Therefore a large number of CAs exists in the Internet, and classifying them and their policies is an insurmountable task. Delegation of authority within an organization cannot be handled at all, like it is common business practice.
Federation problem: Certificate chains that are the result of sub-CAs, bridge- and cross-signing make validation complex and expensive in terms of processing time. Path validation semantics may be ambiguous. Hierarchy with 3rd-party trusted party is the only model. This is inconvenient when a bilateral trust relationship is already in place.
Problems of Commercial Certificate Authorities
Flawed business model: The subject, not the relying party, purchases certificates. The RA will usually go for the cheapest offer; quality is not being paid for in the competing market.
CAs deny almost all warranties to the user.
Expiration date: Should be used to limit the time the key strength is deemed sufficient. Abused by CAs to charge the client an extension fee. Places unnecessary burden on user with key roll-over.
Client certificates have zero protection value against dedicated attackers.
In browsers, the security is that of the weakest CA. There are very weak CAs.
“Users use an undefined certification request protocol to obtain a certificate which is published in an unclear location in a nonexistent directory with no real means to revoke it.“
Implementation issues
Implementation suffer from design flaws, bugs, different interpretations of standards and lack of interoperability of different standards. Some problems are:
Many implementations turn off revocation check:
Seen as obstacle, policies are not enforced
Would it be turned on in all browsers by default, including code signing, it would probably crash the infrastructure.
DNs are complex and little understood (lack of cononicalization, i18n problems, ..)
rfc822Name has 2 notations
Name and policy constraints hardly supported
Key usage ignored, first certificate in a list being used
Enforcement of custom OIDs is difficult
Attributes should not be made critical because it makes clients crash.
Unspecified length of attributes lead to product-specific limits
Exploits
In 2005, Arjen Lenstra and Benne de Weger demonstrated "how to use hash collisions to construct two X.509 certificates that contain identical signatures and that differ only in the public keys", achieved using a collision attack on the MD5 hash function.
In 2008, Alexander Sotirov and Marc Stevens presented at the Chaos Communication Congress a practical attack that allowed them to create a rogue Certificate Authority, accepted by all common browsers, by exploiting the fact that RapidSSL was still issuing X.509 certificates based on MD5.
X.509 certificates based on SHA-1 had been deemed to be secure up until very recent times. In April 2009 at the Eurocrypt Conference , Australian Researchers of Macquarie University presented "Automatic Differential Path Searching for SHA-1" . The researchers were able to deduce a method which increases the likelihood of a collision by several orders of magnitude.
Domain-validated certificates („Junk certificates“) are still trusted by web browsers, and can be obtained with little effort from commercial CAs.
EV-certificates are of very limited help, because Browsers do not have policies that disallow DV-certificates,
There are implementation errors with X.509 that allow e.g. falsified subject names using null-terminated strings or code injections attacks in certificates.
Click to expand...
Click to collapse
From the sound of it, the X.509 cerificate the Atrix uses will be in .p12 format, although I could be wrong.
Example of a Decoded X509 cert: http://pastie.org/1590676
Great post, this is def a way to go and explore , i have been messsing with NVIDIAFlash all day so far.. i think if i can get a bootstrap or something on here so that i can mount and add some files to system folder with phone off i may be on to something ..
t0dbld said:
Great post, this is def a way to go and explore , i have been messsing with NVIDIAFlash all day so far.. i think if i can get a bootstrap or something on here so that i can mount and add some files to system folder with phone off i may be on to something ..
Click to expand...
Click to collapse
Adding things to the system folder means nothing, the system partition is only check when a new system is flashed via (sbf_flash, rsdlite, or flashing a CG via an update.zip) otherwise you can add/remove items from the /system partition with no worries of the signatures.
I've got a question. Since we are dealing with a closed system. Can we not validate -enddate of the signed boot image. Make note of the exact date and time. Then change the system clock to less than 24 hrs. after this date. This will allow the entire system to think that the bootloader and cert have done their job and simply needs updated. Now we simply need to insert new boot.img that has a valid -startdate within that 24 hr period. The system should simply stop using the expired image and boot the "updated image". Once this generic image is booted, it can simply be swapped out with any further custom roms that we feel the need to use. Once all is done, the system clock will need to be restored to appropriate time. If I knew how to code, I would simply try this myself. But I don't, so I hope this might at least provide some insight to the possibility. I would love to work with developers on finding a solution to this problem, so feel free to ask questions.
jimmydafish said:
Adding things to the system folder means nothing, the system partition is only check when a new system is flashed via (sbf_flash, rsdlite, or flashing a CG via an update.zip) otherwise you can add/remove items from the /system partition with no worries of the signatures.
Click to expand...
Click to collapse
I 100% agree i didnt say that was the end all.... the reason for doing this is so that the computer recoginizes the device in NVIDIAFlash mode and i than can hopefully overwrite the bootloader with the dev version of bootloader.bin
t0dbld said:
I 100% agree i didnt say that was the end all.... the reason for doing this is so that the computer recoginizes the device in NVIDIAFlash mode and i than can hopefully overwrite the bootloader with the dev version of bootloader.bin
Click to expand...
Click to collapse
That will not work, the bootloader is just one piece of a longer chain..changing that out "will" just have the phone reboot and use the backup bootloader. The problem to cracking it lies in all parts. Especially the NvRam where it begins and the MBR.
jimmydafish said:
That will not work, the bootloader is just one piece of a longer chain..changing that out "will" just have the phone reboot and use the backup bootloader. The problem to cracking it lies in all parts. Especially the NvRam where it begins and the MBR.
Click to expand...
Click to collapse
I very much respect all of the work you and your team has put into this situation with other devices, and i very much appreciate the help given by you guys to this forum, and no one including myself wants to waste time, so that being said i have not seen any ideas contributed ... only negative posts on what isnt going to work, i agree that you guys know more than me on this situation perhaps if you could share some of your ideas or the approach or direction you are going i and others could be of some help. We our fresh and not quite so beat up , its like when debuging a program thats driving you nuts and you cant figure out whats going wrong , sometimes a break, sleep, etc is in order so that when you come back your whole train of thought has been altered and you see something differently because you were not looking there before.
I follow instructions well, so lead... i am willing to donate my time my resources, and more than likely my device (at least for the next 29 days )
t0dbld said:
I very much respect all of the work you and your team has put into this situation with other devices, and i very much appreciate the help given by you guys to this forum, and no one including myself wants to waste time, so that being said i have not seen any ideas contributed ... only negative posts on what isnt going to work, i agree that you guys know more than me on this situation perhaps if you could share some of your ideas or the approach or direction you are going i and others could be of some help. We our fresh and not quite so beat up , its like when debuging a program thats driving you nuts and you cant figure out whats going wrong , sometimes a break, sleep, etc is in order so that when you come back your whole train of thought has been altered and you see something differently because you were not looking there before.
I follow instructions well, so lead... i am willing to donate my time my resources, and more than likely my device (at least for the next 29 days )
Click to expand...
Click to collapse
I am not being negative just helping you all steer clear of dead ends. We are looking over some files now and may have some useful tidbits soon. I think we can tell the boot chain from start to finish.
Great!! thanks for the update... on a side note esp in loom of this whole ps3 thing i hope motorola uses the same signing keys for all devices, so that if our day ever comes its x-mas for all

[Q] Altering Shutdown Message

Good Evening Guys,
A few quick questions for you this Wednesday evening; looking to make some customizations to my Windows Phone. I would like to alter the word "Goodbye" when the phone turns off to display alternative text.
Question 1: Is anyone familiar where these settings are stored in the root offhand?
Question 2: Can anyone confirm if this is simply text or a prerendered image?
Questin 2: Has anyone ever tried anything like this before?
Best Regards!
Device Type
Almost forgot:
Nokia 1020
OS:8.0.10521.155
Um... we can't even made the smallest of changes to the Lumia file system (outside of the user documents/media folders and the app folders) or registry. Trying to change system stuff like this is pretty out of the question.
Since you ask, though: to the best of my knowledge, nobody has found that even on the Samsung Ativ phones, for which we have most of a working "jailbreak".
The string that is displayed is probably pulled from a .MUI file.
Thanks for the feedback guys. If I make any headway, I will post back. Would love to have the device power down with "Will I dream?" from 2010 The Year We Made Contact.
That would indeed be cool. You've got an uphill battle, though. If it is, in fact, a .MUI file then it's probably signed (MUIs are technically DLLs, and although they are usually just loaded as resource files they can contain executable code so I expect Microsoft signs and enforces signature checks on them). Thus even if you get filesystem write access, it may not work.
A true custom ROM, where you could remove the signature check requirements, would probably work. That's no simple thing to ask for, though!
Shut Down Message
GoodDayToDie said:
That would indeed be cool. You've got an uphill battle, though. If it is, in fact, a .MUI file then it's probably signed (MUIs are technically DLLs, and although they are usually just loaded as resource files they can contain executable code so I expect Microsoft signs and enforces signature checks on them). Thus even if you get filesystem write access, it may not work.
A true custom ROM, where you could remove the signature check requirements, would probably work. That's no simple thing to ask for, though!
Click to expand...
Click to collapse
What is free time for if not to obsess over little niggly things? Thanks for the feedback

Categories

Resources