Yet another custom kernel thread (special toolchain included) - Gen8 General

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

Related

[Q] want to compile CM7 - easy dev

So i would like to edit easy Dev to compile CM7 but I'm a linux newbie. I'm not afraid to admit it. Currently i'm on Ubuntu 10.10 Netbook remix, just running it off of a pendrive. How hard would it be to edit it to compile CM7 instead of CM6?
It IS Lupus said:
So i would like to edit easy Dev to compile CM7 but I'm a linux newbie. I'm not afraid to admit it. Currently i'm on Ubuntu 10.10 Netbook remix, just running it off of a pendrive. How hard would it be to edit it to compile CM7 instead of CM6?
Click to expand...
Click to collapse
Well... You'll need a vendor tree first. And you'll have to run it on a 64-bit box with 64-bit linux. You have to change 'froyo' to 'gingerbread' in EasyDev, so it will grab CM7 source. There will also be some other differences to work out.
As soon as there's a vendor tree available and I have the time to test, I'll finish up EasyDev v7. Some of the additions that I have actually worked on so far are:
1) two or three bug fixes
2) adding CM7
3) adding option to install tiny or full gapps
The CM6 code has been unstable recently in addition to koush's hosting having issues, so I have had plenty of speed bumps in addition to real life stuff.
So... If you can wait on me, that's fine. If not, go for it! Feel free to post your code changes in the thread. We'll take any help we can get.
gnarlyc said:
And you'll have to run it on a 64-bit box with 64-bit linux.
Click to expand...
Click to collapse
Conap mentioned this before as well - just out of curiosity, do you know what the dependency is that requires x64? The compilation target is an ARM device, so I can't imagine that it is a library issue... is it simply a matter that one of the compilation/build tools needs more than 3-4 Gigs of VM?
I remember that building the kernel source trees on a uniprocessor would come to a halt if you tried it on a linux box with less than about 768 Mb of RM, but hitting the 32-bit limit (3-4Gb) with build tools seems kinda surprising.
bftb0
bftb0 said:
Conap mentioned this before as well - just out of curiosity, do you know what the dependency is that requires x64? The compilation target is an ARM device, so I can't imagine that it is a library issue... is it simply a matter that one of the compilation/build tools needs more than 3-4 Gigs of VM?
I remember that building the kernel source trees on a uniprocessor would come to a halt if you tried it on a linux box with less than about 768 Mb of RM, but hitting the 32-bit limit (3-4Gb) with build tools seems kinda surprising.
bftb0
Click to expand...
Click to collapse
I honestly wasn't sure, but a quick Google search...
http://groups.google.com/group/android-building/browse_thread/thread/852d63ab6124c87e
This is a post from the Android Building group. It appears to be a JDK issue. I've not really tested either way as of yet, although apparently Google says "use a 64-bit host to build, that's what is supported."

[VMWare Image][9-DEC-2011] Android AOSP/ROM Developer Environment

Everyone is allowed to make changes to the VMWare image and re-upload it. If you re-upload the VMWare image with the made corrections, post the download link(s) in this thread. I will update the first post.
If there is a AOSP Developer that is willing to make a complete tutorial, please make one that works and is up-to-date with 2.3.7
The more people we have working on making ROMs, the better.
This VMWare image is:
- Base: Ubuntu 10.04 LTS
- ICS ready
- Gingerbread ready
- Fully updated
- Eclipse with ADT Plugin
- Android Kitchen Integrated
PASSWORD: root
Latest changelog (Coming soon)
- Based on 10.04 LTS instead of 11.10
- Different approach
Download link:
Bypass 24h wait time, limit reached --> Solution? Reset your ip! In Belgium this is easy by restarting your modem/router. This may be different in other countries.
more mirrors will come!
Part 1
Part 2
Part 3
Image is extracted, where do I start?
Continue from this link
How to build 2.3.7 for Nexus S
This is just a snippet that may help you.
repo init -b android-2.3.7_r1 < /dev/null (This branch is ready to use with Nexus S and Nexus S 4G)
repo sync
source build/envsetup.sh
lunch full_crespo-userdebug
make -j8 (-j8 = for eightcores like 2600k, 2630QM / -j4 = for quads 2500K/2620M/Q6600 / -j2 for dual cores / ...)
Click to expand...
Click to collapse
Don't forget to add the vendor files of the device. You need to download the scripts as well of the driver binaries.
Click to expand...
Click to collapse
I tested a quick build. And it's working.
A virtual machine with limited RAM in order to compile AOSP? Definitively not a good idea. Why not dual boot? Sooooo easy to install the worst distro ever (*buntu).
This is awesome. My only problem is that I only have VMWare Workstation 7.
Super! Waiting for this
djjonastybe said:
Dear community,
I made a AOSP developer environment for VMWare Workstation 8 or latest VMWare Player (free).
You can use this VMWare image as a base to build AOSP ROMs. Imade it for those having trouble getting it to work or maybe if you don't have time to set it up properly. Well if you are downloading this you might have a good reason!
Anyway have fun!
If there are any errors let me know.
This VMWare image is:
- ICS ready
- Gingerbread ready
- Fully updated
Download link:
...uploading...
Click to expand...
Click to collapse
Who would have guessed that an android dev would have difficulty setting up a linux enviroment . . . go figure.
You do not have to be an Android Dev to compile Android. I haven't written a single line of code for Android and can compile AOSP 2.3.7 fine.
This is simply to save time. And if you have good enough hardware (like myself) compiling Android AOSP in a VM session works perfectly fine.
Most people that are into computers have a rocking system. I have 12GB ram, I dedicate 8 for my VM and the rest for my main OS (windows 7). Works fine, what's the issue?
Some people don't want to dual boot and sometimes a Linux distro doesn't support certain hardware or can't be installed.
I would appreciate it. THANKS
nice.....this could be very useful
Sent from my Nexus S using xda premium
FeaRThiS: Who would have guessed that an android dev would have difficulty setting up a linux enviroment . . . go figure.
Click to expand...
Click to collapse
You seem to be the only one against uploading this.
Guys I am still trying to upload it. I am splitting it in 700MB sizes. Crocko's uploadservice is down. I will upload it on depositfiles and multiupload
12,5%
@FeaRThiS just stated the obvious. I also think the first step to understand how to build an AOSP ROM is knowing how to setup the development environment.
I don't have anything against using a VMWare image. But, IMHO, considering the time for uploading/downloading the file, if you do the setup yourself (in VMWare or whatever), you should have already been compiling your ROM by now.
suksit said:
@FeaRThiS just stated the obvious. I also think the first step to understand how to build an AOSP ROM is knowing how to setup the development environment.
I don't have anything against using a VMWare image. But, IMHO, considering the time for uploading/downloading the file, if you do the setup yourself (in VMWare or whatever), you should have already been compiling your ROM by now.
Click to expand...
Click to collapse
Okay, its not useful for you two.
Next!
I like it and i will try it.
djjonastybe said:
You seem to be the only one against uploading this.
Guys I am still trying to upload it. I am splitting it in 700MB sizes. Crocko's uploadservice is down. I will upload it on depositfiles and multiupload
12,5%
Click to expand...
Click to collapse
I have nothing against it and it may even be useful in case of emergency when you can not access a linux machine, but as stated by @S suxeN the first step for any dev would be learning to create their own dev enviroment.
i didnt say that.
but the statement is right. Anyways i yet think this image is of great use, as you can always start from there, if u did something wront, what can always happen to nun-linux users.
I don't know anything about linux. Is Eclipse with ADT on here by any chance? If not, what IDE is there to develop with in this VM?
I didn't think that far. Eclipse is not installed.
But I will work on it for next release. For now you have to install it manually. I hope tomorrow evening the new vmware will be uploaded!
Hey guys, don't be so hard on the fella. He's doing us a great service in a way. Not all of us are able to bring laptops wherever we go, dual-boot, etc. I just downloaded this to my external drive that I use to keep my stuff on for work and it'll come in handy when I wanna test apps without worrying about nuking my phone.
Also, it helps that I can demo apps on the thing to co-workers on screen than using a phone. That way I won't have to worry about them screwing things up if they decided to 'explore.'
http://code.google.com/android/nexus/drivers.html#crespogwk74
Can someone help me with this? This has the binaries for the Nexus S.
Where do I place the scripts?
I have a vendor folder with several maps in it now. But I don't know what I have to do now.
I placed the 'vendor' folder in my working directory. But lunch isn't showing up crespo in the list.
These are my steps:
Building
I executed lunch. I realised I did not have crespo in the list. So next, I read the line 'Building for devices'.
Eventually I ended up here:
Building devices
Obtaining proprietary binaries
Starting with IceCreamSandwich, the Android Open-Source Project can't be used from pure source code only, and requires additional hardware-related proprietary libraries to run, specifically for hardware graphics acceleration.
Official binaries for Nexus S, Nexus S 4G, Galaxy Nexus, and PandaBoard can be downloaded fromGoogle's Nexus driver page, which add access to additional hardware capabilities with non-Open-Source code.
There are no official binaries for Nexus One, ADP2 or ADP1., ADP2 or ADP1.
Click to expand...
Click to collapse
I clicked the link and downloaded the GWK74 binaries.
Now then I read further:
Extracting the proprietary binaries
Each set of binaries comes as a self-extracting script in a compressed archive. After uncompressing each archive, run the included self-extracting script from the root of the source tree, confirm that you agree to the terms of the enclosed license agreement, and the binaries and their matching makefiles will get installed in the vendor/ hierarchy of the source tree.
Click to expand...
Click to collapse
I have the vendor hierarchy...
Do I have to put these files in:
my home folder/bin
OR
home folder/workingdirectory_name
Or what do I have to do now?
updated first post with small hint on how to download 2.3.7 for our Nexus S. Good luck!
yep, i think this is pretty awesome. for me, i'm not an android dev but i've dabbled with theming and porting mods from other phones to the epic 4G previously. i'd love to be able to start with a system ready to go and mess around with some guides to learn how to compile source, etc... thanks.
Nice image man, gonna give it a go later. Thought I'd put my word in the discussion , sure there lots of talented devs, but they have all got different hardware/software and time requirements. So this becomes a useful tool to add to the inventory.

dev activity

this is not to rush the devs, just asking, are they gonna wait till ( i really hope it actually hapens) jb update comes to us to start developing? couse i think our phone haves a lot more to give to us than the stock rom can, again i am not rushing the devs, just asking your oppinion, and since im kinda new to theese forums hardly think any dev is going to bother to even answer this thread
so im pretty much.asking your oppinion
this is just a question , please dont kill me
sent from the gray stuff inside my skull
demonoid phenomenom said:
this is not to rush the devs, just asking, are they gonna wait till ( i really hope it actually hapens) jb update comes to us to start developing? couse i think our phone haves a lot more to give to us than the stock rom can, again i am not rushing the devs, just asking your oppinion, and since im kinda new to theese forums hardly think any dev is going to bother to even answer this thread
so im pretty much.asking your oppinion
this is just a question , please dont kill me
sent from the gray stuff inside my skull
Click to expand...
Click to collapse
If you mean Custom Roms... we can't do anything until we can pack / unpack the boot.img/or recovery.img to make a custom recovery.
jeah thats right, i was wondering because my expirience with atrix 2 , previous to the ics update, i was using supercharger rom series, but again i understand that they got a leak to work on, and a bootstrap to flash the restores they where creating, and that stock leaked rom was awesome
sent from the gray stuff inside my skull
mattlgroff said:
If you mean Custom Roms... we can't do anything until we can pack / unpack the boot.img/or recovery.img to make a custom recovery.
Click to expand...
Click to collapse
Only for my own curiosity: what's prevents that ? The x86 arch ? or something else ?
Le_Poilu said:
Only for my own curiosity: what's prevents that ? The x86 arch ? or something else ?
Click to expand...
Click to collapse
Would be nice to know for sure. The current methods cannot find 'Android Magic'.
I'm looking forward to seeing this forum get some custom ROMs too...
Looks like progress is getting on with it now
Any updates on custom ROM making for this device?
I've followed the README from <link to Motorola's sourceforge for razr i, deleted because I'm a new user> , got to the final step, but now I'm stumped. What make target should I choose? 'make full_x86-eng' and 'make generic_x86' have no make rules. A simple 'make' generates a framework build error.
What do I have to do in order to get a bootable image (built from source) for the Razr i?
I'd appreciate any kind of advice. Thanks in advance.
PS: Many thanks Matt, turl1 and the other developers that worked on this device.
tiberiu24 said:
Any updates on custom ROM making for this device?
I've followed the README from <link to Motorola's sourceforge for razr i, deleted because I'm a new user> , got to the final step, but now I'm stumped. What make target should I choose? 'make full_x86-eng' and 'make generic_x86' have no make rules. A simple 'make' generates a framework build error.
What do I have to do in order to get a bootable image (built from source) for the Razr i?
I'd appreciate any kind of advice. Thanks in advance.
PS: Many thanks Matt, turl1 and the other developers that worked on this device.
Click to expand...
Click to collapse
You won't be able to build a full android system from that source. The most you can do is
Code:
$ . build/envsetup.sh
$ lunch generic_x86-eng
$ make [I]target[/I]
Where target is something like out/target/product/generic/system/bin/bluetoothd or bluetoothd
I am working on a device tree. Writing it from scratch isn't easy because there is no device I can base this on. No other x86 tree out there. And I still dont have a device. I did make threads requesting for a device but they got closed down. So once I have something built I'll make a new thread.
Sent from my GT-I9300 using xda app-developers app
hiemanshu said:
I am working on a device tree. Writing it from scratch isn't easy because there is no device I can base this on. No other x86 tree out there. And I still dont have a device. I did make threads requesting for a device but they got closed down. So once I have something built I'll make a new thread.
Click to expand...
Click to collapse
There's at least 10 device trees on the android-x86 project. And AOSP itself has a generic one, to build the x86 emulator platform. And I made a basic one to build recovery already, with support to generate the newer x86 boot image format.
Just saying
PS: I don't own the phone either
turl1 said:
There's at least 10 device trees on the android-x86 project. And AOSP itself has a generic one, to build the x86 emulator platform. And I made a basic one to build recovery already, with support to generate the newer x86 boot image format.
Just saying
PS: I don't own the phone either
Click to expand...
Click to collapse
Generic x86 and the razr I are too far apart. Also the android x86 ones are too far apart too (I am working on a android x86 tablet). I have already written more than 450 lines of the device tree by hand, and there is a lot more to go right now. I have patched bionic for x86 builds, I need to patch the build folder next, and even busybox needs patching, etc. I am now working on making a perfect set of the 3 important files, BoardConfing.mk, device.mk and proprietary-files.txt. My android x86 tree is a total of 181 lines (which in itself is twice the size of the trees on android-x86). Its fun, but really time consuming. Also the AOSP ones are generic ones, they will work on any system if you have all the correct drivers installed or compiled via the kernel, but Razr I needs the files to be pulled from the stock build, and it needs a lot of them, including kernel drivers.
-H
hiemanshu said:
Generic x86 and the razr I are too far apart. Also the android x86 ones are too far apart too (I am working on a android x86 tablet). I have already written more than 450 lines of the device tree by hand, and there is a lot more to go right now. I have patched bionic for x86 builds, I need to patch the build folder next, and even busybox needs patching, etc. I am now working on making a perfect set of the 3 important files, BoardConfing.mk, device.mk and proprietary-files.txt. My android x86 tree is a total of 181 lines (which in itself is twice the size of the trees on android-x86). Its fun, but really time consuming. Also the AOSP ones are generic ones, they will work on any system if you have all the correct drivers installed or compiled via the kernel, but Razr I needs the files to be pulled from the stock build, and it needs a lot of them, including kernel drivers.
-H
Click to expand...
Click to collapse
I'm playing a bit with AOSP 4.2 as I got some free time. This is what I found out so far:
bionic needed no patches. I seriously doubt it needs any on 4.1 (CM) either as recovery built fine.
build needed no patches either on both cases.
dalvik needed a 4-liner to build on AOSP (makefile fixes), I haven't tried to build it on CM
there's no busybox on AOSP, I patched the one on 4.1 already to be able to build recovery, it's all on CM Gerrit as you'd expect from a CM developer like myself
my tree is already 120 lines, as soon as you add the media decoder config and audio routing config you'll go over 180 lines
having proper drivers isn't enough, you need proper HALs too. And I haven't really looked, but I'd be surprised if you had to pull kernel drivers from the stock rom
turl1 said:
I'm playing a bit with AOSP 4.2 as I got some free time. This is what I found out so far:
bionic needed no patches. I seriously doubt it needs any on 4.1 (CM) either as recovery built fine.
build needed no patches either on both cases.
dalvik needed a 4-liner to build on AOSP (makefile fixes), I haven't tried to build it on CM
there's no busybox on AOSP, I patched the one on 4.1 already to be able to build recovery, it's all on CM Gerrit as you'd expect from a CM developer like myself
my tree is already 120 lines, as soon as you add the media decoder config and audio routing config you'll go over 180 lines
having proper drivers isn't enough, you need proper HALs too. And I haven't really looked, but I'd be surprised if you had to pull kernel drivers from the stock rom
Click to expand...
Click to collapse
1) bionic needs patching, patch already submitted to CM gerrit libdvm basically
2) build needs patching for the boot.img
3) dalvik has been patched
4) Odd, didn't notice that
5) Probably wont required pulling in kernel drivers, but would required pulling in the correct drivers for the defconfig
I'd be happy if you wanted to work together to get this working. PM me
hiemanshu said:
1) bionic needs patching, patch already submitted to CM gerrit libdvm basically
2) build needs patching for the boot.img
3) dalvik has been patched
4) Odd, didn't notice that
5) Probably wont required pulling in kernel drivers, but would required pulling in the correct drivers for the defconfig
I'd be happy if you wanted to work together to get this working. PM me
Click to expand...
Click to collapse
Let's continue talking on PM then
re. 2, I actually did need to patch build on AOSP after all . CM on the other hand, has BOARD_CUSTOM_BOOTIMG_MK from the tf tablets.
Hey I posted a rom over at droidrzr.com for use till aosp is ready. This should be enough till we get a jb leak
Sent from my XT890 using Tapatalk 2
Hi Folks
While I don't own a RAZR I , I have been Jaffing around with building CM10.1 and AOSP for x86, I've been getting in going on my FX8120, just need to sort the OpenGLES MESA drivers out.
Anyways I've got CM10.1 built for x86 using the mr1-staging branch ( I think it's been merged to cm10.1 ) and an edited mini-x86 device tree .
Busybox was a B**stard to build though, although on one of the branches there is an .config-minimal-x86 .config-full-x86, still needed tweaking tho.
I submitted my patches http://review.cyanogenmod.org/#/c/27377/ and http://review.cyanogenmod.org/#/c/27373/, however It seems x86 isn't top of cm's agenda.... or I'm missing something about assigning reviewers.
Obviously a base x86 build is only part of the story for you guys as you'll face all the regular problems that emedded devices have, not checked the specs for the RazR but I'm sure there's some binary blobs in your future,
Hack On Folks! :good:

Ubuntu Touch Xoom Port

Hi,
I've got Ubuntu Touch running on my Xoom, not perfectly. I have an LTE Xoom, but I'm building as if it is Wifi Only (I no longer have service on LTE).
Issues:
Font rendering in some places is unreadable.
Display settings have to be manually tweaked in /usr/bin/ubuntu-session to set GRID_UNIT_PX=10
Have not tested sound at all
Camera doesn't seem to work
Haven't tested GPS
Installation instructions:
reboot in recovery
wipe
install base Xoom (Wingray) Image: cm-10.1-20130228-UNOFFICIAL-wingray.zip md5: b1391ff076e67f68f89606c2ae349986
install the Ubuntu 12.10 Touch Preview, daily build quantal-preinstalled-phablet-armhf.zip*
reboot
use ubuntu_chroot to edit /usr/bin/ubuntu-session and set GRID_UNIT_PX=10
reboot
Fixed:
I'm able to connect to my wifi and use the internet via an adb (ubuntu_chroot shell), but apps including the browser used from the device don't seem to have connectivity.
*This download is a daily snapshot, the latest version may or may not work, I've only tested using the version from 20130228.
Reserve a spot for some more technical details.
Could i get a link? I would love to give this a try! :good:
mikedmor said:
Could i get a link? I would love to give this a try! :good:
Click to expand...
Click to collapse
PM with the link sent, when I get to 10 posts or get moderator approval, I'll edit the original post to include the download link.
Please keep me posted on how it goes. I'll try to document the steps I took to get it running soon (very minimal, just followed the official porting guide)
Just finished building it as I have seen Xoom support removed from the wiki yesterday. Did you unset CONFIG_ANDROID_PARANOID_NETWORKS to make apps work?
dreamcwli said:
Just finished building it as I have seen Xoom support removed from the wiki yesterday. Did you unset CONFIG_ANDROID_PARANOID_NETWORKS to make apps work?
Click to expand...
Click to collapse
I did not unset CONFIG_ANDROID_PARANOID_NETWORKS as it broke the build and I have not had time to investigate it further. Were you able to build with it unset? Is the networking in the apps working for you?
skippyishappy said:
I did not unset CONFIG_ANDROID_PARANOID_NETWORKS as it broke the build and I have not had time to investigate it further. Were you able to build with it unset? Is the networking in the apps working for you?
Click to expand...
Click to collapse
I comment several lines in the kernel source code so I can build it with the flag unset. I still can't fully boot Ubuntu Touch as the libraries used are not in the runtime path so I need to fix it. Will report here when I have time to work on it.
Good luck on the development
Sent from my GT-N7000 using Tapatalk 2
Thx dreamcwli and OP
This project sounds like it will be good for devs and enhanced users and it keeps the hopes of the xoom staying around for a few more years.
Keep up the work and give us hope.
Did you symlink libraries under /data/ubuntu/usr/lib/armeabihf to /system/lib to boot the system?
...
CBDSonline said:
Thx dreamcwli and OP
This project sounds like it will be good for devs and enhanced users and it keeps the hopes of the xoom staying around for a few more years.
Keep up the work and give us hope.
Click to expand...
Click to collapse
+1
dreamcwli said:
Did you symlink libraries under /data/ubuntu/usr/lib/armeabihf to /system/lib to boot the system?
Click to expand...
Click to collapse
I did no modifications to the ubuntu partition other than changing the GRID_UNIT_PX to make the layout fit the screen better. On my first attempt the screen was black, so I took a look using adb logcat and saw:
I/SurfaceFlinger( 1064): SurfaceFlinger is starting
I/SurfaceFlinger( 1064): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
E/libEGL ( 1064): eglGetDisplay:121 error 300c (EGL_BAD_PARAMETER)
E/libEGL ( 1064): eglInitialize:137 error 3008 (EGL_BAD_DISPLAY)
Click to expand...
Click to collapse
This made me suspect it was missing some binaries (the only ones I'm using are from the Google binaries page for the Wifi Xoom).
device/moto/wingray/device_base.mk is looking for the vendor directories which do not match the directories I had after extracting them.
mv vendor/moto/ vendor/motorola
mv vendor/motorola/stingray/ vendor/motorola/wingray
Click to expand...
Click to collapse
Then rebuild with brunch and the error was gone and the screen lit up with Ubuntu touch.
skippyishappy said:
I did no modifications to the ubuntu partition other than changing the GRID_UNIT_PX to make the layout fit the screen better. On my first attempt the screen was black, so I took a look using adb logcat and saw:
This made me suspect it was missing some binaries (the only ones I'm using are from the Google binaries page for the Wifi Xoom).
device/moto/wingray/device_base.mk is looking for the vendor directories which do not match the directories I had after extracting them.
Then rebuild with brunch and the error was gone and the screen lit up with Ubuntu touch.
Click to expand...
Click to collapse
I have updated the location path for proprietary blobs. What I got is linker.c can't load /system/lib/libubuntu_application_api.so. Did you use Ubuntu-specific tools to build it? I am on Arch Linux so I am thinking about it those tools make different result.
dreamcwli said:
I have updated the location path for proprietary blobs. What I got is linker.c can't load /system/lib/libubuntu_application_api.so. Did you use Ubuntu-specific tools to build it? I am on Arch Linux so I am thinking about it those tools make different result.
Click to expand...
Click to collapse
To setup my environment, I created a new VM using Ubuntu 12.04 LTS and followed the steps in "Set up your development environment" in the porting guide.
skippyishappy said:
To setup my environment, I created a new VM using Ubuntu 12.04 LTS and followed the steps in "Set up your development environment" in the porting guide.
Click to expand...
Click to collapse
Now this is interesting!!!! Xoom is not officially supported by canonical, a 14year old was trying to port it. Even if the device is not listed anymore you can send an email to canonical and tell that you will be the one to port it to xoom! Keep up the good work. i am willing to test your work! I have a UMTS_Everest xoom. If you are interested please PM the links to me
Cheers!
darksnoopy said:
Now this is interesting!!!! Xoom is not officially supported by canonical, a 14year old was trying to port it. Even if the device is not listed anymore you can send an email to canonical and tell that you will be the one to port it to xoom! Keep up the good work. i am willing to test your work! I have a UMTS_Everest xoom. If you are interested please PM the links to me
Cheers!
Click to expand...
Click to collapse
PM sent. The port itself has been trivial, at least getting it to boot. Easy to see why Canonical chose this path.
Very interested in this please pm me a link, I have a little knowledge of linux so I may be able to play around a bit.
slaming said:
Very interested in this please pm me a link, I have a little knowledge of linux so I may be able to play around a bit.
Click to expand...
Click to collapse
PM'd, I should be able to edit my original post with the download links now.
I can confirm developers have to use phablet-dev-bootstrap tools to build it now. With phablet-dev-bootstrap you will get additional components that are required for Ubuntu Touch. I will test how network going with my build.
Built it and working fine now. With CONFIG_ANDROID_PARANOID_NETWORK unset I can use browser and other network apps without problem. However the usability is not good at current stage.

[TUTORIAL][VIDEO]KernelANDROID[LINARO][SABERMOD][NDK]build from source

Here is a complete tutorial about:Android Kernel(compile)+ Linaro/Sabermod/NDK.​
//In the future I will add a tutorial related to undervolt., overclock, cpu governor, and others.(only Snapdragon CPU)
Kernel Features HERE
Youtube channel(if you have troubles).
Part 1: vmware+ubuntu+Installing the required files:
Linaro
Part 2: download kernel source files+ setup toolchain+jdk+abootimg
Part 3: kernel+ boot.img file
Part 4: test
Part 2/3 SABERMOD
Part 2/3 Android NDK
More:
extract .config via ADB:
compile-speed:
dump boot.img:
Change bootimg.cfg size-hex:
Create boot.img via script.sh. Much faster!!!
Linaro vs NDK:
I'll keep you updated, so stay tuned ​
Reserved
Thank you so much for this guide! before people had to learn from strictly written ones and it was difficult for a lot of us to pick up
oh and congrats on Portal feature!
Thank you for this guide . I can wait to try it .
Sent from my GT-I9100G using XDA Premium 4 mobile app
Sorry if its already been answered but can I use Ubuntu 14.04 to do this? what advantage does 12.04 have?
You can use either Ubuntu 14. However this does not affect anything(about kernel). But I preferred the version 12 because it is more popular, and if problems "arise", it's easier to find solutions.
!
great tutorials! any chnce of one compiling with GCC?
also man! YOUR COMPUTE IS ON STEROIDS!!!
Maybe, but in summer(I'm still busy with school). GCC needs to be changed in Part II.
also man! YOUR COMPUTE IS ON STEROIDS!!!
Click to expand...
Click to collapse
Configuration is:
Asus k53sv
-Intel Core I7 2630QM
-12 GB Ram (1333 mhz cl9)
-HDD: 750GB WD Black;
-GPU Intel HD 3000+Nvidia GT540M 2gb ddr3;
+1080p tv(monitor) but only for tutorials.
srsdani said:
Maybe, but in summer(I'm still busy with school). GCC needs to be changed in Part II.
Configuration is:
Asus k53sv
-Intel Core I7 2630QM
-12 GB Ram (1333 mhz cl9)
-HDD: 750GB WD Black;
-GPU Intel HD 3000+Nvidia GT540M 2gb ddr3;
+1080p tv(monitor) but only for tutorials.
Click to expand...
Click to collapse
yeah ive been having problems with GCC on ubuntu 14.04, on my last installation(also 14.04) all compiled fine, yet this fresh installation theres no errors but doesnt boot(stock unmodified sources) :/
What's your device? Some have a slightly different configuration(Samsung or Sony/Sony Ericsson etc.).
srsdani said:
What's your device? Some have a slightly different configuration(Samsung or Sony/Sony Ericsson etc.).
Click to expand...
Click to collapse
after days of troubleshooting i finally just found the problem..
i had exported PATH to JDK 8 in my .bashrc, i just compiled and it worked
thanks to your video making me look in .bashrc!
LEGEND!!!!
Ricky Divjakovski said:
after days of troubleshooting i finally just found the problem..
i had exported PATH to JDK 8 in my .bashrc, i just compiled and it worked
thanks to your video making me look in .bashrc!
LEGEND!!!!
Click to expand...
Click to collapse
Can this work for my s4 I9506 stock kernel
Kind of over complicated?
No need to modify .bashrc to build kernels, also nautilus-open-terminal, and synaptic arent needed in any way for kernel compilation and its kinda bad practice to auto accept with sudo apt-get install -y.
Also I dont think java is needed to build kernels (since they are mostly C and assembly code), but oracle java 6 is usually what is recommended for android builds.
Basically all you really need to do is install the required packages, download kernel source and desired toolchain, then run these lines in terminal to get your zImage-
export ARCH=arm
export CROSS_COMPILE= <directory to toolchain>
make <your kernel default config>
make -j<number of threads>
That way makes it much easier to try out different toolchains and toolchain versions
Buddy, mention clearly of which device u r using, n on which device it will work.:laugh: by the way nice work
Niku-Droid said:
Buddy, mention clearly of which device u r using, n on which device it will work.:laugh: by the way nice work
Click to expand...
Click to collapse
kernel building for different devices is pretty much all the same, all that differs is the kernel source, defconfig and sometimes a few extra commits to work with linaro toolchain. And if you use the arch specific toolchains you need to pick the right one for your device
metalspring said:
kernel building for different devices is pretty much all the same, all that differs is the kernel source, defconfig and sometimes a few extra commits to work with linaro toolchain. And if you use the arch specific toolchains you need to pick the right one for your device
Click to expand...
Click to collapse
Yea, buddy, but he should mention about which device is he using, so it would give us a brief idea, that what we have to do.
Niku-Droid said:
Yea, buddy, but he should mention about which device is he using, so it would give us a brief idea, that what we have to do.
Click to expand...
Click to collapse
Device: Acer Cloudmobile s500
Cpu snapdragon s4 krait dual—core 1.5 ghz
Gpu Adreno 225;
1gb ram
8 mp camera+1.9 mb front;
1460 mah battery
Hd 720p display
Very nice tutorial. I just got into building from source. Yesterday shortly before you posted this, I have successfully compiled a ROM for the first time. Also can you add the link to the other tutorial when it's done on this thread?
can anyone just post the video links they are not opening on my mobile , are they on YouTube so I can DL them for future reference
Thanks
Look great will be looking into tutorials

Resources