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.
Related
The devs in the Dream forum have posted open-source camera drivers for Eclair. I'm working on merging the Eclair updates with our current source, but it will take me some time to get up to speed. I'm reading that you have to compile a build from scratch to get the drivers working, which is another hurdle. Has anyone else taken a look at the source yet?
Here's the G1 libs source:
http://gitorious.org/eclair-camera-drivers
Here's our camera sources:
http://androidhtc.git.sourceforge.net/git/gitweb.cgi?p=androidhtc/camera.git;a=summary
http://github.com/dzo/VogueCamera
& Here's our kernel source (not sure we need it):
http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=shortlog;h=refs/heads/htc-vogue
EDIT: Which code are we running right now? Sourceforge or dzo, and from what date?
Hmm. So the camera lib isn't working with Eclair?
Well, if you can post the source from the Dream forum and the current source for cupcake/donut, I'd be happy to take a look and see if I can figure anything out.
Here's the G1 libs source:
http://gitorious.org/eclair-camera-drivers
Here's our camera source:
http://androidhtc.git.sourceforge.net/git/gitweb.cgi?p=androidhtc/camera.git;a=summary
& Here's our kernel source (not sure we need it):
http://git.linuxtogo.org/?p=groups/mobile-linux/kernel.git;a=shortlog;h=refs/heads/htc-vogue
http://gitorious.org/eclair-camera-...mmit/be437d1eb67f106101ae22e8f7829d19e831142e
This commit is a diff from a Donut to an Eclair driver in one convenient place, and it looks like Jesse already did a little of the CAMERA_MESSAGE flags etc. in the 12-13 commit for Vogue.
Shouldn't be too complex.
This is a build from Dream forum with working sync and camera, you may want to take a look at it...
http://forum.xda-developers.com/showthread.php?t=589344
sshark said:
This is a build from Dream forum with working sync and camera, you may want to take a look at it...
http://forum.xda-developers.com/showthread.php?t=589344
Click to expand...
Click to collapse
nah they have different camera drivers. it wouldnt work
Besides the sources I linked, what is the minimum amount of files I need in order to compile the camera lib for our devices? Should I start downloading now so I can leave it overnight??
polyrhythmic said:
Besides the sources I linked, what is the minimum amount of files I need in order to compile the camera lib for our devices? Should I start downloading now so I can leave it overnight??
Click to expand...
Click to collapse
this is from source.android.com/download
Ubuntu Linux (32-bit x86)
To set up your Linux development environment, make sure you have the following:
* Required Packages:
o Git 1.5.4 or newer and the GNU Privacy Guard.
o JDK 5.0, update 12 or higher. Java 6 is not supported, because of incompatibilities with @Override.
o flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl.
$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
* You might also want Valgrind, a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc.
$ sudo apt-get install valgrind
* Intrepid (8.10) users may need a newer version of libreadline:
$ sudo apt-get install lib32readline5-dev
Ubuntu Linux (64-bit x86)
This has not been as well tested. Please send success or failure reports to [email protected].
The Android build requires a 32-bit build environment as well as some other tools:
* Required Packages:
o Git, JDK, flex, and the other packages as listed above in the i386 instructions:
o JDK 5.0, update 12 or higher. Java 6 is not supported, because of incompatibilities with @Override.
o Pieces from the 32-bit cross-building environment
o X11 development
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
* Set the system to use the right version of java by default:
$ sudo update-java-alternatives -s java-1.5.0-sun
* X11: Ubuntu doesn't have packages for the X11 libraries, but that can be worked around with the following command:
$ sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so
Click to expand...
Click to collapse
i havent personally compiled android from source yet but this should get you started
EDIT: there are also instructions on pulling the tree also at source.android.com/download
EDIT2: keep in mind the source is ~2 GB so if you have a slower connection like i do i would download it overnight
Ok, I've got my programs installed and am ready to pull source. Now, should I pull the master branch (Eclair + updates), or the main Eclair branch? I'm having trouble matching the Android git branches with the version numbers... I assume I want to pull 2.0.1, but maybe pulling master is better? I can't tell what version the master branch is.
The master isn't any point release version - it's the head, which means it's whatever code happens to be the latest.
However, because Google like to keep upcoming Android releases a somewhat-secret, they don't necessarily push their latest code to the publicly-facing master, which makes things even more complicated in terms of trying to relate master to a point release.
I'd just stick with the Eclair branch for the moment.
Thanks bri3d, I'm pulling the Eclair branch now...
bri3d said:
However, because Google like to keep upcoming Android releases a somewhat-secret, they don't necessarily push their latest code to the publicly-facing master, which makes things even more complicated in terms of trying to relate master to a point release.
Click to expand...
Click to collapse
Which sucks. Any idea when we can expect 2.1 to be made available? I can't seem to find anything online regarding it.
no idea hopefully soon though as we now have the sdk. im pulling the eclair branch also as i type this, gonna play with it i guess lol
Ok, dzo's repo and the androidhtc sourceforge repo seem to have splintered. dzo's last two commits in his repo haven't been applied to the code used at the sourceforge repo. However, the sourceforge camera has since been updated with the initial code for Eclair, while dzo's has not.
dzo's code looks more complete, with the ability to choose resolutions in addition to the jpeg updates.
Which code are we running right now? Sourceforge or dzo, and from what date?
I'm thinking I should take dzo's and add in the Eclair updates... thought I'd ask the guys who wrote it first
use the donut repo at github as a reference. vilord did some initial work porting it to eclair but some more work needs to be done. what he had done will compile but isnt working.
Hey Poly, you might want to check this out. Looks like it may be an entirely updated MSM7k hardware library via JBQ from Google designed for Eclair on our devices. Haven't played with it, but I will in a few..
Shidell said:
Hey Poly, you might want to check this out. Looks like it may be an entirely updated MSM7k hardware library via JBQ from Google designed for Eclair on our devices. Haven't played with it, but I will in a few..
Click to expand...
Click to collapse
that link is to cyanogens github, he develops (and is probably the only real developer on xda) for the dream. His hardware gits may contain some gems that could be ported over for us, but they will not directly work without modification. A great place to look for ideas though glad you posted the link
mssmison said:
that link is to cyanogens github, he develops (and is probably the only real developer on xda) for the dream. His hardware gits may contain some gems that could be ported over for us, but they will not directly work without modification. A great place to look for ideas though glad you posted the link
Click to expand...
Click to collapse
Interesting, thanks for the heads up.
Many of Cyanogens updates require a newer kernel with more features... unfortunately I'm swamped, one of the servers I maintain went down this week and we're taking the opportunity to upgrade, I haven't made further progress on this driver yet.
Damn hate necro posting, but any news of working camera on eclair guys?
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?
Here's a short tutorial on how to build your own version of CM7.
Requirements:
- Linux distro such as Ubuntu.
- 30 GB of space.
- Fast internet.
Instructions:
1. Open terminal and install these packages through the commands:
Code:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool
If you are on a 64-bit system, install these also:
Code:
sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.4-multilib g++-4.4-multilib
2. Create directories.
Code:
mkdir -p ~/bin
mkdir -p ~/android/system
3. Fetch files from CM.
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
cd ~/android/system
~/bin/repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
~/bin/repo sync
This will take some hours.
4. Download this git: https://github.com/koush/proprietary_vendor_lge - then extract to /vendor/lge/ (so you have /vendor/lge/p970/...).
5. Build.
Code:
~/android/system/vendor/cyanogen/get-rommanager
. build/envsetup.sh && brunch p970
You'll have the .zip in ~/android/system/out/target/product/p970/.
6. Flash the kang!
That's it.
Only a remark:
- Trying to build my own ROM, I've found that the .zip were 15MB smaller than the same nightly because it doesn't include proprietary files into the ROM. Then arcee told me that before build it, you have to run ./setup-makefiles.sh inside the device's dir.
Huexxx said:
Only a remark:
- Trying to build my own ROM, I've found that the .zip were 15MB smaller than the same nightly because it doesn't include proprietary files into the ROM. Then arcee told me that before build it, you have to run ./setup-makefiles.sh inside the device's dir.
Click to expand...
Click to collapse
No need, check point 4.
thank you very much manuel, very kind of you to share your knowledge with those of us who want to continue your work!
When I tried, I ran ./extract-files.sh in order to get proprietary files from phone itself.
Getting it from the indicated git, you get also the needed .mk files, and then there's no need to run ./setup-makefiles.sh
Forget what I've said...
I hope this guide may inspire some members to give a hand cooking own rom, and we can see this development section filled with different roms. What an optimistic scenario it would be ! .
Thanks again all devs.
knzo said:
Here's a short tutorial on how to build your own version of CM7.
Code:
curl http://android.git.kernel.org/repo > ~/bin/repo
chmod a+x ~/bin/repo
cd ~/android/system
~/bin/repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
~/bin/repo sync
Click to expand...
Click to collapse
in case anyone else faces this, could not run repo init and was going crazy, finally realized repo was not taking the exec flag, opened it up and saw the url was moved, but the link it provided did not work either. remembered the original setup i did for the full android development on another machine and tried this instead -
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
worked like a charm! now, on to the rest...
i am happy to say that i have successfully built and am running my first homegrown KANG, thanks to this tutorial! give it a try, it isn't as hard as you might think (but it does take a VERY long time!)
Hi.
I am a completely n00b here and on the Android environment in general.
So, I was watching the Knzo's instructions and I noted this:
Code:
~/bin/repo init -u git://github.com/CyanogenMod/android.git -b [/bold]gingerbread[/bold]
So I changed it to:
Code:
~/bin/repo init -u git://github.com/CyanogenMod/android.git -b [/bold]isc[/bold]
And it worked!
But, trying to build here:
Code:
~/android/system/vendor/cyanogen/get-rommanager
. build/envsetup.sh && brunch p970
My system says:
Code:
bash: /home/said/android/system/vendor/cyanogen/get-rommanager: No such file or directory
Then I tough, "It's ok, I can get the rom-manager from the market. And skipped to:
Code:
. build/envsetup.sh && brunch p970
But then my system said:
Code:
[email protected]:~/android/system$ . build/envsetup.sh && brunch p970
including device/samsung/maguro/vendorsetup.sh
including device/samsung/tuna/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/p970/cm.mk]]: "device/*/p970/cm.mk" does not exist. Stop.
Device p970 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_lge_p970
Duplicate device 'CyanogenMod/android_device_lge_p970' found in local_manifest.xml.
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/p970/cm.mk]]: "device/*/p970/cm.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_p970'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
Then I tried:
Code:
. build/envsetup.sh && breakfast p970
And this is the output:
Code:
including device/samsung/maguro/vendorsetup.sh
including device/samsung/tuna/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/p970/cm.mk]]: "device/*/p970/cm.mk" does not exist. Stop.
Device p970 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_lge_p970
Duplicate device 'CyanogenMod/android_device_lge_p970' found in local_manifest.xml.
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/p970/cm.mk]]: "device/*/p970/cm.mk" does not exist. Stop.
** Don't have a product spec for: 'cm_p970'
** Do you have the right repo manifest?
So I went to:
Code:
/android/system/build/envsetup.sh
But couldn't find anything resembling the repo manifest. So that's why I'm here... any help?
Thanks in advanced.
EDIT: Maybe I'm just naïve...
saidhabla said:
I am a completely n00b here and on the Android environment in general.
So I changed it to:
Code:
~/bin/repo init -u git://github.com/CyanogenMod/android.git -b [b]isc[/b]
And it worked!
Click to expand...
Click to collapse
What is isc? Do you mean ics stands for Ice Cream Sandwich?
ICS from CyanogenMod isn't even completed yet, then what are you trying to do?
If you really want to hacking the Android system, I suggest that you synchronize the original android source for ICS to build your own ROM:
Code:
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
PS: I don't know yet the size of ICS source would be.. It says ~6 GB, but I'm not getting into it yet...
.CMIIW.
The first part is easy, rom-manager is in vendor/cm folder instead. The second part is a bit more difficult - there are only device branches for a few models, you need to look at those makefiles and figure out how to recreate them for our device. I'm at the same point myself. Don't be discouraged by negatives, it certainly can be done (arcee is running it) but we should probably discuss it elsewhere and not hijack this thread. Good luck, and PM me of you get anywhere, I'll do the same.
Sent from my LG-P970 using XDA App
redy2006 said:
What is isc? Do you mean ics stands for Ice Cream Sandwich?
ICS from CyanogenMod isn't even completed yet, then what are you trying to do?
If you really want to hacking the Android system, I suggest that you synchronize the original android source for ICS to build your own ROM:
Code:
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
PS: I don't know yet the size of ICS source would be.. It says ~6 GB, but I'm not getting into it yet...
.CMIIW.
Click to expand...
Click to collapse
Thanks!
So, just in case some lost soul come here and watch your post, the command has to be like this:
Code:
~/bin/repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
Thanks again...
---------- Post added at 12:19 PM ---------- Previous post was at 12:18 PM ----------
dharmabm said:
The first part is easy, rom-manager is in vendor/cm folder instead. The second part is a bit more difficult - there are only device branches for a few models, you need to look at those makefiles and figure out how to recreate them for our device. I'm at the same point myself. Don't be discouraged by negatives, it certainly can be done (arcee is running it) but we should probably discuss it elsewhere and not hijack this thread. Good luck, and PM me of you get anywhere, I'll do the same.
Sent from my LG-P970 using XDA App
Click to expand...
Click to collapse
Agree!
And if someone knows how to open a new thread, please let us know. Over for now.
saidhabla said:
And if someone knows how to open a new thread, please let us know. Over for now.
Click to expand...
Click to collapse
"How to open a new thread" ?
Just on the thread list of General/Android Development section, you will notice a yellow box on the top saying in capital : "NEW THREAD". Just click it..
saidhabla said:
Thanks!
So, just in case some lost soul come here and watch your post, the command has to be like this:
Code:
~/bin/repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
Click to expand...
Click to collapse
If you've read the main Android documentation, before we can run just "repo" command, we should set the path:
Code:
$ PATH=~/bin:$PATH
If the path didn't set, then it should run the command:
Code:
$ ~/bin/repo
.CMIIW.
Why would I build my own CM7
Hi
Cyanogen has nightly builds fo CM7. Why would I build my own?
Does it make it possible to change the packages included? Is there a tutorial for it?
Is it possible to take out the LG launcher, widgets and that top bar thing that allows to control the connections, and include it in my build?
(please don't ask why would I want the LG launcher. I just like it...).
Thanks
Mário
offcourse said:
Hi
Cyanogen has nightly builds fo CM7. Why would I build my own?
Does it make it possible to change the packages included? Is there a tutorial for it?
Is it possible to take out the LG launcher, widgets and that top bar thing that allows to control the connections, and include it in my build?
(please don't ask why would I want the LG launcher. I just like it...).
Thanks
Mário
Click to expand...
Click to collapse
i'm sorry,but how long have you been in mars ? lol
the nightlies had stopped at v #20 because of the buildbot was down, and no more update till now
that's why all of us (i don't know if it's just me) are so desperated
offcourse said:
Hi
Cyanogen has nightly builds fo CM7. Why would I build my own?
Does it make it possible to change the packages included? Is there a tutorial for it?
Is it possible to take out the LG launcher, widgets and that top bar thing that allows to control the connections, and include it in my build?
(please don't ask why would I want the LG launcher. I just like it...).
Thanks
Mário
Click to expand...
Click to collapse
Well you can build your own ROM if you having the source code, for example this CM source. And yes, you can do everything you want (change the packages, framework, anything). AFAIK there's no tutorial how to do it, but you should have basically programming skill, especially with C++ and Java, since it's based from those programming language. If you don't have that, then you can just using any launcher out there
CMIIW
redy2006 said:
Well you can build your own ROM if you having the source code, for example this CM source. And yes, you can do everything you want (change the packages, framework, anything). AFAIK there's no tutorial how to do it, but you should have basically programming skill, especially with C++ and Java, since it's based from those programming language. If you don't have that, then you can just using any launcher out there
CMIIW
Click to expand...
Click to collapse
OK, thanks. Clearly not for me coz' we, Martians, don't have programming skills. Just wanted a gingerbread rom without all the crap, neither LG's, Vodafone or even Cyanogen.
Also, because LG's gingerbread update, when it comes, will probably not have the VPN and I can't get any vpn software to work currently, except in Cyanogen (which is buggy in some apps).
I am sorry but vendor lge have 404 error can you get another link ?
I have created this thread to ask whatever you want about unofficial builds for Samsung Galaxy S Advance and make dev threads cleaner.
Original DEV thread: http://forum.xda-developers.com/showthread.php?t=2108362
Just an overall review:
What's working:
It Boots
CWM Recovery
Bluetooth
USB ADB
RIL
Leds
Accelerometer
Gyro sensor
Proximity sensor
Light sensor
GPS
Camera (Pictures and panorama)
Audio
WiFi
USB Mass Storage
USB Tethering
Vibrator
USB MTP
OMX codecs, HW video acceleration and video recording
Bluetooth tethering
WiFi tethering
Microphone in third party apps
Magnetometer (compass)
LPM Charging (poweroff charging)
WiFi direct
NOT WORKING:
?
Known issues:
?
https://github.com/TeamCanjica/TeamCanjica/issues?milestone=&page=1&state=open
Sources: https://github.com/TeamCanjica
All credits to diego-ch, Oliver, Shaaan, Cocafe, Codeworkx, and everyone involved, go to his thread and thank him to encourage his work: http://forum.xda-developers.com/showthread.php?t=2108362
Are you trying to build?
Read this: http://wiki.cyanogenmod.org/w/Main_Page
Info about porting cm: http://wiki.cyanogenmod.org/w/Doc:_porting_intro
Compilling:
repo init -u https://github.com/TeamCanjica/android.git -b cm-10.2
repo sync
cd frameworks/av
git fetch http://review.cyanogenmod.org/CyanogenMod/android_frameworks_av refs/changes/32/52032/2
git cherry-pick FETCH_HEAD
cd ../native
git fetch http://review.cyanogenmod.org/CyanogenMod/android_frameworks_native refs/changes/33/52033/3
git cherry-pick FETCH_HEAD
cd ../../system/core
git fetch http://review.cyanogenmod.org/CyanogenMod/android_system_core refs/changes/34/52034/2
git cherry-pick FETCH_HEAD
cd ../..
. build/envsetup.sh
brunch janice
Click to expand...
Click to collapse
i added my java version here but i dont think it causes the issues
Code:
$ java -version
java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)
im gonna try to init the repo again with cm-10.1
anyone trying to build,
Read This: http://wiki.cyanogenmod.org/w/Build_for_i9300
everything you need to build is in there...
@m4kl4
your java version is fine
diego-ch said:
anyone trying to build,
Read This: http://wiki.cyanogenmod.org/w/Build_for_i9300
everything you need to build is in there...
@m4kl4
your java version is fine
Click to expand...
Click to collapse
i think cm10.1 instead of jellybean could be the issue
to forget about dependencies:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
Click to expand...
Click to collapse
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 oracle-java7-installer pngcrush schedtool tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
Click to expand...
Click to collapse
yes, I use jdk7 as deprecated java commands were fixed in cm9 but you can use jdk6 to be sure that it will work.
To init and sync the repo:
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
repo sync -j16
Click to expand...
Click to collapse
Where 16 is the number of jobs to do simultaneously, some people say that this number must be your cpu cores count +1 so if you have a quad core cpu you use -j5, well I really doubt this and I prefer to use at least j8, you can try it yourself.
frapeti said:
to forget about dependencies:
yes, I use jdk7 as deprecated java commands were fixed in cm9 but you can use jdk6 to be sure that it will work.
To init and sync the repo:
Where 16 is the number of jobs to do simultaneously, some people say that this number must be your cpu cores count +1 so if you have a quad core cpu you use -j5, well I really doubt this and I prefer to use at least j8, you can try it yourself.
Click to expand...
Click to collapse
java is working correct, i think i tested -j a few times now i think j16 is great also j32 makes no big difference, but thanks a lot
could someone try to build using external/dhcpd from cm7.2 branch? I will as soon as I get my pc maybe that fix the wifi issue
Re: [CM10.1][Q/A] CM10.1 for the Galaxy S Advance - Q/A - DISCUSSION THREAD
So need any help here anyone?
Sent from my GT-I9070 using xda premium
Shaaan said:
So need any help here anyone?
Sent from my GT-I9070 using xda premium
Click to expand...
Click to collapse
frapeti helped me a lot, its building atm after that there will be probs :silly:
do you know if brunch cm_janice-eng -j4 makes any differences in build-speed?
edit complete
Running releasetool...
MODVERSION: 10.1-20130201-UNOFFICIAL-janice
Package complete: /home/m4kl4/cm10.1/system/out/target/product/janice/cm-10.1-20130201-UNOFFICIAL-janice.zip
md5: fd70e7ea94727d572f9f410ce9eca471
real 80m14.967s
user 206m55.080s
sys 16m23.589s
Click to expand...
Click to collapse
i built it with -j4 next time i gonna try with -j1 to find out if there are differences
In repo '-j#' corresponds to the jobs being executed at a time. When brunch is used, the maximum possible of jobs is used.
if i add diegos repo to local_manifest get these folders updated automatically?
Re: [CM10.1][Q/A] CM10.1 for the Galaxy S Advance - Q/A - DISCUSSION THREAD
m4kl4 said:
if i add diegos repo to local_manifest get these folders updated automatically?
Click to expand...
Click to collapse
Yes. If you do a repo sync and if there are any changes to Diego's repo by any of the devs, the changes will get synced automatically!
Sent from my GT-I9070 using xda premium
@diego-ch
will this line:
Code:
write /sys/class/leds/button-backlight/brightness 255
@
Code:
/device/samsung/u8500-common/init.samsungjanice.rc
fix button leds? I can't try at the moment, just done the same thing by adding "echo 255 > /sys/class/leds/button-backlight/brightness" in "/system/etc/init.d/90userinit" and it works fine but it's like a workaround I guess XD
PS: I have synced your repo and build but kernel still doesn't boot the system, the recovery still works fine
if you dont do
Code:
$ make clobber
files of older builds are used? only unchanged or everything, should i make clobber everytime?
frapeti said:
@diego-ch
will this line:
Code:
write /sys/class/leds/button-backlight/brightness 255
@
Code:
/device/samsung/u8500-common/init.samsungjanice.rc
fix button leds? I can't try at the moment, just done the same thing by adding "echo 255 > /sys/class/leds/button-backlight/brightness" in "/system/etc/init.d/90userinit" and it works fine but it's like a workaround I guess XD
Click to expand...
Click to collapse
I'm not sure if we should add this to the init.rc, meanwhile we can use it...
frapeti said:
PS: I have synced your repo and build but kernel still doesn't boot the system, the recovery still works fine
Click to expand...
Click to collapse
cm team updated something on cm10.1 branch (or maybe I messed up something)
I'm looking into it...
Re: [CM10.1][Q/A] CM10.1 for the Galaxy S Advance - Q/A - DISCUSSION THREAD
m4kl4 said:
if you dont do
Code:
$ make clobber
files of older builds are used? only unchanged or everything, should i make clobber everytime?
Click to expand...
Click to collapse
Make clobber removes all files including the objective files. This is only needed if you edit the core files like boardconfig.mk
If you edit any other files like recovery.fstab, common.mk then the change is recognized by the system and the files are updated automatically!
So tl;dr, make clobber is to be used only if you edit core config files (mostly only boardconfig.mk)!
Sent from my GT-I9070 using xda premium
I have seen OliverG96 changing the device name on 10.1 repo from bcm4330 to bcm4334 but I think we have different chipsets, for instance our binary file is "/system/bin/bcm4330.hcd" while in sgs3 mini is "/system/bin/bcm4334.hcd"
EDIT: little BIG difference:
i9070: NovaThor U8500
i8190: NovaThor U8420
frapeti said:
I have seen OliverG96 changing the device name on 10.1 repo from bcm4330 to bcm4334 but I think we have different chipsets, for instance our binary file is "/system/bin/bcm4330.hcd" while in sgs3 mini is "/system/bin/bcm4334.hcd"
EDIT: little BIG difference:
i9070: NovaThor U8500
i8190: NovaThor U8420
Click to expand...
Click to collapse
I'm aware of that (see the kernel defconfig).
I pointed it out on that commit... see here
shaaan was the one who merged it.
hope not to be so annoying
@defconfig:
CONFIG_BCMDHD_FW_PATH="/system/etc/firmware/fw_bcmdhd.bin"
CONFIG_BCMDHD_NVRAM_PATH="/system/etc/wifi/bcmdhd.cal"
Click to expand...
Click to collapse
is ths right? XD
Hello,
I don't want to ask how to build ROM.
I am new to building and compiling. I followed tutorial here on xda.
I installed everything crucial, then I do "repo init" ( repo init -u https://github.com/P880-dev/android.git -b cm-11.0) and then "repo sync". Source has downloaded. Then I do "source \envsetup.sh", "lunch", chose 11 as cm_p880-userdebug and at last "make -j6 otapackage". Now I have a question: I am compiling it for like 6 hours and in "home\username\android\out\project\p880" is around 12 GB of data, is that good?
Sent from my LG-P880 using Tapatalk
yep that is good.. every next time would be faster..
how long ? depends on processor and ram
@gerciolisz
Oh, forgot my specs:
Asus laptop
Core i5 3120m
6 GB ram
in virtualbox:
3 cores
2,5 gb
60 gb disk
And run make -j6
whoah it can be a long day to you i have ubuntu in dualboot with windows i5 and 12gb ram and it took about 4 hours
I am more concerned about that I have only 6 gb of disk available. But I think it is on the end of process. It is worth if waiting
Compiling done First compiling successed Tomorrow time for testing.
Just 2.3 GB of storage left
Do I need to manually now run ccache=1 (or sth like that - to not compile everytime everything) or is good if it is already in file somewhere in repos configuration?
You have to initialize ccache before compilation, that way it can cache the code when you first compile it. Check here.
LGaljo said:
Compiling done First compiling successed Tomorrow time for testing.
Just 2.3 GB of storage left
Do I need to manually now run ccache=1 (or sth like that - to not compile everytime everything) or is good if it is already in file somewhere in repos configuration?
Click to expand...
Click to collapse
Just like Adam said.. But anyway it needs more space to cache..
Sent from my LG-P880 using xda app-developers app
I will expand disk. I added first two lines in bashrc. But I didn't run prebuilts/misc/linux-x86/ccache/ccache -M 50G. It is good if I do it now?
Sent from my LG-P880 using Tapatalk
LGaljo said:
I will expand disk. I added first two lines in bashrc. But I didn't run prebuilts/misc/linux-x86/ccache/ccache -M 50G. It is good if I do it now?
Sent from my LG-P880 using Tapatalk
Click to expand...
Click to collapse
You can, but won't have effect now as you already compiled.
gerciolisz said:
whoah it can be a long day to you i have ubuntu in dualboot with windows i5 and 12gb ram and it took about 4 hours
Click to expand...
Click to collapse
Today I built my new build from scratch in 2 hours and half. I made dualboot and run make -j12 otapackage. Mean while I was able to surf the web :laugh:.
Hi!
Perhaps this thread actually can be some kind of a tutorial on how to build CM11 for P880, if you succeded?
I have followed this thread:
http://forum.xda-developers.com/showthread.php?t=2515305
Except i did some mistakes, so i simply did a fresh Ubuntu reinstall on a SSD-disk so it hopefully also will build faster..
I have some questions though:
- Don't we need to insert the code into the local_manifest.xml?
- Also, i see you don't compile it using "brunch p880" command.. Is there a reason for this?
LGaljo said:
Today I built my new build from scratch in 2 hours and half. I made dualboot and run make -j12 otapackage. Mean while I was able to surf the web :laugh:.
Click to expand...
Click to collapse
make -j12 with 3 core inside virtualbox? seems pointless 3-4 would be sufficient. also try schedtool and see if it's faster. (install schedtool, then use schedtool -B -e make -j4 otaimage)
gingerboy92 said:
make -j12 with 3 core inside virtualbox? seems pointless 3-4 would be sufficient. also try schedtool and see if it's faster. (install schedtool, then use schedtool -B -e make -j4 otaimage)
Click to expand...
Click to collapse
You didn't read well, I made dualboot with windows. I don't know how is it possible to run -j12 and no lag. (I was also able to surf the web). can be installed with apt-get? does otaimage produce .img file?
faabak said:
Hi!
Perhaps this thread actually can be some kind of a tutorial on how to build CM11 for P880, if you succeded?
I have followed this thread:
http://forum.xda-developers.com/showthread.php?t=2515305
Except i did some mistakes, so i simply did a fresh Ubuntu reinstall on a SSD-disk so it hopefully also will build faster..
I have some questions though:
- Don't we need to insert the code into the local_manifest.xml?
- Also, i see you don't compile it using "brunch p880" command.. Is there a reason for this?
Click to expand...
Click to collapse
just follow the instructions from the thread until creating the working directory, for initializing repo, use the one from laufersteppenwolf's thread (http://forum.xda-developers.com/showthread.php?t=2551006).
repo init -u https://github.com/P880-dev/android.git -b cm-11.0the next steps are the same.
repo sync
cd vendor/cm/
. get-prebuilts
and other steps. i'm lazy to retype everything if you are really willing to build android from source, you should be able to figure out what i'm saying
---------- Post added at 11:33 PM ---------- Previous post was at 11:23 PM ----------
LGaljo said:
You didn't read well, I made dualboot with windows. I don't know how is it possible to run -j12 and no lag. (I was also able to surf the web). can be installed with apt-get? does otaimage produce .img file?
Click to expand...
Click to collapse
there's no point of using numbers higher than the amount your cpu cores. -j5 or -j6 is fine for quad core cpu, any higher, it doesn't effect anything, just pointless. sudo apt-get install schedtool should work, but again, i have no idea how much difference it will make. otaimage will produce a zip file. you can also use make bacon. make bacon will produce a zip with the proper naming, and more, i guess, idk.
gingerboy92 said:
just follow the instructions from the thread until creating the working directory, for initializing repo, use the one from laufersteppenwolf's thread (http://forum.xda-developers.com/showthread.php?t=2551006).
repo init -u https://github.com/P880-dev/android.git -b cm-11.0the next steps are the same.
repo sync
cd vendor/cm/
. get-prebuilts
and other steps. i'm lazy to retype everything if you are really willing to build android from source, you should be able to figure out what i'm saying
---------- Post added at 11:33 PM ---------- Previous post was at 11:23 PM ----------
there's no point of using numbers higher than the amount your cpu cores. -j5 or -j6 is fine for quad core cpu, any higher, it doesn't effect anything, just pointless. sudo apt-get install schedtool should work, but again, i have no idea how much difference it will make. otaimage will produce a zip file. you can also use make bacon. make bacon will produce a zip with the proper naming, and more, i guess, idk.
Click to expand...
Click to collapse
I'm actually doing the sync now, with the https://github.com/P880-dev/android.git so i'm guessing i'm onto the right path!
Thanks!!
faabak said:
I'm actually doing the sync now, with the https://github.com/P880-dev/android.git so i'm guessing i'm onto the right path!
Thanks!!
Click to expand...
Click to collapse
you are welcome.
hope it will compile.
and boots
don't worry if it bootloops, we all had it at least once.
gingerboy92 said:
you are welcome.
hope it will compile.
and boots
don't worry if it bootloops, we all had it at least once.
Click to expand...
Click to collapse
It compiled!
But.. Of course it bootloops, as i expected! Maybe i should just try to compile it again? What did you do?
faabak said:
It compiled!
But.. Of course it bootloops, as i expected! Maybe i should just try to compile it again? What did you do?
Click to expand...
Click to collapse
it have been a while since i compiled from 4.4 source. i think i read from cm11 development thread someone mentioned that the some patches causes bootloop. perhaps your problem is the same as his. take a look at the thread
gingerboy92 said:
it have been a while since i compiled from 4.4 source. i think i read from cm11 development thread someone mentioned that the some patches causes bootloop. perhaps your problem is the same as his. take a look at the thread
Click to expand...
Click to collapse
Yeah, i also noticed! But it does'nt seems like everyone has that problem.. I run "brunch" again now, it only used like 15 minutes or so.. Will try to install it!