Related
Has anybody tried latest zImage and modules witch allows us to use 384 mb of RAM and 32 mb of Video Memory?
Kernel and modules are located here: http://oe.netripper.com/files/htcleo_autobuild/
zImage download link: http://oe.netripper.com/files/htcleo_autobuild/zImage-htcleo-increased-ram-latest
modules download link: http://oe.netripper.com/files/htcleo_autobuild/modules-htcleo-increased-ram-latest.tgz
To use this kernel we need to modify this line in STARTUP.TXT:
use ramaddr 0x18000000 (instead of 0x20000000)
you have me confused...are you saying we've been using less than 384MB all along (on Android)?
:O
Kev007 said:
you have me confused...are you saying we've been using less than 384MB all along (on Android)?
:O
Click to expand...
Click to collapse
Yes, at the moment we are using 245 mb of RAM (on Android).
Yeah, all actual builds only use 252MB of ram.
But do not be surprised, the kernel with 384MB misses the latest changes by cotulla (battery, lower power consumption ) because they have not been pushed to git yet.
Sent from my HTC Desire using XDA App
I haven't start with new android img, atm just edit the startup.txt and change zImage, change ramaddres itu 0x180000000, cannot boot into android, just stay at jumping to Kernel.
did I do something wrong here? or I should try with fresh android?
Haret freeze at jumping to kernel point. It doesn't work for me...
hendr1k said:
I haven't start with new android img, atm just edit the startup.txt and change zImage, change ramaddres itu 0x180000000, cannot boot into android, just stay at jumping to Kernel.
did I do something wrong here? or I should try with fresh android?
Click to expand...
Click to collapse
You have to copy provided modules in /system/lib
I added the new zimage and the new moddule but when I try to boot just hangs
at haret boot.
I put both files on the root of the sd card. I remate to zimage and modules I did not change. Also changed the startup text as iunstructed but no go.
DID I need to extract the files elsewhere?? Please advice.
Thanks in advance
if i'm not wrong we need copy the provided modules in /system/lib ( whit the old zimage and a working android system)
after this replace the zimage and edit the STARTUP.TXT whit:
use ramaddr 0x18000000 (instead of 0x20000000)
sea_man said:
if i'm not wrong we need copy the provided modules in /system/lib ( whit the old zimage and a working android system)
after this replace the zimage and edit the STARTUP.TXT whit:
use ramaddr 0x18000000 (instead of 0x20000000)
Click to expand...
Click to collapse
I did just that and got no further along.
but in this kernel gps work?
wifi75 said:
but in this kernel gps work?
Click to expand...
Click to collapse
All the changes Cotulla made over the last weeks are not included as he has not pushed all of his changes to git.
Not working
Sent from my HTC Desire using XDA App
With this over 50% increase in ram would be a significant increase/improvement in performance?
grusy said:
All the changes Cotulla made over the last weeks are not included as he has not pushed all of his changes to git.
Click to expand...
Click to collapse
Sorry to ask but what do you mean 'git', i'm learning fast but still unsure on a few things
elgrego4 said:
Sorry to ask but what do you mean 'git', i'm learning fast but still unsure on a few things
Click to expand...
Click to collapse
git is a source code revision control software that the developers use to store changes to the code...
http://en.wikipedia.org/wiki/Git_(software)
Cheers
Jonas
Yep, something's broken. Doesn't work for me either...
I find this very interesting. Will wait for this to be added in cotulla's public zimage package.
Bump?
10char
Well I got it working. I have more RAM, but a lot of things like Battery charging and other things are missing because Cotulla's code is missing in git.
So it's quite useless now.
PS: I have build my own kernel. It does not work with the autobuild kernel, at least for me.
Hello,
I have a successful install with Froyo build(3.1) by Darkstone, however I can't get the light sensor to work. EG adjust the screen brightness automatically.
Has anyone got any pointers?
Thanks
Wayne
try activating light sensor in winmo first...hope this help
how to activate light sensor in wm? any registry hacks?
funky81 said:
how to activate light sensor in wm? any registry hacks?
Click to expand...
Click to collapse
No Need any knowledge
Just swipe to the Settings Tab and hit Sound and Display and check the automatic light (or something like that
BTW what kernel are you using in Darkstone's build ? the one that came with it or a custom one ?
The reason why I'm asking coz I cant find the settings that you told me previously.
I'm using Chuckdroid WM,and I cant find it.
funky81 said:
The reason why I'm asking coz I cant find the settings that you told me previously.
I'm using Chuckdroid WM,and I cant find it.
Click to expand...
Click to collapse
Go into setting tab, press menu and all setting, look for system setting and display...
no need to get light sensor to work , its drivers are not working good , as well as the led (the only two missing features for full functional android )
5/10 dated new kernel's changelog has
htcleo: add backlight driver that uses the real backlight API
Maybe it works better.
Why don't you try and provide feedback?
http://oe.netripper.com/files/htcleo_autobuild_evo_tree/zImage-htcleo-latest
http://oe.netripper.com/files/htcleo_autobuild_evo_tree/modules-htcleo-latest.tgz
(rename zImage-htcleo-latest to just zimage and replace yours. extract bcm4329.ko and tun.ko file from the other archive and put it inside folder sdcard/Android/root/system/lib/modules If you don't have the appropriate folders, create them. Backup your files beforehand. (You need to backup .ko files from inside android, they are located at /system/lib/modules)
The change log for Nexus base kernel
Your link download is Evo base kernel
mistake by any chance?
justwonder said:
The change log for Nexus base kernel
Your link download is Evo base kernel
mistake by any chance?
Click to expand...
Click to collapse
No mistake. both changelogs list it.
http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=shortlog;h=refs/heads/htc-msm-2.6.32
http://www.gitorious.com/linux-on-wince-htc/linux_on_wince_htc
For kernels:
http://oe.netripper.com/files/htcleo_autobuild_evo_tree/
http://oe.netripper.com/files/htcleo_autobuild_nexus_tree/
Evo tree is used by new builds, and updated regularly.
memin1857 said:
5/10 dated new kernel's changelog has
htcleo: add backlight driver that uses the real backlight API
Maybe it works better.
Why don't you try and provide feedback?
http://oe.netripper.com/files/htcleo_autobuild_evo_tree/zImage-htcleo-latest
http://oe.netripper.com/files/htcleo_autobuild_evo_tree/modules-htcleo-latest.tgz
(rename zImage-htcleo-latest to just zimage and replace yours. extract bcm4329.ko and tun.ko file from the other archive and put it inside folder sdcard/Android/root/system/lib/modules If you don't have the appropriate folders, create them. Backup your files beforehand. (You need to backup .ko files from inside android, they are located at /system/lib/modules)
Click to expand...
Click to collapse
memin1857 said:
No mistake. both changelogs list it.
http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=shortlog;h=refs/heads/htc-msm-2.6.32
http://www.gitorious.com/linux-on-wince-htc/linux_on_wince_htc
For kernels:
http://oe.netripper.com/files/htcleo_autobuild_evo_tree/
http://oe.netripper.com/files/htcleo_autobuild_nexus_tree/
Evo tree is used by new builds, and updated regularly.
Click to expand...
Click to collapse
Yeah, but Evo kernel change log on 10/5, there is nothing about backlight driver as you said, htcleo: add lightsensor driver on 9/5 change log
On other hand Nexus kernel:
4 days ago Lukas D. Gorris htcleo: config: add missing backlight api driver
2010-08-28 Denis GNUtoo... htcleo: add backlight driver with standard API
Bottom line: none of them working correctly.
justwonder said:
Yeah, but Evo kernel change log on 10/5, there is nothing about backlight driver as you said, htcleo: add lightsensor driver on 9/5 change log
On other hand Nexus kernel:
4 days ago Lukas D. Gorris htcleo: config: add missing backlight api driver
2010-08-28 Denis GNUtoo... htcleo: add backlight driver with standard API
Bottom line: none of them working correctly.
Click to expand...
Click to collapse
Cllick the word "commits" to see details when multiple commits are pushed at the same time. You will see its there...
http://www.gitorious.com/linux-on-wince-htc/linux_on_wince_htc/commit/574f071beac115cf2fee87b88a7056fdb5acc0e6
Sent from my Desire HD using XDA App
memin1857 said:
Cllick the word "commits" to see details when multiple commits are pushed at the same time. You will see its there...
http://www.gitorious.com/linux-on-w...mmit/574f071beac115cf2fee87b88a7056fdb5acc0e6
Sent from my Desire HD using XDA App
Click to expand...
Click to collapse
Thanks for pointed that out.
I did try, but it didn't work correctly, sometimes it turned my screen into completely darkness.
As far as I know, light sensor doesn't work on any current Android builds to this date.
Here's a script I've built for my own ROM cooking purpose
another purpose was to create a very easy to read script, so everyone can understand the magic of deodex
had some hard time figuring all the BOOTCLASSPATH and all the signing magic (if you want to do it manually, the secret is: don't pack and sign!, just add the classes.odex to the original jar or apk...whatever...
or use my script to automagically do all that)
after one brick and jtag reincarnation and a few bootloops
I present to you:
DEODEXERIOUS !! (the only spartan deodex script)
requirements:
Linux
zip
* tested on my Ubuntu 10.10
instructions:
1. extract the included script
2. put the content of system(including the system folder) inside the rom folder
actually you can create a folder named system inside the rom folder and copy framwork and app folder there, it does not require any other files from the rom
3. while in the console inside the extracted script directory execute from the console
Code:
./deodexrom.sh
4. wait and watch the console for errors (there shouldn't be any)
5. when it is done, you should find the deodexed files inside the deodexed folder
* if you want to start over just execute from the same place in the console
Code:
./cleanall.sh
tested and successfully deodexed:
I897 UCKB1
I9088 KP2
I9088 ZNKP5
I9000 XXJPY
I9000 XWJS3
I9000 XWJS5
I9000 ZSJPG
I9000 XWJV1 2.3.2, except email.apk
it does not support already deodexed rom's!!! (why should it?)
if you test other raw versions (even captivate ones) please inform the result, or problems found, I'll do my best to help
careful
the script is a very initial version
it does inform errors human readable so watch the console for them
oh! almost forgot , here's the script:
http://dl.dropbox.com/u/3595341/deodexerious/deodexerious_03.zip
change log:
04/03/2011 - deodexerius_03
added gingerbread XWJV1 2.3.2 - custom classpaths
smali and baksmali 1.2.6
case insensitive classpath helpers
note:
deodexerius can deodex all XWJV1 2.3.2, except email.apk
27/02/2011 - deodexerius_02
better support for the additional files in kp5 and kp2
good luck!!
To Be Continued
If someone could come up with one of these for windows they would be my hero
Sent from my GT-I9000 using XDA App
rob989_69 said:
If someone could come up with one of these for windows they would be my hero
Sent from my GT-I9000 using XDA App
Click to expand...
Click to collapse
kind of like this one?
http://forum.xda-developers.com/showthread.php?t=700904
omg
You saved my life man... thanks a billion! And add a donate link, I know I'd like to send a few bucks your way
Pirateghost said:
kind of like this one?
http://forum.xda-developers.com/showthread.php?t=700904
Click to expand...
Click to collapse
If this works you are my hero!!! LOL. I've found a number of different ones, either they don't work or I'm not using them correctly but this one is new to me. Thanks.
rob989_69 said:
If someone could come up with one of these for windows they would be my hero
Click to expand...
Click to collapse
sorry man no windows version.
ytt3r said:
You saved my life man... thanks a billion! And add a donate link, I know I'd like to send a few bucks your way
Click to expand...
Click to collapse
your'e welcome.
rob989_69 said:
If this works you are my hero!!! LOL. I've found a number of different ones, either they don't work or I'm not using them correctly but this one is new to me. Thanks.
Click to expand...
Click to collapse
oh it works....
Just used this on KP2, works great, thanks!
existz said:
Just used this on KP2, works great, thanks!
Click to expand...
Click to collapse
great news!
works great with xwjs3
This is great. Works on the new KB1.
I keep seeing this while the script is running
Compiling classes.dex from rom/system/framework/framework-tests
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.raiseBoundsError(libgcj.so.11)
at java.util.ArrayList.checkBoundExclusive(libgcj.so.11)
at java.util.ArrayList.get(libgcj.so.11)
at org.jf.dexlib.DexFile$2.placeAt(DexFile.java:783)
at org.jf.dexlib.DexFile.place(DexFile.java:659)
at org.jf.smali.main.fixInstructions(main.java:255)
at org.jf.smali.main.main(main.java:203)
Packing
Cleaning up
Done.
Cleaning up
Do I have to worry? I am going to try it again when it all completes, just want to make sure I am not missing anything
|OP|
it does not support already deodexed rom's!!! (why should it?)
Click to expand...
Click to collapse
what if you wanted to deodex a single new app? just redo the whole thing?
Trusselo said:
what if you wanted to deodex a single new app? just redo the whole thing?
Click to expand...
Click to collapse
To deodex a single app, you need to keep the deodexed framework files around. Then you can just do that app by pulling the code bits out of the framework.
Sent from my SAMSUNG-SGH-I897 using XDA App
Trusselo said:
what if you wanted to deodex a single new app? just redo the whole thing?
Click to expand...
Click to collapse
baksmali/smali + about 6 or 7 framework jars + cmd prompt = win!
How can I verify that the Deodex worked? I ran the script a couple times last night just to see what happens and then dropped the files in on my phone. Everything is working fine, just wanted to know how I can verify its deodexed.
nakedninja42 said:
How can I verify that the Deodex worked? I ran the script a couple times last night just to see what happens and then dropped the files in on my phone. Everything is working fine, just wanted to know how I can verify its deodexed.
Click to expand...
Click to collapse
do you see any .odex files named the same as your apks?
nakedninja42 said:
How can I verify that the Deodex worked? I ran the script a couple times last night just to see what happens and then dropped the files in on my phone. Everything is working fine, just wanted to know how I can verify its deodexed.
Click to expand...
Click to collapse
if you don't see errors like the one quoted bellow, then you should be fine.
nakedninja42 said:
I keep seeing this while the script is running
Compiling classes.dex from rom/system/framework/framework-tests
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.raiseBoundsError(libgcj.so.11)
at java.util.ArrayList.checkBoundExclusive(libgcj.so.11)
at java.util.ArrayList.get(libgcj.so.11)
at org.jf.dexlib.DexFile$2.placeAt(DexFile.java:783)
at org.jf.dexlib.DexFile.place(DexFile.java:659)
at org.jf.smali.main.fixInstructions(main.java:255)
at org.jf.smali.main.main(main.java:203)
Packing
Cleaning up
Done.
Cleaning up
Do I have to worry? I am going to try it again when it all completes, just want to make sure I am not missing anything
Click to expand...
Click to collapse
actually this is an error, it means it failed to deodex this file
please provide more information, the reason can be many things:
java version
base rom
did you provide the full rom or only the file you mentioned?
provide more information and ill see what can be done.
ih4ckback said:
This is great. Works on the new KB1.
Click to expand...
Click to collapse
awesome.
marcelo.waisman said:
if you don't see errors like the one quoted bellow, then you should be fine.
actually this is an error, it means it failed to deodex this file
please provide more information, the reason can be many things:
java version
base rom
did you provide the full rom or only the file you mentioned?
provide more information and ill see what can be done.
awesome.
Click to expand...
Click to collapse
I am use the same KB1 that hit the forums yesterday that i4ackback stated that works for him. I installed Ubuntu 10.10 and installed Java from the software manager, not sure if its the right one. I started copying the full system folder but ended up only extracting just app and framework just like the OP states. That message appears throughout the process but I end up with everything in the deodexed folder.
Sent from my SAMSUNG-SGH-I897 using XDA App
For example I want to use GingerDX + FXP028 OC Kernel, but Wi-Fi is not working! As I understand we need to replace wifi driver, that is located in /system/lib/modules/tiwlan_drv.ko If you have FXP028, please post this module.
But I don't know if sdio.ko is needed to. This can be usefull to many people.
Here is all three files from /system/lib/modules
dbts25 said:
Here is all three files from /system/lib/modules
Click to expand...
Click to collapse
Thank you very much, but can you give me FXP028 OC Kernel? The HotFile link is broken.
dbts25 said:
Here is all three files from /system/lib/modules
Click to expand...
Click to collapse
I paste the files in system/llb/modules but i still get wifi error
FXP have wifi drivers inside kernel AFIK, I`m not sure that placing modules can give us anything.
rav3n_pl said:
FXP have wifi drivers inside kernel AFIK, I`m not sure that placing modules can give us anything.
Click to expand...
Click to collapse
You got it wrong... Example I use GingerDX and I WANT to use FXP kernel, but wifi is not working. That's the only reason, I don't use FXP kernel with GingerDX. You can easily fix wifi by replacing modules that are in ROM not kernel.
FXP ROM
velnens123 said:
You got it wrong... Example I use GingerDX and I WANT to use FXP kernel, but wifi is not working. That's the only reason, I don't use FXP kernel with GingerDX. You can easily fix wifi by replacing modules that are in ROM not kernel.
Click to expand...
Click to collapse
Actually, on FXP init.d there's a cpmodules which load the three wi-fi files from the kernel to the system/lib/modules from the rom. Also, there's a modules folder with the exact same files, and two other init.d config files related to wi-fi.
I've tried to copy files from inside the kernel to their correct location within the ROM, set all the permissions, but I was not able to have wi-fi on FXP/GDX combo, which is really a shame.
if you can fix it, please share.
Also, if I made an incorrect statement here, please forgive me as I am a noob.
ok I have to enter at least 10 characters....
edit: decided to wright something anyway I think the "things" in modules folder are libraries not drivers (btw the image is from developer.android.com) and all the drivers are in the kernel (according to...) and all the problems come from kernel...FXP said that they figured out what the problem was in their kernel but didn't share it...I guess it's in the gutlib account...anyway I ain't no dev so don't mind me
Hi hackers,
i know about the common method described by chulri, to compile custom kernels and it works well.
Anyway for kernel only experiments this way is little too bloated.
EDIT3:
So here's my standalone toolchain for archos (build with modified buildroot system for 32Bit linux OS):
arm-archos GCC4.4.1 for ARM uClinux (uClibc C library 0.9.30 with Archos specific tweaks and bugfixes)
http://dl.dropbox.com/u/8815400/arm-archos.tar.gz
EDIT5:
The toolchain does not work on a 64Bit OS.
I'll post a link for the 64Bit version soon.
Only for reference:
There are a lot of external solutions to be found in the web.
E.g. there are different flavoured toolchains based on gcc 4.4.1 from Mentor Graphics (formerly known as Codesourcery):
Sourcery G++ Lite 2010q1-188 for ARM EABI (Newlib C library 1.17.0)
Sourcery G++ Lite 2010q1-189 for ARM uClinux (uClibc C library 0.9.30)
Sourcery G++ Lite 2010q1-202 for ARM GNU/Linux (GNU C library 2.11)
So if i restrict my activities on kernel compilation all three should do the job.
I made a custom kernel using the above mentioned GNU C toolchain, all compiles fine, but did not test it yet.
This is next... i need to find an easy way to test my tweaked kernels.
So far i would recommend UrukDroid running and use the recovery menu to exchange the kernel & ramdisk.
Any comments are welcome.
Unfortunately our devices use also some binary only kernel modules which are not supported by this method:
hmditx.ko (though marked as GPL, we got no sources)
hdmicec.ko (same here)
UPDATE: Sources had been published by Archos at gitorious.
nwolc.ko (proprietary module from NXP)
BTW, someone should contact the author Andre Lepine to hand out the GPL'ed source code
If i got it right, all custom kernels had been build using the buildroot system because of these.
AFAIK using another toolchain would result in a completely different system map and prevent the modules to load.
Anyway if we exclude HDMI and tweak some start scripts to prevent the modules to get loaded, we'll be fine.
Would be nice to start some discussion up here or leave a comment.
I'd also like to get some tricks form the cracks
EDIT:
Sure there's also Ti's wireless driver package which has to be integrated to compile tiwlan_drv.ko.
Need to do some research to find the correct package.
Any hints are welcome!
EDIT2:
Anyone tried to compile a gen8 kernel using the new gen9 kernel source?
Everything seems to be there...
EDIT4:
See above! The toolchain works very nice.
It had been specially compiled for external use and in the meantime it was tested on many different hosts.
Instructions how to install and use it could be found here:
http://forum.xda-developers.com/showpost.php?p=19134490&postcount=8
Thanks a lot for your attention!
Regards,
scholbert
One question: What's so much better about that toolchain to throw away the Archos-compatible toolchain and deal with the hassle of excluding features to build compatible binaries? I guess I didn't get the point
chulri said:
One question: What's so much better about that toolchain to throw away the Archos-compatible toolchain and deal with the hassle of excluding features to build compatible binaries? I guess I didn't get the point
Click to expand...
Click to collapse
Like i tried to point out:
Anyway for kernel only experiments this way is little too bloated.
Click to expand...
Click to collapse
A neat little cross toolchain environment would be enough for kernel experiments.
I'm working on different platforms e.g. old Debian 4.0 workstation, Netbook with UNR 11 but limited space, other linux machines i don't like to run entire process.
You need a lot of disk space and time (at least first time to build the whole environment).
The other thing is that everything is built into the buildroot structure, you could barely locate the toolchain itself...
Sure your right, if you say everthing works out of the box, but i don't like all these automated procedures, to build my own kernel.
In fact that's just it and i wonder if there's another way.
Just kernel source + cross-toolchain...
Apart from that, the toolchain Sourcery G++ Lite 2010q1-189 for ARM uClinux (uClibc C library 0.9.30) is very close to the Archos one.
BTW, anyone tried to tweak the Archos build script to built the toolchain for external use?
Cheers,
scholbert
scholbert said:
So if i restrict my activities on kernel compilation all three should do the job.
I made a custom kernel using the above mentioned GNU C toolchain, all compiles fine, but did not test it yet.
Click to expand...
Click to collapse
Hi Scholbert!
I've been doing the same for my kernels, it compiles and runs fine, wifi loads without any particular tweak with the original Archos compiled module, but I didn't check hdmi as I don't have cable for it. I'm using a cm7 toolchain to build it (arm-eabi-4.4.3) though.
scholbert said:
This is next... i need to find an easy way to test my tweaked kernels.
So far i would recommend UrukDroid running and use the recovery menu to exchange the kernel & ramdisk.
Click to expand...
Click to collapse
My setup is a bit different since I patched bootloader: I have my "stable" build on normal boot (/rawfs/init) and my dev build on sde (/rawfs/custom), and I flash my kernel directly from my stable build without going through recovery.
I just do adb push kernel and initrd, then directly on device a "kd_flasher -k kernel -i initrd", and I reboot from normal to sde with a "reboot_into sde". It's really quick this way, I just have a script on my linux box to do all this.
I believe you can do the same without patched bootloader with a temproot on secure archos build.
scholbert said:
EDIT2:
Anyone tried to compile a gen8 kernel using the new gen9 kernel source?
Everything seems to be there...
Click to expand...
Click to collapse
Yes, I'm playing with it. I don't know what device you have, but mine (A70S) was not finished in Archos sources: board-archos-a70s is almost empty, panel wasn't finished... I add stuff slowly (still learning Omap, I know Qualcomm better), my kernel boots, I currently have framebuffer, internal mmc and usb working.
Hi letama!
letama said:
I've been doing the same for my kernels, it compiles and runs fine, wifi loads without any particular tweak with the original Archos compiled module, but I didn't check hdmi as I don't have cable for it. I'm using a cm7 toolchain to build it (arm-eabi-4.4.3) though.
Click to expand...
Click to collapse
Cool that's nice information.
Interesting that the tiwlan_drv.ko loads without problems.
Just to start an experiment, i started to shrink down the buildroot setup from Archos and built the gcc 4.4.1 toolchain only.
But it's not finished yet...
letama said:
My setup is a bit different since I patched bootloader: I have my "stable" build on normal boot (/rawfs/init) and my dev build on sde (/rawfs/custom), and I flash my kernel directly from my stable build without going through recovery.
Click to expand...
Click to collapse
O.k. i see, sounds like a clean environment this way.
In fact there's no need for this sqashfs thing anymore...
I already got the SDE's avboot version installed. This version is little bigger in size and obviously got some add-on's.
The same byte signature could be found here, so i guess the hack would match this avboot version as well.
Maybe i give it a try.
letama said:
I just do adb push kernel and initrd, then directly on device a "kd_flasher -k kernel -i initrd", and I reboot from normal to sde with a "reboot_into sde". It's really quick this way, I just have a script on my linux box to do all this.
Click to expand...
Click to collapse
Cool, sounds like a nice development platform this way.
letama said:
I believe you can do the same without patched bootloader with a temproot on secure archos build.
Click to expand...
Click to collapse
Mmmh i thought about using it from UrukDroid...
Anyway, the way you do it sounds more elegant.
letama said:
Yes, I'm playing with it. I don't know what device you have, but mine (A70S) was not finished in Archos sources: board-archos-a70s is almost empty, panel wasn't finished... I add stuff slowly (still learning Omap, I know Qualcomm better), my kernel boots, I currently have framebuffer, internal mmc and usb working.
Click to expand...
Click to collapse
I got an A101... looks little better here, but i did not compile the kernel yet.
Anyway, would be nice to have a complete kernel (incl. wireless and HDMI base code) in the end which compiles fine with latest gcc and runs out of the box
Thanks a lot for your extensive reply!!!
Regards,
scholbert
scholbert said:
I already good the SDE's avboot version installed. This version is little bigger in size and obviously got some add-on's.
The same byte signature could be found here, so i guess the hack would match this avboot version as well.
Maybe i give it a try.
Click to expand...
Click to collapse
Yes, it's the same signature, I verified it with IDA before installing sde, only location differs. You should be fine as long as you don't have multiple matches. If you want my code to patch it, let me know... You'd have to adapt the offsets but it would be probably safer than doing it manually.
Regarding kernel development, I forgot one big advantage to have patched bootloaders: ram_console! I built my "stable" and "dev" kernels with it, so I just have to make my dev kernel to crash to reboot and get the full dmesg with "cat /proc/last_kmsg" even if framebuffer or usb don't work .
scholbert said:
I got an A101... looks little better here, but i did not compile the kernel yet.
Anyway, would be nice to have a complete kernel (incl. wireless and HDMI base code) in the end which compiles fine with latest gcc and runs out of the box
Click to expand...
Click to collapse
Yes, gen9 sources look better for A101, I took them as base for my A70 and it's almost ok. I took away hdmi as it seems a bit too hackish, I'll see later . I also had some issue with gp timers that wouldn't use 32K clock, I'd be curious to see a dmesg on a gen9 tablet.
Right now I'm fighting with usb that kills video driver looonng way to go before having a fully functional kernel.
letama said:
Yes, it's the same signature, I verified it with IDA before installing sde, only location differs. You should be fine as long as you don't have multiple matches. If you want my code to patch it, let me know... You'd have to adapt the offsets but it would be probably safer than doing it manually.
Click to expand...
Click to collapse
Thanks for offering your tool.
Guess it's the same you once posted in that thread about changing bootlogo.
I had a look at the soruces once.
Anyway i already prepared a patched bootblock. Did not re-write it yet
Time is lacking...
letama said:
Regarding kernel development, I forgot one big advantage to have patched bootloaders: ram_console! I built my "stable" and "dev" kernels with it, so I just have to make my dev kernel to crash to reboot and get the full dmesg with "cat /proc/last_kmsg" even if framebuffer or usb don't work .
Click to expand...
Click to collapse
Yupp that's nice... have you seen my UART hack?
letama said:
Yes, gen9 sources look better for A101, I took them as base for my A70 and it's almost ok. I took away hdmi as it seems a bit too hackish, I'll see later . I also had some issue with gp timers that wouldn't use 32K clock, I'd be curious to see a dmesg on a gen9 tablet.
Right now I'm fighting with usb that kills video driver looonng way to go before having a fully functional kernel.
Click to expand...
Click to collapse
Guess i will try to compile this kernel soon.
No time for that right now.
Made some efforts to built special toolchain.
See the upcoming post...
Big thanks for participating!!!
Regards,
scholbert
Ready to use Archos specific toolchain
Hi again,
three simple steps to build UrukDroid custom kernel/modules:
1. Grab my customized toolchain and install it (see first post).
The toolchain is configured to work on mostly any 32Bit linux host (min. libc 2.3.6, should work down to Debian 4.0, Ubuntu 8.04 and similar).
The toolchain must be extracted and placed at /opt on your host machine (x86).
To run it as a user you might change the properties for /opt directory to match the user's rights.
You also could extract the archive as root and run:
chown -R 1000:1000 /opt/arm-archos
To make it more comfortable:
Modify user's .bashrc file to include the path to the toolchain:
export PATH=$PATH:/opt/arm-archos/usr/bin
2. Grab UrukDroid kernel sources and compile.
UrukDroid kernel sources could be found here:
http://sauron.pourix.com/UrukDroid/UrukDroid-1.5/UrukDroid-1.5.1-kernelsrc.tar.bz2
You might extract the sources anywhere you like.
After this has been done, step into the kernel source root directory.
Modify Makefile to use the Archos toolchain (line 199):
Code:
...
# Alternatively CROSS_COMPILE can be set in the environment.
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?= arm-linux-uclibcgnueabi-
...
cp linux.config .config
make oldconfig
make zImage
make modules
make modules_install INSTALL_MOD_PATH=/my_kernel/modules/
3. Transfer the binaries to your Archos device.
Right now there's no need to exchange the kernel, because we use $auron's base setup for the kernel.
Place your custom modules at /lib/modules
TBC
scholbert
scholbert said:
Thanks for offering your tool.
Guess it's the same you once posted in that thread about changing bootlogo.
I had a look at the soruces once.
Anyway i already prepared a patched bootblock. Did not re-write it yet
Time is lacking...
Click to expand...
Click to collapse
Yes, it's roughly the same code. You did patch both location ?
scholbert said:
Yupp that's nice... have you seen my UART hack?
Click to expand...
Click to collapse
Yes, saw it, it would be very nice to have console on serial, but I don't want to open my A70 yet as it's still has warranty running. I may try that if I can find parts and if I get a gen9 as "main".
scholbert said:
Guess i will try to compile this kernel soon.
No time for that right now.
Click to expand...
Click to collapse
Great! Let me know if you have something, I'd be very interested in a dmesg.
I somehow "fixed" my video driver problem (well, not really fixed, adding traces made it go away ), now I'm trying to get SurfaceFlinger works. Sgx driver doesn't seem to play nice with .29 userspace binaries, I'm not sure I'd be able to go much further without new binaries.
scholbert said:
Made some efforts to built special toolchain.
See the upcoming post...
Click to expand...
Click to collapse
Nice! I'll try to take a look at it when I find some time.
Hey letama,
sorry for the delay...
letama said:
Yes, it's roughly the same code. You did patch both location ?
Click to expand...
Click to collapse
Yepp, both locations are patched.
As we already pointed out, there the rawfs header contains some checksums and avboot is the first file in there.
What do you think, if i manually change some bytes in avboot and leave the checksum untouched, will there be any problems?
letama said:
Yes, saw it, it would be very nice to have console on serial, but I don't want to open my A70 yet as it's still has warranty running. I may try that if I can find parts and if I get a gen9 as "main".
Click to expand...
Click to collapse
O.k. if there's warranty on your device, i totally agree.
letama said:
Great! Let me know if you have something, I'd be very interested in a dmesg.
Click to expand...
Click to collapse
Need more time
letama said:
I somehow "fixed" my video driver problem (well, not really fixed, adding traces made it go away ), now I'm trying to get SurfaceFlinger works. Sgx driver doesn't seem to play nice with .29 userspace binaries, I'm not sure I'd be able to go much further without new binaries.
Click to expand...
Click to collapse
Yeah guess there are some changes in the drivers API.
letama said:
Nice! I'll try to take a look at it when I find some time.
Click to expand...
Click to collapse
So far i tested it, the toolchain works out very nice.
Concerning kernel compilation:
It seems the binaries are quite well optimized in size. No problems so far.
I found out that in stock ROM they used some strip command to make the modules even smaller.
Anyway won't speed things up significantly i guess...
Concerning userland apps:
Though my genereated uClibc is little bigger in size, i noticed no problems so far. A binary comparison between the libaries (stock vs mine), shows little differences though.
Anyway, would be nice if people use it and report...
Have a nice day!
scholbert
Hi Scholbert!
scholbert said:
sorry for the delay...
Click to expand...
Click to collapse
No problem, I'm also busy as hell...
scholbert said:
Yepp, both locations are patched.
As we already pointed out, there the rawfs header contains some checksums and avboot is the first file in there.
What do you think, if i manually change some bytes in avboot and leave the checksum untouched, will there be any problems?
Click to expand...
Click to collapse
Well, I didn't touch checksums either, and it seems they're not checked anywhere else, so you should be good. As long as you patched both location before reboot, you should be ok.
scholbert said:
Yeah guess there are some changes in the drivers API.
Click to expand...
Click to collapse
I made some progress there, I took LG P970 3D binaries with driver source code from their cm7 kernel (they also have a 2.6.35) and I was able to boot up to launcher. I had to fiddle a bit with audio runtime as phone audio won't work, but low level audio driver is working too. Next step is touchscreen... And probably doing a proper cm7 build, I'm running a frankenstein mix of cm7 for nook tablet
scholbert said:
So far i tested it, the toolchain works out very nice.
Click to expand...
Click to collapse
I tried it briefly yesterday as I borked my kernel config at some point and it was crashing my usual toolchain, it doesn't run on my comp: "error while loading shared libraries: libmpfr.so.1: wrong ELF class: ELFCLASS64". Ubuntu 11.10 64 bits...
Best,
LeTama
letama said:
Well, I didn't touch checksums either, and it seems they're not checked anywhere else, so you should be good. As long as you patched both location before reboot, you should be ok.
Click to expand...
Click to collapse
Yeah guessed so... the russian guy who first tried this hack also never mentioned anything like this. So it'll be safe then.
letama said:
I made some progress there, I took LG P970 3D binaries with driver source code from their cm7 kernel (they also have a 2.6.35) and I was able to boot up to launcher. I had to fiddle a bit with audio runtime as phone audio won't work, but low level audio driver is working too. Next step is touchscreen... And probably doing a proper cm7 build, I'm running a frankenstein mix of cm7 for nook tablet
Click to expand...
Click to collapse
Wow sounds pretty like a "frankengenius" software design.
Good work!
Have you seen that Archos released part of the hdmi code as external driver code. So the kernel is even more open now (speaking of 2.6.29).
Sometimes their cooperation is very nice.
About two weeks ago i contact the author at NXP, then last week i wrote to Archos and on thursday they released it. Not bad...
Anyway they ought to release the source, even without mentioning it.
It's just GPL code.
letama said:
I tried it briefly yesterday as I borked my kernel config at some point and it was crashing my usual toolchain, it doesn't run on my comp: "error while loading shared libraries: libmpfr.so.1: wrong ELF class: ELFCLASS64". Ubuntu 11.10 64 bits...
Click to expand...
Click to collapse
Sure the toolchain is compiled for 32Bit systems, forgot to mention this.
So it will never work on a 64Bit system.... sorry
Cheers,
scholbert
scholbert said:
Have you seen that Archos released part of the hdmi code as external driver code. So the kernel is even more open now (speaking of 2.6.29).
Click to expand...
Click to collapse
Didn't see it, very nice! HDMI is a low on my priority list, but it's good to have source code, it will help porting it. Even though my efforts on this kernel will slow a bit as I purchased today a gen9 and ICS source code is out .
At first glance, boot process and layout looks very similar to our gen8, same rawfs, a custom file that would indicate that we should get SDE, so far so good. Need to spend some quality time with hex editor and IDA now .
Damn work, I need 72 hours days!
scholbert said:
Sure the toolchain is compiled for 32Bit systems, forgot to mention this.
So it will never work on a 64Bit system.... sorry
Click to expand...
Click to collapse
No problem, just wanted to give a bit of feedback.
@letama:
Wouldn't it be alot more productive for you and us if you would somehow join your affort with the guys from openaos?
cm7 and then cm9 would be here faster the more experienced devs are helping.
fzelle said:
@letama:
Wouldn't it be alot more productive for you and us if you would somehow join your affort with the guys from openaos?
cm7 and then cm9 would be here faster the more experienced devs are helping.
Click to expand...
Click to collapse
Hi fzelle,
Well, I'm only learning slowly, they're far more experienced than me on Archos. My main goal is to understand omap platform, that's why I'm toying with the 2.6.35 kernel. Cm7 is only a convenient for way me to make sure the kernel behaves well. I don't seek a perfect cm7/archos experience for all devices as they do, but if at some point I learned enough, I may try to help if I can.
LeTama
CM7 for Archos atm is based on the 2.6.29 kernel delivered from Archos, so your kernel is far more advanced.
And if you got 2.6.35 to work properly, the guys over at openaos would probably be happy to use that.
fzelle said:
CM7 for Archos atm is based on the 2.6.29 kernel delivered from Archos, so your kernel is far more advanced.
And if you got 2.6.35 to work properly, the guys over at openaos would probably be happy to use that.
Click to expand...
Click to collapse
Yes, 2.6.35 should match better gingerbread code. If I can go somewhere, I'll share it. Currently, I'm far from that, still having troubles with usb and a big piece will be power management. We'll see, but I'm a bit out of free time.
Hey letama,
i guess fzelle is right.
AFAIK, the openaos developers concentrate on the Android part for gen8. As stated they still use 2.6.29 and this no problem so far.
But a kernel project might run in parallel.
Would be nice to get the new kernel working at least for A70 and A101.
I started a build for A101 (...and still compiling), maybe we could share our .config file
EDIT: Aaaaaargh, still fighting with the kernel config/compile errors.
Wifi/BT framework issue.... RFKILL_STATE_UNBLOCKED etc. seems not to be implemented anymore...
letama said:
I made some progress there, I took LG P970 3D binaries with driver source code from their cm7 kernel (they also have a 2.6.35) and I was able to boot up to launcher. I had to fiddle a bit with audio runtime as phone audio won't work, but low level audio driver is working too. Next step is touchscreen... And probably doing a proper cm7 build, I'm running a frankenstein mix of cm7 for nook tablet
Click to expand...
Click to collapse
The SGX part is an open issue i guess, but there's some support form Ti as well. E.g.: https://gforge.ti.com/gf/project/openmax/frs/
Remember the Beagleboard-XM is very similar to what we got on our devices.
Also Zoom3 platform, so maybe their repository is a good starting point for these addon's as well.
In fact using the OMAP might be a benefit in general, because there are so many opensource projects covering this architecture
Happy hacking!
scholbert
Hi Scholbert,
scholbert said:
i guess fzelle is right.
AFAIK, the openaos developers concentrate on the Android part for gen8. As stated they still use 2.6.29 and this no problem so far.
But a kernel project might run in parallel.
Would be nice to get the new kernel working at least for A70 and A101.
Click to expand...
Click to collapse
Agreed! It would be nice if we could develop both A70 and A101 in parallel, sharing will speed things up.
scholbert said:
I started a build for A101 (...and still compiling), maybe we could share our .config file
Click to expand...
Click to collapse
I attached my current one, I added one config option that you don't have, CONFIG_MUSB_ERRATA_445, you can remove the line. I'm not sure I have the config right, but it boots and has quite a lot of stuff working. You need to re-add A10IT board though.
scholbert said:
The SGX part is an open issue i guess, but there's some support form Ti as well. E.g.: https://gforge.ti.com/gf/project/openmax/frs/
Click to expand...
Click to collapse
Well, for me it's no longer an issue, I think what I did is the best we can do until we can get a hand on Archos binaries for 3630. The issue is that you have to have proprietary binaries, they must match driver version, and the binaries I have from P920 works fine even though maybe not as recent as Archos ones. There is no open source implementation afaik. OpenMax is only for video codec, not 3D.
scholbert said:
Happy hacking!
Click to expand...
Click to collapse
Thanks, you too! You have a mission now! Let's get this kernel running on A101
Hi letama!
letama said:
Agreed! It would be nice if we could develop both A70 and A101 in parallel, sharing will speed things up.
Click to expand...
Click to collapse
To be honest i meant developing openaos and kernel in parallel. Who ever does it
Anyway, as i wrote it... i started to play around with the new kernel.
It's hard for me these days to find some time for hacking and i'm not a genius in modifying kernel drivers and stuff.
So in fact i don't know how far i will get things rollin'
letama said:
I attached my current one, I added one config option that you don't have, CONFIG_MUSB_ERRATA_445, you can remove the line. I'm not sure I have the config right, but it boots and has quite a lot of stuff working. You need to re-add A10IT board though.
Click to expand...
Click to collapse
Thanks a lot. I will compare your config with my setup.
Already found some missing parts in the board file...
letama said:
Well, for me it's no longer an issue, I think what I did is the best we can do until we can get a hand on Archos binaries for 3630. The issue is that you have to have proprietary binaries, they must match driver version, and the binaries I have from P920 works fine even though maybe not as recent as Archos ones. There is no open source implementation afaik. OpenMax is only for video codec, not 3D.
Click to expand...
Click to collapse
Ah i see, so i'll take a look at the binaries.
I guess you meant P970, as stated earlier.
letama said:
Thanks, you too! You have a mission now! Let's get this kernel running on A101
Click to expand...
Click to collapse
Haha, as stated above... nice mission anyway
BTW, did you see there are some nice projects at gitorious.
A 2.6.37 kernel port for A43 and A101 had also been started already.
I had a short look at some parts... don't know about the exact state of the code.
Let's stay in touch!
Best regards,
scholbert