Related
I have written this guide as most existing guides for Mac OS X use MacPorts and include steps that are now unnecessary. It is geared towards intermediate users and up, who know some Terminal basics.
I had used the same build environment previously on Snow Leopard and later on when I upgraded to Lion. Now that I have just clean installed Lion, I documented the steps I took to rebuild my build environment.
I did the following on Lion 10.7.2 and Xcode 4.2. As far as I can recall, it should work with Snow Leopard and Xcode 4 and above. Do let me know if it does not.
Setup Build Environment
Install Xcode
Install Java
Install Homebrew: (For more on Homebrew: http://mxcl.github.com/homebrew)
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
Click to expand...
Click to collapse
Install Android SDK:
$ brew install android-sdk
Click to expand...
Click to collapse
with ADB:
$ android
Click to expand...
Click to collapse
then install "Android SDK Platform-tools" and close the window.
Install Repo:
$ brew install repo
Click to expand...
Click to collapse
Install and symlink packages:
$ brew install findutils gnu-sed gnupg pngcrush
$ echo "PATH=/usr/local/bin:\$PATH" >> ~/.bash_profile
$ ln -s /usr/local/bin/gfind /usr/local/bin/find
$ ln -s /usr/local/bin/gsed /usr/local/bin/sed
Click to expand...
Click to collapse
Create a case-sensitive partition or disk image:
$ hdiutil create -type SPARSE -fs "Case-sensitive Journaled HFS+" -size 16g -volname "Android" -attach ~/Desktop/Android
Click to expand...
Click to collapse
Download CyanogenMod Source
$ mkdir /Volumes/Android/cm7
$ cd /Volumes/Android/cm7
$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
$ repo sync -j32
Click to expand...
Click to collapse
Copy Proprietary Files
This only needs to be done once.
Connect device to computer and then:
$ cd /Volumes/Android/cm7/device/samsung/crespo
$ ./extract-files.sh
Click to expand...
Click to collapse
Download ROM Manager
This only needs to be done when ROM Manager is updated.
$ /Volumes/Android/cm7/vendor/cyanogen/get-rommanager
Click to expand...
Click to collapse
Edit CyanogenMod Source
Build will fail unless the following edits are made.
Add lines in red to cm7/external/elfutils/config-compat-darwin.h:
#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070
static inline size_t strnlen (const char *__string, size_t __maxlen)
{
int len = 0;
while (__maxlen-- && *__string++)
len++;
return len;
}
#endif
Click to expand...
Click to collapse
Comment out every line in cm7/external/qemu/Android.mk:
# the following test is made to detect that we were called
# through the 'm' or 'mm' build commands. if not, we use the
# standard QEMU Makefile
#
#ifeq ($(DEFAULT_GOAL),droid)
# LOCAL_PATH:= $(call my-dir)
# include $(LOCAL_PATH)/Makefile.android
#else
# include Makefile.qemu
#endif
Click to expand...
Click to collapse
Compile CyanogenMod Source
$ cd /Volumes/Android/cm7
$ . build/envsetup.sh
$ brunch crespo -j`sysctl -an hw.logicalcpu`
Click to expand...
Click to collapse
If the build was successful, there should be an update-cm-X.X.X-NS-KANG-signed.zip in the cm7/out/target/product/crespo folder.
Congrats! If you've made it up to here, you can breathe a sigh of relief and enjoy your own hot smoking bacon. And when you want fresher bacon:
Update CyanogenMod Source
$ cd /Volumes/Android/cm7
$ repo sync -32
Click to expand...
Click to collapse
then build as before.
Building Kernels
If you have done the above, there is nothing much more to add for building kernels.
Install packages:
$ brew install coreutils xz
Click to expand...
Click to collapse
Download kernel source:
$ cd /Volumes/Android
$ git clone git://github.com/CyanogenMod/samsung-kernel-crespo.git
Click to expand...
Click to collapse
Generate default config:
$ cd samsung-kernel-crespo
$ make ARCH=arm herring_defconfig
Click to expand...
Click to collapse
Compile kernel source:
$ ln -s /usr/local/bin/gstat /usr/local/bin/stat
$ ln -s /usr/local/bin/gexpr /usr/local/bin/expr
$ make -j`sysctl -an hw.logicalcpu` ARCH=arm CROSS_COMPILE=../cm/prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- HOSTCFLAGS="-I../cm/external/elfutils/libelf"
$ rm /usr/local/bin/stat
$ rm /usr/local/bin/expr
Click to expand...
Click to collapse
Best to put the above in a Bash script. Temporarily symlink stat and expr, only for kernel compilation, as OS X versions might be expected elsewhere (like in CyanogenMod's scripts). Other guides for cross-compiling Linux kernels on Mac mention several ways to resolve missing elf.h definitions. Luckily for us, CM7 source already has an elf.h, so we can include it with HOSTCFLAGS="-I../cm/external/elfutils/libelf".
Wow...and guide for compile kernel??
Ihihih...
Inviato dal mio Nexus S
Mac?..........
Hahahhahaahahahahhahahahahahhaa
dario3040 said:
Mac?..........
Hahahhahaahahahahhahahahahahhaa
Click to expand...
Click to collapse
Unfortunately yeah, I need it for *gasp* iOS development
coloxim said:
Wow...and guide for compile kernel??
Ihihih...
Inviato dal mio Nexus S
Click to expand...
Click to collapse
Just added. It's about the same as on linux, much less mac quirks to work around.
ahbeng said:
Just added. It's about the same as on linux, much less mac quirks to work around.
Click to expand...
Click to collapse
Thank you so much...
Inviato dal mio Nexus S
I know a lot of people will be able to save precious time due to this. Including me Thanx a lot!
So how do you take the compiled kernel and make it the default kernel in the new Bacon, or will it be automatic on the next Bacon build?
Sent from my Nexus S using XDA App
viper2g1 said:
So how do you take the compiled kernel and make it the default kernel in the new Bacon, or will it be automatic on the next Bacon build?
Sent from my Nexus S using XDA App
Click to expand...
Click to collapse
It won't, that's just to compile. The kernel part of the guide is more to document Mac-specific workarounds for people who want to work with the source of the CM7 kernel or other kernels.
If you're just making Bacon, the latest CM7 kernel binary would already be included in the CM7 source. It is the same as what you'd get if you compiled unmodified CM7 kernel source and I think it is a good idea to have that to fall back on.
However, I guess it would be useful to document how to package the compiled kernel and modules in a flashable AnyKernel zip. Bit busy now, will add it later.
ahbeng said:
It won't, that's just to compile. The kernel part of the guide is more to document Mac-specific workarounds for people who want to work with the source of the CM7 kernel or other kernels.
If you're just making Bacon, the latest CM7 kernel binary would already be included in the CM7 source. It is the same as what you'd get if you compiled unmodified CM7 kernel source and I think it is a good idea to have that to fall back on.
However, I guess it would be useful to document how to package the compiled kernel and modules in a flashable AnyKernel zip. Bit busy now, will add it later.
Click to expand...
Click to collapse
Ok thanks, it would be awesome to know how to make Bacon with matr1x already set as the default kernel.
Sent from my Nexus S using XDA App
quality post.
viper2g1 said:
Ok thanks, it would be awesome to know how to make Bacon with matr1x already set as the default kernel.
Sent from my Nexus S using XDA App
Click to expand...
Click to collapse
I realized that if I started to include instructions for that, I should split it out along with other tips into a new post on how I bake in some simple customizations with a bash script, without a full-blown kitchen. (Because that is not platform-specific) When I have time! In the meantime, some quick pointers:
To change the default kernel for any ROM, you'll need to change the boot.img in the zip using unpackbootimg and mkbootimg, which would have been built along with CM7 in cm7/out/host/darwin-x86/bin (linux-x86 for linux). Copy them to somewhere in your path like /usr/local/bin. Copy the boot.img from the ROM zip and the zImage for the kernel you want to embed into another directory then run the following commands in that directory:
unpackbootimg -i boot.img
mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.gz --cmdline "`cat boot.img-cmdline`" --base `cat boot.img-base` --pagesize `cat boot.img-pagesize` -o boot.img
Click to expand...
Click to collapse
then replace the original boot.img in the ROM zip with this new one. Hope that helps!
PS: And replace the modules in system/modules with the ones from the kernel you want to embed. (Caveat: I don't do any of this manually)
ahbeng said:
I realized that if I started to include instructions for that, I should split it out along with other tips into a new post on how I bake in some simple customizations with a bash script, without a full-blown kitchen. (Because that is not platform-specific) When I have time! In the meantime, some quick pointers:
To change the default kernel for any ROM, you'll need to change the boot.img in the zip using unpackbootimg and mkbootimg, which would have been built along with CM7 in cm7/out/host/darwin-x86/bin (linux-x86 for linux). Copy them to somewhere in your path like /usr/local/bin. Copy the boot.img from the ROM zip and the zImage for the kernel you want to embed into another directory then run the following commands in that directory:
then replace the original boot.img in the ROM zip with this new one. Hope that helps!
PS: And replace the modules in system/modules with the ones from the kernel you want to embed. (Caveat: I don't do any of this manually)
Click to expand...
Click to collapse
I'm gonna give this a shot after work. Its great info and I never found it searching. Thanks!
Sent from my Nexus S using XDA App
Couldn't one just us the process for initializing the environment like how you would for AOSP? Or will that still have issues?
BlueDrgBlade said:
Couldn't one just us the process for initializing the environment like how you would for AOSP? Or will that still have issues?
Click to expand...
Click to collapse
No need. What you see is just cosmetic fix
Sent from my Nexus S using Tapatalk 2
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
-e:1: syntax error, unexpected ']'
[This script has been moved.]
^[/QUOTE]
... What do I do :$
Click to expand...
Click to collapse
Does anyone know where I can find a CM9 version of this guide?
Sorry for bump...will this work for any gingerbread device?
Aquethys said:
Sorry for bump...will this work for any gingerbread device?
Click to expand...
Click to collapse
Yes
I get an error trying to mkdir /Volumes/Android/cm7
mkdir: /Volumes/Android: No such file or directory
Help?
Hey guys,
I am traying to build aosp rom for the Samsung Galaxy ace GT-S5830I from Source then i have download the kernel and platform from [opensource.samsung.com/reception/receptionSub.do?method=list&menu_item=mobile&classification1=mobile_phone&classification2=&classification3=],
i followed the instructions that i find inside the zip to build the kernel, after that i unpack and repack zimage to boot.img,
i have build the plateform by following the instructions when, but i flash all of them (boot.img, system.img, userdata.img) to the Phone it not start.
Please help me to know what is the probleme
Sorry for my english
To make an AOSP ROM you're going to have the device specific config files and folders for your particular device .
Do you have them ?
"As a friend, just....put an end to me." - Ventus
BOUNS said:
Hey guys,
I am traying to build aosp rom for the Samsung Galaxy ace GT-S5830I from Source then i have download the kernel and platform from [opensource.samsung.com/reception/receptionSub.do?method=list&menu_item=mobile&classification1=mobile_phone&classification2=&classification3=],
i followed the instructions that i find inside the zip to build the kernel, after that i unpack and repack zimage to boot.img,
i have build the plateform by following the instructions when, but i flash all of them (boot.img, system.img, userdata.img) to the Phone it not start.
Please help me to know what is the probleme
Sorry for my english
Click to expand...
Click to collapse
Prepare device config and sync sources using
$ mkdir android
$ cd android
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.7_r1
$ repo sync
For a detailed explanation just search the threads
There r many link on how to build AOSP from source
Becarefull while doin it.... A small advice : Do not try unless xperienced
wilfredcool007 said:
Prepare device config and sync sources using
$ mkdir android
$ cd android
$ repo init -u android.googlesource.com/platform/manifest -b android-2.3.7_r1
$ repo sync
For a detailed explanation just search the threads
There r many link on how to build AOSP from source
Becarefull while doin it.... A small advice : Do not try unless xperienced
Click to expand...
Click to collapse
Yes i have did all of that, i have downloaded the source from android repo, and i have integrated the GT-S5830I as it says in the instructions, and i have builded.
The probleme is that the Device not start (not work) when i flash system.img and userdata.img that result from the build.
BOUNS said:
Yes i have did all of that, i have downloaded the source from android repo, and i have integrated the GT-S5830I as it says in the instructions, and i have builded.
The probleme is that the Device not start (not work) when i flash system.img and userdata.img that result from the build.
Click to expand...
Click to collapse
U made a kernel for it ???
Is the device config debugged ???
after u lunch the build
Brunch the build
I will teach you build ROM.
Lets get some ROCK!!!
Operating System
First step is having a fully functional linux distro. You can choose what you prefer, I'm using ubuntu and I write commands for it. You can use OSX too, as I know, but I've completely no idea how, I never had a Mac.
Well, talking about linux, you need a 64bit distribution, so if you have an old 32 bit processor youn cannot go ahead.
To check which version do you have, type in a shell
uname -a
If the results include "x86_64" you're ok.
Required Packages
You need to install some little packages, to be able to proceed, you can do this with your favorite package manager:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 g++-multilib mingw32 openjdk-6-jdk pngcrush schedtool tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
Some systems need some trick to install all this package, is your care to check this process completed correctly and fix eventually problems.
Install "repo"
Repo is the program that handles synchronization between our pc and the repository, in this case Cyanogen's one. To install do:
mkdir -p ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
So we have downloaded and added executables flag to it. Now we need a folder to store locally the sources, you can put it everywhere, but to be coherent with other guides, I do:
mkdir -p ~/CM10/
Repository initialization
Well, now it's time to initialize our source folder to correctly sync with repository:
cd CM10
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
Nota: Maybe the repo command is not recognized. In this case you can restart the shell or te machine.
Download
Now is download time! Write this command and get a fresh beer, you have to download several GB of data, please wait.
repo sync -j16
The "-j16" switch may be modified as you want, is the number of concurrent thread downloading from repo. 16 is my value, for a 100Mbit connection, maybe you can decrease a little to match your line speed. Someone uses 8 threads for an 8Mbit ADSL line.
Download precompiled files.
There are some others files needed, like the toolchain, including GCC, to compile code.
~/CM10/vendor/cm/get-prebuilts
Another small wait time and we're ready!
Add sources code for GT540
Copy sources from https://github.com/mmxtrem/device_lge_swift to ~/CM10/device/lge/swift
Or extract this archive http://depositfiles.com/files/1chflk58r to ~/CM10/device/lge/swift
Build
Great, we're ready to build!
The build process takes some hours, so be patient. My notebook, takes more than 10 hours!
cd CM10
source build/envsetup.sh && brunch swift
Install
When is ready, we can find the result here:
~/CM10/system/out/target/product/swift/cm-10-XXXXX-JellyBeanSwift-XXXX.zip
This is the package to be flashed in recovery mode.
There are Gapps included.
Update
If you want to update your build, you have to do only this:
cd CM10
repo sync
and build again!
P.S. Dont forget write Credit my name, when will be publish your ROM. Good Luck!
[Guide] How to use Github
http://forum.xda-developers.com/showthread.php?t=1877040
Wow I always wanted to try this out! Thanks for the surprise tutorial!
Wow wow wow.. forget my post in the other thread. This thing miro, this thing here is possible your best contribution to this community.. I'm getting my old gt540 back from my brother and trying these right tomorrow..
I actually thought about asking you for such a tutorial but scratched it as I didn't believe you would do it. But thank you again and again.. I was so wrong
I've just one question, we do the build, ok and we try it, ok, but if we find any bug, where we solve it?! and where we put the corrects librarys for our phone?!
Sorry i'm just very noob
Miroslav is best men on a whole world
Thank you so much for this tutorial
Btw is gt540 msm 7x27 ? if yes could someone try to build this kernel for our phone https://github.com/Californication/lge-kernel-msm7x27-ics-3.0.8
-bfar97- said:
I've just one question, we do the build, ok and we try it, ok, but if we find any bug, where we solve it?! and where we put the corrects librarys for our phone?!
Sorry i'm just very noob
Click to expand...
Click to collapse
+1
Sent from my LG-P990 using Tapatalk 2
smileydr0id said:
Miroslav is best men on a whole world
Thank you so much for this tutorial
Btw is gt540 msm 7x27 ? if yes could someone try to build this kernel for our phone https://github.com/Californication/lge-kernel-msm7x27-ics-3.0.8
Click to expand...
Click to collapse
Yes, gt540 is msm7x27
smileydr0id said:
Miroslav is best men on a whole world
Thank you so much for this tutorial
Btw is gt540 msm 7x27 ? if yes could someone try to build this kernel for our phone https://github.com/Californication/lge-kernel-msm7x27-ics-3.0.8
Click to expand...
Click to collapse
https://github.com/Californication its my repo!
lge-kernel-msm7x27-ics-3.0.8 - not working. I did try port it from LG L5. Kernel not starting, kernel not finish.
lge-kernel-msm7x27 - kernel from SDSL and AOSP, I ported it from https://github.com/CyanogenMod/lge-kernel-msm7x27 for LG 7227 devices (P500/510/C660/and other), but it dont have latest fixes.
Please dont write stupid massages like "smiles" or +1 or other, make it clean! Devs only, if you want build ROM real, if no go spaming into other thread!
XiproX said:
Yes, gt540 is msm7x27
Click to expand...
Click to collapse
https://github.com/Californication its my repo!
lge-kernel-msm7x27-ics-3.0.8 - not working. I did try port it from LG L5. Kernel not starting, kernel not finish.
lge-kernel-msm7x27 - kernel from SDSL and AOSP, I ported it from https://github.com/CyanogenMod/lge-kernel-msm7x27 for LG 7227 devices (P500/510/C660/and other), but it dont have latest fixes.
Click to expand...
Click to collapse
damn
-bfar97- said:
I've just one question, we do the build, ok and we try it, ok, but if we find any bug, where we solve it?! and where we put the corrects librarys for our phone?!
Sorry i'm just very noob
Click to expand...
Click to collapse
^ This, make a guide for this, or is just all "lets google it"?
thanks for that tut miroslav !!
i would be happy if you can make example of bug fixing/driver porting (something simple as example).
Oh, nice post Miro
But one thing, why don't you post how to make device files. It would be of more use as people will try to make their own sources and a good chance that they could make their own device in collaboration. :good:
i've ear i can do a build in a 32bits processor too! but you know xD do what was said up please!!
Could someone try to build this because I can't cause I have 32bit system in my PC.
We need JB for daily use!
Why are you using -mfloat-abi=softfp
why not -mfloat-abi=hard ?
aaa801 said:
Why are you using -mfloat-abi=softfp
why not -mfloat-abi=hard ?
Click to expand...
Click to collapse
forgot about this line, not using for ROM. it need only for android-ndk for kernel building.
Niquel97 said:
We need JB for daily use!
Click to expand...
Click to collapse
Just do it! (c. Nike)
P.S. Dreams-dreams-dreams.... :laugh:
miroslav_mm said:
forgot about this line, not using for ROM. it need only for android-ndk for kernel building.
Click to expand...
Click to collapse
So should work fine if set to hard yes?
i'm getting this error when compiling:
Install system fs image: out/target/product/swift/system.img
out/target/product/swift/system.img+ maxsize=262225920 blocksize=135168 total=277360512 reserve=2703360
error: out/target/product/swift/system.img+ too large (277360512 > [264929280 - 2703360])
al3000 said:
i'm getting this error when compiling:
Install system fs image: out/target/product/swift/system.img
out/target/product/swift/system.img+ maxsize=262225920 blocksize=135168 total=277360512 reserve=2703360
error: out/target/product/swift/system.img+ too large (277360512 > [264929280 - 2703360])
Click to expand...
Click to collapse
Yes, me too, the build comes so big that it fails the size checks on the default partition layout.
To avoid that change the contents in device/lge/swift/BoardConfig.mk, I've used these values:
Code:
# PARTITIONS
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x00500000
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x00900000
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 0x0010B07600
BOARD_USERDATAIMAGE_PARTITION_SIZE := 0x007478A00
BOARD_FLASH_BLOCK_SIZE := 131072
I believe you can still zip up the right files in out/target/product/swift/ to have a signable update zip, the command "make otapackage" which I found somewhere didn't seem to work.
hi.
i would like to get some information about how to compile frandom module for my kernel.
here is the wiki... https://github.com/pier11/kernel_hu...-packing-the-kernel-into-a-flashable-boot.img
and git https://github.com/pier11/kernel_huawei_u8220
so which command i should use ? (i ve been told ---> CONFIG_*=m)
and when ?
i have the frandom kernel module tarball. dl it here= http://billauer.co.il/frandom.html
do i have to extract it? in which directory?
thank you very much...
desalesouche said:
hi.
i would like to get some information about how to compile frandom module for my kernel.
here is the wiki... https://github.com/pier11/kernel_hu...-packing-the-kernel-into-a-flashable-boot.img
and git https://github.com/pier11/kernel_huawei_u8220
so which command i should use ? (i ve been told ---> CONFIG_*=m)
and when ?
i have the frandom kernel module tarball. dl it here= http://billauer.co.il/frandom.html
do i have to extract it? in which directory?
thank you very much...
Click to expand...
Click to collapse
as there is no teachers(for the moment) in that "university", i had to "harass" some regonized people from xda...(sorry for that)
and they kindly try to help me...
i had this kind of answer which i could do : i think that the following is to build the module included in the kernel..
Download Makefile, Kconfig, and frandom.c and put all three in your downloaded kernel source (drivers/char directory) overwriting any existing file.
this part is done...
but how to do that ? add FRANDOM=m to the kernel .config file ? and where is located that file?
2 minutes of googling suggests you take a look at these:
http://forum.xda-developers.com/showthread.php?t=1236576
http://yatsec.blogspot.co.uk/2011/01/guide-to-compiling-custom-kernel.html
pulser_g2 said:
2 minutes of googling suggests you take a look at these:
http://forum.xda-developers.com/showthread.php?t=1236576
http://yatsec.blogspot.co.uk/2011/01/guide-to-compiling-custom-kernel.html
Click to expand...
Click to collapse
i have been googling far much more than 2 minutes and i already found these threads...but couldn't manage...
by egg with this one ...which contains error... http://yatsec.blogspot.co.uk/2011/01...om-kernel.html
PREPARING YOUR KERNEL SOURCE
First we must retrieve and copy the kernel config from our device.
Code:
$ cd /path/to/android-sdk/tools ----->ok
$ ./adk pull /proc/config.gz ----->not good! you have to make first $ adb devices in terminal....then $ adb pull /proc/config.gz
$ gunzip ./config.gz ----->ok
$ cp config /path/to/kernel/.config not working! ----> cp: cannot create regular file /path/to/kernel/.config : No such file or directory....
so what to do now?
how to solve this please? i will keep on googling to try to find out solution...any help is welcome
thank you
when i will finish my little project , i think that other people would benefit from that... i might make a how to .
for information ,i have been setting ubuntu 12.10 64 bits from this thread ---->http://soupdawg.wordpress.com/2012/...-for-building-android-jellybean-all-variants/
new link : http://nathanpfry.com/2014/02/07/how-to-prepare-ubuntu-14-04-lts-trusty-tahr-to-compile-android-roms
Re: [Q] Compiling frandom module for kernel 2.6.32.9
desalesouche said:
i have been googling far much more than 2 minutes and i already found these threads...but couldn't manage...
by egg with this one ...which contains error... http://yatsec.blogspot.co.uk/2011/01...om-kernel.html
PREPARING YOUR KERNEL SOURCE
First we must retrieve and copy the kernel config from our device.
Code:
$ cd /path/to/android-sdk/tools ----->ok
$ ./adk pull /proc/config.gz ----->not good! you have to make first $ adb devices in terminal....then $ adb pull /proc/config.gz
$ gunzip ./config.gz ----->ok
$ cp config /path/to/kernel/.config not working! ----> cp: cannot create regular file /path/to/kernel/.config : No such file or directory....
so what to do now?
how to solve this please? i will keep on googling to try to find out solution...any help is welcome
thank you
when i will finish my little project , i think that other people would benefit from that... i might make a how to .
for information ,i have been setting ubuntu 12.10 64 bits from this thread ---->http://soupdawg.wordpress.com/2012/...-for-building-android-jellybean-all-variants/
Click to expand...
Click to collapse
That's because you are meant to put in the path to your kernel, rather than literally /path/to/kernel...
@OP
I know you sent me a PM, but it's better if I reply here.
THIS is what did it for me. Of course my goal wasn't achieved as the extraversion bit was wrong. The X8 is a tricky device.
And make sure to go through the whole thread first.
And also try to use the arm-eabi toolchain from CM as that one throws the least errors.
sgt. meow
hi all. i manage to compile the module thanks to Blechd0se http://forum.xda-developers.com/member.php?u=4855459 i will soon edit the working how to kindly provided by him.
i thank all people who have been providing help and advices... and XDA
here are the change provided by bledchOse to be able to compile the frandom module for my kernel. and little how to
1---> https://github.com/pier11/kernel_hu...-packing-the-kernel-into-a-flashable-boot.img
2---> https://github.com/desalesouche/kernel_huawei_u8220
make the change in kernel before to build it ( change are in green)
3---> https://github.com/desalesouche/jordan-kernel/commit/52e4f2d00b2ea11e3643adb4c4235bdda7a87b5b
4---> Originally Posted by Blechd0se
" change CONFIG_FRANDOM=y to CONFIG_FRANDOM=m, it make you a nice and shiny *.ko file.
And if you already compiled your kernel its inside the kernel, no need to compile another module which does exactly the same and you can instead push your kernel to your device "
5 build the kernel and or module and finish to follow explanation of link 1...
you will find the frandom .ko under drivers/char/frandom/ where your kernel is located... copy it under system/lib/modules/ in your rom zip.
you will need a script to make it load:be activated at boot
Et voilà!!!
It's funny because it is true.....
pulser_g2 said:
2 minutes of googling suggests you take a look at these:
http://forum.xda-developers.com/showthread.php?t=1236576
http://yatsec.blogspot.co.uk/2011/01/guide-to-compiling-custom-kernel.html
Click to expand...
Click to collapse
Had been researching kernel mods came across frandom, googled "frandom module".... Your post was number 2 result.... your first link was my answer.... I win! 5 seconds googling!!! Thank you sir!
Hey Guys!
As you all know I'm working CM10.1 for HTC Wildfire but yesterday suddenly my Ubuntu stucked at boot so I couldn't continue.
But I thought to share my knowledge as sharing is caring.I like to help people and I like to do things on my own way and here I can do this.
I'll show you how I built CM10 for HTC Wildfire.But I got tons of errors which I solved on my own(of course some help of my friends) so please do the same!And the best thing is I'll show you how to build without ADB, so no device is needed.
NOTE: This guide will not turn you into a Android Developer.I will just show you how to setup the source and compile CM10 for the HTC Wildfire succesfully!You need to have basic knowledge before you begin to read this!And please if you get any errors don't spam this thread as I don't have time for others problems.I'll help people if they get problems in setting up or while building what they didn't got but the errors please ask somewhere else or try to solve on your own!As this guide isn't made for Linux newbies, please look at it first before you are posting!
Click to expand...
Click to collapse
What you need:
-Basic Linux Knowledge
-A Mind
-Pre-Knowledge of Android
Click to expand...
Click to collapse
Step 1 - Setting up the Build Environment
1.You need to install Ubuntu(12.04 64-Bit recommended) on a partition or on a virtual machine.
2.After this you need to install these required packages with the "sudo apt-get install" command:
Code:
git-core, gnupg, flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev, build-essential, zip, curl, libncurses5-dev, zlib1g-dev, ia32-libs, lib32z1-dev, lib32ncurses5-dev, gcc-multilib, g++-multilib
Click to expand...
Click to collapse
Step 2 - Getting the source
1.Create the directories:
Code:
$ mkdir -p ~/bin
$ mkdir -p ~/android/system
2.Enter the following to download the "repo" binary:
Code:
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
And to give it proper permissions type:
Code:
$ chmod a+x ~/bin/repo
3.To put the ~/bin directory in your path of execution(permanent variant) type:
Code:
$ gedit ~/.bashrc
It'll open a text file.Copy this line at the bottom:
Code:
$ export PATH=${PATH}:~/bin
4.Go to your source directory by this:
Code:
$ cd ~/android/system/
And to initialize the repo type:
Code:
$ repo init -u git://github.com/CyanogenMod/android.git -b jellybean
5.Download the source by typing:
Code:
$ repo sync
If you are done with syncing the source then you can continue with the next step.
Click to expand...
Click to collapse
Step 3 - Registering the device tree/config
1.Download the device tree from here.
2.Download the local_manifest.xml from here and copy it to your repo subdirection.
3.Now run again "repo sync" to syncing the work tree and everything should be set up now.
Click to expand...
Click to collapse
Step 4 - Start to build
1.CD to your source:
Code:
$ cd android/system
2.Type this:
Code:
$ source build/envsetup.sh
3.Now to lunch type this:
Code:
$ lunch
4.Type now the number which is the device tree listed for HTC Buzz.
5.Now to build type the following command:
Code:
$ make -j4 otapackage
NOTE: The "-j4" means how much cores your CPU has.So if you have a dual-core then buse "-j2" and if you have a octa-core use "-j8" and so on...
Click to expand...
Click to collapse
Credits
-bennii - He was the one who build a good working CM10 for the first time so a big Thanks goes to him.
-Adhi1419 - He showed me lot on this and also supported me much.
-ErwinP - He made a lot of work to HTC Wildfire and we should thanks him a lot.
Click to expand...
Click to collapse
Hit the Thank You Button if you like my Thread
thank for share
this is a perfect guide
kid1519 said:
thank for share
this is a perfect guide
Click to expand...
Click to collapse
Welcome!
And if you like it please hit the thank you button!
Nice guide and a good write up!
I think this guide can be made more general by covering building of other AOSP ROMs from source too
Sent from my A89 using Xparent BlueTapatalk 2
Adhi1419 said:
Nice guide and a good write up!
I think this guide can be made more general by covering building of other AOSP ROMs from source too
Sent from my A89 using Xparent BlueTapatalk 2
Click to expand...
Click to collapse
Thank you!
Yes you are right.I should make it more general! :good:
Awesome guide, thanks also I'll try to make a CM10 with this guide
looks easy the way you set it out, thanks man really appreciate that very much :good:
Stone. Cold said:
Awesome guide, thanks also I'll try to make a CM10 with this guide
looks easy the way you set it out, thanks man really appreciate that very much :good:
Click to expand...
Click to collapse
Thanks and welcome!
And all the best for the CM10 :good:
SasaKovacic said:
Thanks and welcome!
And all the best for the CM10 :good:
Click to expand...
Click to collapse
Np, Thanks!
Stone. Cold said:
Np, Thanks!
Click to expand...
Click to collapse
Welcome!
SasaKovacic said:
Welcome!
Click to expand...
Click to collapse
Np
Thanks for this, syncing up PAC CM10 now ready to build
32% downloaded already!
faZevoLv said:
Thanks for this, syncing up PAC CM10 now ready to build
Click to expand...
Click to collapse
Awesome! Can't wait to see it! :good:
faZevoLv said:
Thanks for this, syncing up PAC CM10 now ready to build
32% downloaded already!
Click to expand...
Click to collapse
I'm feeling appreciated now! :angel: