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?
Since I don't have much time to keep on updating my BlendMIUI so I decided to writte a program to give you guys the chance to build BlendMIUI for your own with latest MIUI sources in just few minutes!
Q:What is BlendMIUI Speed-Porting Software For XPERIA 2011
Ans:This is a short program trying to help you guys to build your own BlendMIUI rom for Xperia 2011 in just few minutes.
Q:How to use it?
Unlock Bootloader first!
1.Download BMSPS(BlendMIUI Speed-Porting Software) then unpack it to anywhere you like(Windows environment).Btw,you should install JAVA SE JRE first or it won't works because it needs JAVA environment to sign the rom.You can goto oracle.com/java to download the latest Java SE JRE.
2.Download latest MIUI rom for Desire HD from miui.us(or anywhere you want).
3.Rename the rom you just downloaded as MIUI.zip then put it into BMSPS/MIUI_DHD_ROM directory.(Do not rename it as MIUI.zip.zip!)
4.Run BMSPS_luancher.exe to start.
5.Do as follows then it will automatically create update.zip under the BMSPS directory.
Then you have two choices:
=>Help youself:
6.Put the update.zip rom to your SD-card.
7.Flash BlendMIUI kernel(I have put it into \BlendMIUI-kernel directory) or DooMKernel for MIUI.
8.Use CWM-recovery to flash the update.zip rom.
=>Use Auto-Flash Function
You don't need to do anything on your phone,it will help you to do all works automatically and boot into the new system!
Features:
1.Support Devices: Xperia Arc,Xperia Arc S,Xperia NEO,Xperia NEO V,Xperia Ray.
2.Latest CM7.2.0 rebuilted sources as base.
3.Automatically port MIUI for your device then output unpdate.zip and sign the rom to let you flash it into your device directly.
4.Your choice Function (addons)
5.Fully working Auto-Flash Function
P.S: CM7 sources and kernel for XPERIA RAY are come from bheremans.
Changelog for Version 02:
1.Add moded Packageinstall to let you chose where you would like to install your apps including SD-card.
2.Fixed function to remind you to install java-jre if update.zip is not created.
3.Small changes.
Changelog for Version 03:
1.Fixed PackageInstaller and Torch FC problem when using the ROM from www.miui.com as base.
2.Automatically recognize MIUI version (Depends on the MIUI rom you use) and change Build version for porting rom.
3.Add "Your Choice" function to help you customize your own BlendMIUI rom(BlendUI,DSPManager,Tweaks,Audios from SE).
4.[For DEVs] Whole-New Source code:More easy to read,more easy to add new language(I mean the BMSPS itself) and new functions.
Changelog for Version 04:
1.Disable echoing information for better display.
2.Fixes and improve performance of BMSPS.
3.Add "Auto-Flash" function to help you flash BlendMIUI automatically
Changelog for Version 04.3:
1.Add Xperia Ray ST18i support(All sources for Xperia Ray are come from bheremans).
2.Fixed Auto-Flash function.
3.Fixed ADB Detective bug which cause the software stuck at entering into Auto-Flash function when you input "yes".
Changelog for Version 04.7:
1.Add Xperia Neo V support.
2.Fully working Auto-Flash function (You don't need to do anything on your phone now until it boots into the new system.BMSPS will help you to do everything automatically.)
3.Some small changes
WARNING:This is not an update-package and you'd better delete all old files if you have installed early version of BMSPS.
Make sure you have unlocked bootloader before using this tool.Baseband 56 is recommanded.
Download links:
BMSPS V04.7: http://www.mediafire.com/?4xxna5rim6txmmn
Latest Source Code @ github.com/JasonStein
[Credit]
Bheremans,Eamars,FXP,DooMloRd,enzo...
Please report bugs with screenshots!
Great...!!!
Only one question...!!! What about the kernel...???
great tool !
Now everyone can make his own personal miUI !
thanks man
adiktz said:
Great...!!!
Only one question...!!! What about the kernel...???
Click to expand...
Click to collapse
here is what he said for the kernel.
7.Flash BlendMIUI kernel(I have put it into \BlendMIUI-kernel directory) or DooMKernel for MIUI.
Click to expand...
Click to collapse
Sounds so cool! thanks
Just tried it for 1.11.18 and it works perfectly, a million thanks!
EDIT:
Because I'm lazy and I don't wanna boot into Win7 each time (I just have it for gaming), I compiled the BMSPS_launcher for use on my Fedora installation. I thought I'd upload it here, if anyone else using Linux wants to give it a try.
You just need the zip and unzip packages installed, in addition to the pre-requisites mentioned by Jason.
I attached the modified source file and the binaries for 32 and 64-bit installations.
@Jason: I hope this is fine with you. If not, let me know and I'll remove them. Thanks again for all your work.
Wow! So nice of you guy.
Sent from my LT15i using XDA App
crimilde said:
Just tried it for 1.11.18 and it works perfectly, a million thanks!
EDIT:
Because I'm lazy and I don't wanna boot into Win7 each time (I just have it for gaming), I compiled the BMSPS_launcher for use on my Fedora installation. I thought I'd upload it here, if anyone else using Linux wants to give it a try.
You just need the zip and unzip packages installed, in addition to the pre-requisites mentioned by Jason.
I attached the modified source file and the binaries for 32 and 64-bit installations.
@Jason: I hope this is fine with you. If not, let me know and I'll remove them. Thanks again for all your work.
Click to expand...
Click to collapse
Sure,go ahead,it would be much convenient to Linux users.
Btw I have updated my latest sources on github and I will keep on adding more functions to BMSPS.
crimilde said:
Just tried it for 1.11.18 and it works perfectly, a million thanks!
EDIT:
Because I'm lazy and I don't wanna boot into Win7 each time (I just have it for gaming), I compiled the BMSPS_launcher for use on my Fedora installation. I thought I'd upload it here, if anyone else using Linux wants to give it a try.
You just need the zip and unzip packages installed, in addition to the pre-requisites mentioned by Jason.
I attached the modified source file and the binaries for 32 and 64-bit installations.
@Jason: I hope this is fine with you. If not, let me know and I'll remove them. Thanks again for all your work.
Click to expand...
Click to collapse
Btw you can compiled it for Linux and pack whole things into an package like what I did and give me the download link so that I can attach it to my post.
crimilde said:
Just tried it for 1.11.18 and it works perfectly, a million thanks!
EDIT:
Because I'm lazy and I don't wanna boot into Win7 each time (I just have it for gaming), I compiled the BMSPS_launcher for use on my Fedora installation. I thought I'd upload it here, if anyone else using Linux wants to give it a try.
You just need the zip and unzip packages installed, in addition to the pre-requisites mentioned by Jason.
I attached the modified source file and the binaries for 32 and 64-bit installations.
@Jason: I hope this is fine with you. If not, let me know and I'll remove them. Thanks again for all your work.
Click to expand...
Click to collapse
I have checked your file,there is a mistake:
Code:
if( Device==1 )
{
chdir("DATA/LT15i/");
system("zip -r -u ../../temp.zip *");
}
should be:
Code:
if( Device==1 || Device==2)
{
chdir("DATA/LT15i/");
system("zip -r -u ../../temp.zip *");
}
Cuz LT15i & LT18i share most files
WOW really thanks i just updated my BlendMIUI it works like a charm !
thank you soo much
Edit: Thanks for adding DSPManager !! ^_^
it works soo great on my ARC !!
JasonStein said:
I have checked your file,there is a mistake:
Code:
if( Device==1 )
{
chdir("DATA/LT15i/");
system("zip -r -u ../../temp.zip *");
}
should be:
Code:
if( Device==1 || Device==2)
{
chdir("DATA/LT15i/");
system("zip -r -u ../../temp.zip *");
}
Cuz LT15i & LT18i share most files
Click to expand...
Click to collapse
Ooops, you're right, I must've deleted it by mistake. Thanks for pointing it out!
I'll recompile the thing tomorrow morning and send you the package.
Sent from my LT15i using xda premium
Is there any way to edit this rom to something we want like which APKS are installed and default launcher that kinda stuff?
this is great. it would be accelent if i could chose the language that i whant to install instead of english(not in the cmd window, but for the ROM itself).
can you make a feature for this? only then you will not only be A king you will be THE king.
@Jason: Ok so I've compiled the v2 you posted for Linux 32bit/64bit and archived the whole thing:
EDIT: Reuploaded
http://www.mediafire.com/?9uemvociipaopnn
PS - the source code is attached to the post for your reference. I commented out the Windows-specific lines (instead of deleting them) and put the Linux version below for an easier comparison.
Just one thing, I noticed that even if the update.zip was properly signed and created, the program would still display "5. Failed!" but then clear the screen and show that update.zip was successfully created...
I added an extra condition like below in the Show_Progress function and now it's fine:
Code:
if( i==5 && Step==5 && Out_Check()==0 ) printf("Failed!\n");
crimilde said:
@Jason: Ok so I've compiled the v2 you posted for Linux 32bit/64bit and archived the whole thing:
http://www.mediafire.com/?8vz0xxpyq69afo3
PS - the source code is attached to the post for your reference. I commented out the Windows-specific lines (instead of deleting them) and put the Linux version below for an easier comparison.
Just one thing, I noticed that even if the update.zip was properly signed and created, the program would still display "5. Failed!" but then clear the screen and show that update.zip was successfully created...
I added an extra condition like below in the Show_Progress function and now it's fine:
Code:
if( i==5 && Step==5 && Out_Check()==0 ) printf("Failed!\n");
Click to expand...
Click to collapse
Yes,I made a little mistake:
Code:
void Sign_Rom()
{
Show_Progress(4);
system("java -jar signapk.jar testkey.x509.pem testkey.pk8 temp.zip update.zip");
system("del temp.zip");
Show_Progress(5); // Delete this line!!!
}
Code:
Show_Progress(5);
shouldn't be there.Just remove this line and it will be fine.
I will keep on updating my source code to add more useful functions to give you more choices and let it become not only a speed-porting software but also an MIUI rom customization tool.The early version of BMSPS is quite short with some basic functions and it's not written in a standard way.I'm going to do some changes and if you like to contribute to it,you can always fork my source code and add your own things including some useful functions and I will be appreciate.
P.S:
I will release next version of BMSPS with some useful functions before MIUI 1.11.25 released.
JasonStein said:
Yes,I made a little mistake:
Code:
void Sign_Rom()
{
Show_Progress(4);
system("java -jar signapk.jar testkey.x509.pem testkey.pk8 temp.zip update.zip");
system("del temp.zip");
Show_Progress(5); // Delete this line!!!
}
Code:
Show_Progress(5);
shouldn't be there.Just remove this line and it will be fine.
Click to expand...
Click to collapse
Yeah, you're right, it's better to just remove that line instead of adding an extra condition. I'm reuploading now and I'll update the link in my post above once it's done.
crimilde said:
Yeah, you're right, it's better to just remove that line instead of adding an extra condition. I'm reuploading now and I'll update the link in my post above once it's done.
Click to expand...
Click to collapse
And it's done.
Thanks. Updated the MIUI to the latest version. This is so awesome
I would like to start building this rom (with kernel), because I did not like how it was stopped by Maclaw, but I need people to help me because I have a netbook and the construction of the rom could be very slow.
Any volunteers?
UP
i can help, did u downloaded the source?
Messi10 said:
i can help, did u downloaded the source?
Click to expand...
Click to collapse
Yes now I just have to fill the rom
Fedefriffo said:
Yes now I just have to fill the rom
Click to expand...
Click to collapse
if u have ant error in building post it here and i will try to help
Can I use Squadzone source for the kernel? I know that support the swap partition ...
Ok I finished the repo sync following this guide: http://source.android.com/source/downloading.html , now how do I build for arm-v6? (noob question)
Fedefriffo said:
Can I use Squadzone source for the kernel? I know that support the swap partition ...
Ok I finished the repo sync following this guide: http://source.android.com/source/downloading.html , now how do I build for arm-v6? (noob question)
Click to expand...
Click to collapse
see this guide
Messi10 said:
see this guide
Click to expand...
Click to collapse
Thanks, it was what I wanted
Ok so now I have a problem with the guide, I followed everything but when he says: replace CM9 folder tree with this, do you mean?
Fedefriffo said:
Ok so now I have a problem with the guide, I followed everything but when he says: replace CM9 folder tree with this, do you mean?
Click to expand...
Click to collapse
do this in terminal
cd android/system
git clone git://github.com/Squadzone/GalaxyMini_cm9_config
Click to expand...
Click to collapse
Messi10 said:
do this in terminal
Click to expand...
Click to collapse
Already done, but when I put the command. build / envsetup.sh && brunch tass says it can not find the device
Fedefriffo said:
Already done, but when I put the command. build / envsetup.sh && brunch tass says it can not find the device
Click to expand...
Click to collapse
try repo sync again
Messi10 said:
try repo sync again
Click to expand...
Click to collapse
Ok now I try to build, likely tomorrow afternoon news
One question, can I use the 3.0 kernel source taken by galaxy nexus?
Fedefriffo said:
Ok now I try to build, likely tomorrow afternoon news
One question, can I use the 3.0 kernel source galaxy taken by nexus?
Click to expand...
Click to collapse
i don't think so
there is no "brunch" in aosp;
do:
Code:
. build/envsetup.sh && lunch full_tass-userdebug
Code:
make -j[B]x[/B]
o r
Code:
make -j[B]x[/B] otapackage
where x is jobs, I have 4 cores and 4 threads so I use make -j8
TheWhisp said:
there is no "brunch" in aosp;
do:
Code:
. build/envsetup.sh && lunch full_tass-userdebug
Code:
make -j[B]x[/B]
o r
Code:
make -j[B]x[/B] otapackage
where x is jobs, I have 4 cores and 4 threads so I use make -j8
Click to expand...
Click to collapse
I have this error: federico @ Balamb-DOTS: ~ / $ AOSP_GALAXY_MINI. build / && envsetup.sh lunch full_tass-userdebug
Including device / asus / grouper / vendorsetup.sh
Including device/generic/armv7-a-neon/vendorsetup.sh
Including device/generic/armv7-a/vendorsetup.sh
Including device / bike / wingray / vendorsetup.sh
Including device/samsung/crespo4g/vendorsetup.sh
Including device / samsung / kinky / vendorsetup.sh
Including device / samsung / maguro / vendorsetup.sh
Including device / samsung / bull / vendorsetup.sh
Including device / you / panda / vendorsetup.sh
Including sdk / bash_completion / adb.bash
build / core / product_config.mk: 205: *** No product matches for "full_tass". Arrest.
Product ** Do not have a spec for: 'full_tass'
** Do you have the right repo manifest?
federico @ Balamb-DOTS: ~ / $ AOSP_GALAXY_MINI
you need file full_tass.mk in device/samsung/tass. Check github/MaclawStudios
TheWhisp said:
you need file full_tass.mk in device/samsung/tass. Check github/MaclawStudios
Click to expand...
Click to collapse
I've found full_gio.mk not full_tass.mk
Fedefriffo said:
I've found full_gio.mk not full_tass.mk
Click to expand...
Click to collapse
Just take this (attachment)
Thanks now i 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!