[Dev-Only]Ubuntu-Touch - HTC One X

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
That said, Hello everyone!
As you may know the latest Ubuntu previews are much more better than the first ones (obviously, this is called development :laugh and they can be used, maybe :fingers-crossed:, pretty much as a good daily system. In fact many of the things that weren't working before have been fixed and they work now
I wanted to create this post in order to discuss about the Ubuntu development in one single place which is right here.
>>>>>OFFICIAL UBUNTU PORTING GUIDE<<<<<
>>>>>USEFUL GUIDE<<<<<
I'll write down what to do in order to begin developing, most of you won't need it in fact this will be more as a check guide to make sure that you did every thing right, but just in case.
DEVELOPMENT PROGRESS:
Code:
...Coming Soon...
​

Do not follow these steps, they're old. I'm updating the post in a few days.
HOW TO SETUP THE DEVELOPMENT ENVIRONMENT
Packages Needed
Code:
$ sudo apt-get install git gnupg flex bison gperf build-essential \
zip bzr curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 ubuntu-dev-tools tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 schedtool bsdiff
Code:
$ sudo add-apt-repository ppa:phablet-team/tools
$ sudo apt-get update
$ sudo apt-get install phablet-tools
Ok the first thing we're going to do is of course downloading the sources. The sources that Ubuntu-touch uses are the same as the CyanogenMod but they have only C/C++ files.
Download the sources
Code:
phablet-dev-bootstrap (-j4) ubuntu-touch
This will download all the sources in the ubuntu-touch directory, it will take a while so take it easy
Once finished you need to download all the extra repos for the HTC One X
Code:
$ cd ubuntu-touch
$ . build/envsetup.sh
$ breakfast endeavoru
It should start downloading all the extra files automatically.
We need one more thing to begin the editing part, the vendor files. To get them we need to add some lines in the local_manifest of the ubuntu-touch/.repo/ directory, inside of it there should be a file named roomservice.xml or something similar and we need to edit that one
Code:
$ gedit ubuntu-touch/.repo/local-manifest/roomservice.xml
Now a text editor should come up, delete everything that's inside of it and replace it with this one
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_htc_endeavoru" path="device/htc/endeavoru" remote="github" revision="cm-10.1" />
<project name="CyanogenMod/android_kernel_htc_endeavoru" path="kernel/htc/endeavoru" remote="github" revision="cm-10.1" />
<project name="TheMuppets/proprietary_vendor_htc.git" path="vendor/htc" remote="github" revision="cm-10.1" />
</manifest>
Save the file and finally type
Code:
$ repo sync (-j4)
This will donwload the lastest files we need.
Changes Needed
Ok right now that our directory contains all the needed files we need to edit some of them to compile this without any issue.
I'll write down what i have edited (the same things that the ubuntu site says) but as you know the output .zip won't pass the bootanimation process so we all guess that there's more to edit to get everything working.
NOTE: I won't explain WHY we need to edit these files, if you want to know this refer to the ubuntu official porting guide
First of all we need to edit the fstab.endeavoru that can be found in the ubuntu-touch/device/htc/endeavoru/ramdisk directory. We need to delete the nosuid from the /data partition and in the end it should look like this
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/sdhci-tegra.3/by-name/APP /system ext4 ro,barrier=0 wait
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 noatime,nodev,noauto_da_alloc,barrier=0 wait,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/DUM
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,barrier=0 wait
/dev/block/platform/sdhci-tegra.3/by-name/RCA /rca ext4 noatime,ro,barrier=0 wait
/dev/block/platform/sdhci-tegra.3/by-name/RFS /rfs ext4 noatime,rw,barrier=0 wait
/dev/block/platform/sdhci-tegra.3/by-name/DLG /devlog ext4 nosuid,nodev,barrier=0 defaults
Next we need to add some more features to the Kernel, go to the ubuntu-touch/kernel/htc/endeavoru/arch/arm/configs directory and edit the file named cyanogenmod_endeavoru_defconfig. We need to add these strings
CONFIG_SYSVIPC=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_SWAP=y
# CONFIG_ANDROID_PARANOID_NETWORK is not set
CONFIG_VT=y
CONFIG_VT_CONSOLE=y.
I'll directly attach mine in a .txt file so that you can compare the two
At this point we need to change the init.rc located in the ubuntu-touch/device/htc/endeavoru/ramdisk, i'll attach mine in a .txt file so that you can replace it with the original one
Next we need to add some more code to the ubuntu-touch/kernel/htc/endeavoru/fs/proc/array.c file, in particular we need to add these lines here
Code:
static void task_vpid(struct seq_file *m, struct task_struct *task)
{
struct pid_namespace *ns = task_active_pid_ns(task);
seq_printf(m, "Vpid:\t%d\n", ns ? task_pid_nr_ns(task, ns) : 0);
}
Code:
task_vpid(m, task);
You'll find my file again attached down here
Finally we need one more file to compete the editing process, the ubuntu-touch/build/core/main.mk. This file is the one that "controls" the build process so it is very important, if you do not edit this file the compile process will break at some point. We need to add two lines in the right place and order
Code:
external/wpa_supplicant_8_ti \
Code:
vendor/htc \
Again, you'll find my file attached in a .txt file, where to put these lines is very intuitive though.
Now we are good to compile it, navigate to the ubuntu-touch directory and type
Code:
$ cd ubuntu-touch
$ . build/envsetup.sh
brunch endeavoru
At this point the terminal will begin to compile the base. When it finishes you will find the base in the out/target/product/endeavoru folder
NOTE: Everytime you want to compile again, make sure to type
Code:
$ cd ubuntu-touch
$ make clean
Hope this helps, good luck and report if you discover something important

CREDITS
Huge thanks goes to these guys who helped developing this project thumbup for them!
>>>>>@[SIZE="3"]Thunder07[/SIZE]<<<<<
>>>>>@[SIZE="3"]Jhinta[/SIZE]<<<<<
@TToivanen
@utopykzebulon
@One-X-master​
ISSUES#Overheat (Depends on the usage)
#Phone Call
#Sms
#Some icons don't show up
#Phone Network
#Camera​
DOWNLOADS
Android Layer
boot.img
Ubuntu Package (Download the armhf.zip.) ​
HOW TO INSTALL
1- Full-Wipe
2- Flash Android Layer in recovery
3- Flash Ubuntu Package in recovery
4- Flash Provided boot.img
5- Reboot​

You have to build them mate...and not port it..
Sent from my HTC One using xda premium

razer1224 said:
You have to build them mate...and not port it..
Sent from my HTC One using xda premium
Click to expand...
Click to collapse
Yeah you're right i'll change the title
EDIT: should be ok now, however it could be considered as a kind of porting but this is not the point

Tomorrow i'll post my source code so everyone can clone it to wherever he wants
EDIT: i run into some problems with github, i'll probably upload it on the weekend. Sorry guys

OP updated, if someone wants to try, i have wrote down a little guide on how to begin compiling this... need to finish it though give me about half an hour and all will be written
EDIT: Finished, everything should be ok now

gianmarco957 said:
Does data, phone, messages etc work?
Click to expand...
Click to collapse
if boot is working then maybe some other things are working too...but mhm i also don't know
---------- Post added at 02:27 PM ---------- Previous post was at 02:14 PM ----------
we need ubuntu on pc for those packages right? if yes i have to install it the next days then i also can try it

One-X-master said:
[/COLOR]we need ubuntu on pc for those packages right? if yes i have to install it the next days then i also can try it
Click to expand...
Click to collapse
yes, >12.04 ubuntu needed

matt95 said:
yes, >12.04 ubuntu needed
Click to expand...
Click to collapse
ok will install and try it the next days how much space do i need for all those packages which are in OP, i mean which i need download from the repos?

One-X-master said:
ok will install and try it the next days how much space do i need for all those packages which are in OP, i mean which i need download from the repos?
Click to expand...
Click to collapse
i'll say about 20Gb to be sure

matt95 said:
i'll say about 20Gb to be sure
Click to expand...
Click to collapse
What about the stuff I've ask you before?

gianmarco957 said:
What about the stuff I've ask you before?
Click to expand...
Click to collapse
oh i didn't said it right it's not working ...therefore he made this thread so we can try to get it working...therefore only for devs...or for people who can try that.....
---------- Post added at 02:55 PM ---------- Previous post was at 02:54 PM ----------
matt95 said:
i'll say about 20Gb to be sure
Click to expand...
Click to collapse
holy **** okay i just have a download speed of 250 kb/s :/ ...

One-X-master said:
ok will install and try it the next days how much space do i need for all those packages which are in OP, i mean which i need download from the repos?
Click to expand...
Click to collapse
your forgetting
Code:
sudo apt-add-repository ppa:phablet-team/tools
sudo apt-get update
sudo apt-get install phablet-tools

Jhinta said:
your forgetting
sudo apt-add-repository ppahablet-team/tools
sudo apt-get update
sudo apt-get install phablet-tools
Click to expand...
Click to collapse
thanks forgot about those added to OP

btw is boot fixed already? if not what is the error ( downloading to build)

Jhinta said:
missing cd ubuntu-touch
---------- Post added at 05:21 PM ---------- Previous post was at 05:13 PM ----------
btw is boot fixed already? if not what is the error ( downloading to build)
Click to expand...
Click to collapse
i'm trying many many different things but i don't know why it remains always in the bootanimation, i'll try to use a different kernel and see if that works but i doubt it

matt95 said:
i'm trying many many different things but i don't know why it remains always in the bootanimation, i'll try to use a different kernel and see if that works but i doubt it
Click to expand...
Click to collapse
kernel or initrd or rootf error? you have a id?

Jhinta said:
kernel or initrd or rootf error? you have a id?
Click to expand...
Click to collapse
i can't access to any logcat so i don't even know what's causing this...

matt95 said:
i can't access to any logcat so i don't even know what's causing this...
Click to expand...
Click to collapse
enable fb -> console and have cmdline have console=tty0

Related

Guide to compiling (covers cm7)

This guide is geared to people that are new to ubuntu but would like to start playing with the internals of their android device and maybe even make themselves a rom,
disclaimer: if you break your equipment well that just plain sucks
If you are new to linux or wanna learn more about ubuntu, here is a link to the ubuntu 10.10 wiki and is full of great info
http://ubuntuguide.org/wiki/Ubuntu:Maverick
So you got yourself a nice copy of Ubuntu 9.10/10.04/10.10 and you have every intention of building a rom for yourself or maybe you just wanna learn the inside workings of android, well there are a few extra steps for getting it set up in 9.10/10.04. Gonna try to make this an easy transition since most of you are coming from a windows based machine. Make sure that you have at least a 30 gb partition set up to follow along with this guide, more is better but I know some don't have the hard drive space to spare.
So let's get our hands dirty
First we need to set up java and get a few programs, but first we need to open up our software settings, this is achieved by going up to our MENU BAR, going to SYSTEM and then then ADMINISTRATION. We will then go into SOFTWARE SOURCES. On 9.10/10.04, the repository for java 5 was removed so we need to add 9.04's repository. So let's go to our second tab marked “other software” and click ADD. A small box will open up asking us to add a apt line. So we have two software lines to add individually.
(on 10.10 software sources is inside update manager, clicking settings gets you into it)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
then
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
Now, make sure that both are checked to be used in software sources and close the window. It should ask to update your sources, allow it to (insert screenshot)
Some people have problems with internal wireless cards so this might be a fix for you which was an issue for me and thankfully Garok89 had the answer. This fix works on Broadcom based cards only (including Dell wireless cards).
For the wireless card (plug in via ethernet of course)
Open up a terminal and type
sudo apt-get install bcmwl-kernel-source bcmwl-modaliases
Reboot and then enable via System>Administration>Hardware Drivers
and see if it now says that you have proprietary drivers now
gingerbread is 64 bit only
http://groups.google.com/group/android-building/browse_thread/thread/852d63ab6124c87e?pli=1
Let's open up a pretty little terminal and let's get some debs (debs are Linux distribution specific packages like we have apks in android). After entering this command it will ask you to input the "[sudo] Password for xxxxx", this is the password you use to logon. (When you type your password you will not see anything, this is for security purposes)
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 sun-java6-jdk gitg qt3-dev-tools libqt3-mt-dev eclipse valgrind
NOTE: If we want to build with a x64-bit system we must also do the following
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 sun-java6-jdk gitg qt3-dev-tools libqt3-mt-dev eclipse valgrind pngcrush wput
It is quite a lot but it will download quickly depending on your internet connection, but almost all are needed, and yes, I did put in both java 5 and 6 because for some reason it helps having both installed side by side.
(don't forget to run update manager again and get your system up to date)
well while we are here we midas well set up our tool for downloading the source
REPO
Repo is a tool that makes it easier to work with Git in the context of Android. It is a almost the same as Git and we will go into the differences at a later time
we are gonna make sure that we are in our right directory so
cd ~
~ means home/user dir, so in my case it would be /home/sykopompos/ but using ~ allows us to simplify our use.
Mkdir bin
export PATH=${PATH}:~/bin
by typing echo $PATH we can see the all of what is in our path
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
to get the repo script
then we give it executable permissions so we can run it as a program
chmod a+x ~/bin/repo
Now we have repo set up we can move on to other things. Let's get going with setting up the android sdk. Let's go to the sdk's page in our web browser
http://developer.android.com/sdk/index.html
and select the newest linux version and download. When it is finished downloading open it up and extract it to your home/user folder and rename it to androidsdk for guide following ease purposes
next let's set up eclipse
open up eclipse, it will be in your menu bar under programming. just let it save to the workspaces folder that it defaults to and open up the help tab up on the top bar and go down to install new software
and add this line into the open text bar and type this
http://dl-ssl.google.com/android/eclipse/
now click add and in the box down below you will see it says developer tools. Click on the little check box and hit next. You should see android development tools hit next and follow the prompts and wait for it to download and install. You will have to agree to the terms to download, You will get a warning about unsigned content, just say yes. Once it is done click to restart Eclipse then go up to the window tab and go down to preferences, in the new window that pops up, go to android and add in where your android sdk is. Just hit ok and not apply or it will complain.
close out of that window than go down to in the window tab again and go into android sdk and avd manager. Go down to available packages and click on the little check box again. Download all available packages (you can prob get away without downloading anything pre 1.5/cupcake. Let that download and exit out
testsigning
go up to places on your desktop menu bar and go into your home folder. Press Ctrl and h together on your keyboard to show hidden folders. Anything marked with a . in front of it is hidden, we are looking for a folder name .gnome2, go into it and look for nautilus-scripts. Once inside this folder, right click on a empty space and select create document and then empty file and name it sign. Open up that empty document and copy and paste this script from dumbfaq on xda
#!/bin/bash
# Update the Loc var to where YOU stored the testsign.jar file !
SUCCESS=
Loc=~/androidsdk/tools/
for arg
do
TMP=$(ls $arg | sed 's/\(.*\)\..*/\1/')
EXT=${arg##*.}
java -classpath "$Loc"testsign.jar testsign "$arg" "$arg"-signed 2> /tmp/signTmp
SUCCESS=$?
if [ $SUCCESS -eq 1 ]
then
zenity --info --title "Sign APK" --text "signing FAILED! \n`cat /tmp/signTmp`"
exit 1
fi
mv $TMP.$EXT-signed $TMP-signed.$EXT
done
zenity --info --title "Sign APK" --text "signing completed!"
save and exit out and right click on our new script and select properties. select thru the tabs and look for a check box that says allow executing as a program. click on it and now we have a pretty little script that we can just right click on a update.zip file and sign with our test keys for flashing. but first we need to download the testsign java file and add it to our androidsdk/tools folder http://rapidshare.com/files/257189327/testsign.jar do not extract this just add it to the tools folder.
Last but not least, we need to set up adb
Open up a terminal (you might still have the previous one open, you can use that just make sure you are at ~/) and type
gedit .bashrc
paste this in the top
#AndroidDev PATH
export PATH=${PATH}:~/androidsdk/tools
export PATH=${PATH}:~/androidsdk/platform-tools
save and exit
we will check what our phone's vendor id is, this is helpfull to see if our phone is on the list, with all the growing numbers of new manufacturs producing android it is hard know every vendor's id so type
lsusb
while your phone is connected to see our vendor id and you will see something like this, if you have a device not listed please send me the vendor id at [email protected] so i can update in for others
Bus 002 Device 004: ID 0bb4:0c91 High Tech Computer Corp. (example is G2)
In this case the Vendor Id is “18d1″ and the Product ID is “4e12″. Please keep in mind that the Vendor ID for HTC changed from “0bb4″ to “18d1″. The older HTC phones like the G1 have a Vendor ID of “0bb4″.
in most cases as seen below we only need the vendor id and with a new device you can just c+p the line and replace the vendor id
so now we can make our rules file for connecting for adb so
sudo gedit /etc/udev/rules.d/51-android.rules
paste
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
SUBSYSTEM==”usb”, ATTRS{idVendor}==”18d1″, SYMLINK+=”android_adb”, MODE=”0666″
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
save and exit
reboot your computer to have the new changes take effect otherwise adb will not be in your $PATH
let's check to make sure our device is seen by adb by typing
adb devices
it should give you info back that you are connected if you are not or it doesn't read the vendor id than it might be a little bit more complicated, note adb will not read if you have usb mass storage mounted, also need usb debugging on in settings/apllications/development on your phone
Now we have a complete android development environment, aren't you proud of yourself. You are well on your way to making your own custom rom
it is a wise idea to have a backup of a system dump for stock apps and to get a feel for the way android is set up and also to pull any needed files from that are easily viewed on your computer at least as refefence connect your phone in adb in the terminal type
cd ~/
mkdir stock
cd stock
adb pull /system/ ~/stock/
this will make a system dump of your systems folder of your device, a wise idea would be to make a zipped versions of it and put it someplace secure
Compiling cyanogenmod 7 source
Now we work on actually pulling sources and compiling source code. Since Cyanogenmod 7 is the most popular we will work with this (as of writing 1/15/11, cm7 source does not have a Rc1 yet so non official builds after the bacon script has the KANG attached to them)
So let’s pull cm7, open a terminal and type these commands
(you can name your source folder whatever you like but for guide purposes it will be cm7)
(make sure you are at ~)
mkdir cm7
cd cm7
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
It will ask you to enter your name and email (this is completely optional and you can just press enter to skip)
Press y and enter to confirm that your identity is correct, press y again to enable user color
You will now see repo initialized in our in our cm7 folder
Now we can use repo sync (this acts as a git clone to copy the source to our local branch)
In the terminal type
repo sync
This will take a while to download depending on your internet connection since it is pulling in over 2gb of source code (don’t use tethering during this as it will eat up your data for the month)
(you can use -j`grep 'processor' /proc/cpuinfo | wc -l` to run at full cpu speed. -j# (# means twice the amount of cores in your computer) means jobs. I will compare this to workers, your cpu could be a dual core, quad core and/or have hyperthreading (hyperthreading means a quad core will be seen as having 8 cores, I7 are considered this) well each one of your cores is a worker so one worker would be -j2 meaning the worker will handle 2 jobs. If you tell your workers to do more jobs then they won’t be happy being overloaded just like how any worker would be and will actually be slower. Now -j`grep 'processor' /proc/cpuinfo | wc -l` means read your computer’s info and run at optimal speed, now why choose between the 2 well you might not wanna run at max speed and just wanna use only half your power so you use your computer for other things during)
When we are done syncing we can get back to work
I am gonna use vision as an example but you can change it to suit the device you are working on
connect your phone you are gonna work for adb and open a terminal or use current previous terminal
(note, the proprietary vendors have been modified to work for gingerbread so make sure you have either the most up to date cm7src build or when rc1/stable comes out on your phone to get the proper files)
(this assumes you are using a previous and are in cm7)
cd device
cd htc/vision
bash extract-files.sh
cd ~/cm7
cd vendor/cyanogen/
bash get-rommanager
cd ~/cm7
We now have pull the proprietary files for our phone so we can inject them into our build along with rom manager since it is required and will fail the build if you don’t
(if you look in your cm7 source you will now see inside vendor a folder called htc (our manufactor, if you are working on a samsung or motorola you will see that) and inside it you will see your device)
We are actually now ready to build so in our terminal
source build/envsetup.sh
lunch cyanogen_vision-eng
make clean
make bacon -j`grep 'processor' /proc/cpuinfo | wc -l`
Now our build is compiling
(the lunch command pulls target specific info so there is no need for a buildspec.mk to be made as lunch does this for us)
(always make clean between builds to remove old compiled files and make sure you have a fully working build with each update, it takes a bit longer but it is worth it)
(make bacon is a script that runs make otapackage and the squisher script which uses pngcrush to cut down the size and also removes unneeded things added by doing a -eng build, it also resigns it)
When your build is complete you should have a update-cm-7.0.0-RC0-vision-KANG-signed.zip in your cm7/out/target/product folder, this is your new build.
Congratulations on your first build from cm7 source
Now for a new build you would repo sync again, make clean and make bacon again
Kernel compiling
We are gonna be pulling the cyanogenmod htc msm 7x30 kernel source, this covers ace, vision and glacier
so let’s open up a terminal and clone the kernel source so we can work with it
cd ~/
mkdir kernel
cd kernel
git clone git://github.com/CyanogenMod/htc-kernel-msm7x30.git
cd htc-kernel-msm7x30
We now have our source pulled and now need to set up our cross-compilier so we can make our kernel
export CROSS_COMPILE=~/cm7/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
export ARCH=arm
Now have our cross compilier toolchain set up and will need to now tell it what to build, I find that make menuconfig is just plain ugly and rough to work with so
make xconfig
This will load a nice menu UI for us to work with, we are not gonna get into modifying the kernel but just a default config so go up to file and click load and select arch, then arm, then configs.
select cyanogen_vision_defconfig and click open, this will load the default cyanogen kernel config and is what you will find in a cm7 build (or glacier or ace depending what you are building for)
You can just click the x button in the corner to close it and collect save changes
Now we can compile our kernel, we can us the -j command like before to speed it up
make -j`grep 'processor' /proc/cpuinfo | wc -l`
Once the kernel compiles we have to grab our zimage and our wifi module (the couple lines up will show you the modules made and the location)
The zimage is our kernel and it can it can be found at /kernel/htc-kernel-msm7x30/arch/arm/boot/ and our wifi module name as bcm4329.ko (modules have a .ko extension) is found at /kernel/htc-kernel-msm7x30/drivers/net/wireless/bcm4329/
These are the only things we need to worry about. Now you can adb push the wifi module onto your phone and fastboot the zimage or we can have it built into our build by going to cm7/device/htc/vision/ and replacing the kernel with our zimage (will need to rename zimage to kernel) and putting our wifi module in modules and overwriting the one currently there (Make a backup of the stock kernel and wifi modules to replace your’s just in case)
Now you have your own kernel and you can compile it into your build
reserved jhjlkk,mlkjnl;klm
reserved for future use
you guys can post now
Instead of make bacon -j`grep 'processor' /proc/cpuinfo | wc -l`, you can type mka bacon. mka uses schedtool (may have to install the package) as well as auto doing the correct number of jobs.
And after you do a ". build/envsetup.sh", you can just type reposync, rather than repo sync do do a faster sync of the repos because it will do a -j10. (repo supports multiple simultaneous jobs (ie -j#)
Wow a lot to learn. Now I have to kick the dust off my Linux and see what version it is and how much of a partition I made. Now I have something to do along with being a flash junkie.
I want to really Thank You for this guide. I really commend those that try to help others. Some people might not be able to do this no matter how easy you make it. But some including myself will find this information very useful.
A big thanks.

			
				
Thank you for sharing this with the Community.
Holy mother of matrimony, with corpses
You say 2.3 is 64-Bit only. Is that referring to the OS on the computer?
bubonik said:
You say 2.3 is 64-Bit only. Is that referring to the OS on the computer?
Click to expand...
Click to collapse
The os needs to be 64 bit, that is according to google's android blog
Sent from my HTC Vision using XDA App
gridlock32404 said:
The os needs to be 64 bit, that is according to google's android blog
Sent from my HTC Vision using XDA App
Click to expand...
Click to collapse
Hmm Not sure what ubuntu 10.04 is? 32 or 64 bit? Also can I make a extra partition for this as the original one for ubuntu is only 15 mb? And do I make it ext4 or Fat32?
bobsbbq said:
Hmm Not sure what ubuntu 10.04 is? 32 or 64 bit? Also can I make a extra partition for this as the original one for ubuntu is only 15 mb? And do I make it ext4 or Fat32?
Click to expand...
Click to collapse
You can make it a new partition but you will have to change all the commands to the new partition so it might be more hassle than it is worth. Make it ext 4 for speed cause it is a native linux file system
Sent from my HTC Vision using XDA App
Updated the op with a link regarding gingerbread needing a 64bit os host
I'm gonna learn how to make bacon! Thanks for this thread.
Wish you had this up last month when I was pulling my hair out trying to figure this crap out. Thanks for it!
Is ffc working? ;p
The link in the first posst to ubuntu pocket guide is not working . It gets you to 4shared,but when trying to download it i just get that link is broken
I've built a rom for my incredible. I haven't flashed it as I went to work, and by the time I came back it was out of date lol. I ran it in a 32 bit VM, so I don't know what's up with needing 64 bit, as it's not what I used and got a good build I believe.

[TUTORIAL] Setting up and Compiling JB and ICS from AOSP

Quite a few people have asked about compiling ROMs from source, so here's a guide.
This guide is directed mainly at compiling JB or ICS for the GSM Galaxy Nexus.
It will show you how to set up the building environment really quickly with a few simple commands in the Terminal, then show you how to sync up with the repository and compile a ROM.
http://www.freeyourandroid.com/guide/compile-ics
It can also be done in a Virtual Machine.
Thanks Nathan (nprussell) for the write up!
My XDA TV Video Guide:
http://www.youtube.com/watch?v=H_ReU-0w4IE&feature=g-u&context=G2a40714FUAAAAAAAZAA
---
Here are the steps:
(There are additional things you can do via the link above).
======================
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
IMPORTANT NOTES:
- For the purposes of this guide, you MUST be running 64-bit Ubuntu. This can be set up on a VM (it will compile if set correctly).
- If using a VM, ensure you give it at LEAST 2gb RAM and 2xCores (it'll take 3-4 hours at best)
- The source download is approximately 6gb.. you're going to need 25gb HD space for a single build.
To learn how to setup a Ubuntu 64bit VM on your Windows PC, use THIS GUIDE. I recommend using 10.04.
So... let's assume you're running Ubuntu 64 bit for the first time, and start right from the beginning.
NOTE : You're probably better of copying and pasting these commands, as some are quite long! All commands are in RED!
======================
1. Preparing your development environment
The very first thing you're going to need to do, is ensure you're working in a root terminal. Much like when using your Android phone, you'll want the # and not the $. In order to do this, open TERMINAL, and type:
sudo -i
Then type in your password. From this point forward, all of the commands in this guide assume you have root priviliges (saves typing sudo *superuser do* before everything!)
Next, we need to add a repository so that apt-get knows where to look for Java JDK:
add-apt-repository "deb http://archive.canonical.com/ lucid partner"
After that, you'll need to update the repository with the following command:
apt-get update
Now that your repository has been updated, you can proceed with installing the required packages to make building Android from source possible. The first thing you're going to need is the Java Development Kit 6:
apt-get install sun-java6-jdk
Followed by (and this may already be installed depending on which version of Ubuntu you went for):
apt-get install python
Now you're going to need Git. Git is the revision control system.
apt-get install git-core
Now, you're going to pull in all the required packages needed for the build process. As I have stated already, this guide is for 64 bit ONLY. Some of these will not work on 32-bit, so if you're using 32 bit, you're reading the wrong guide (sorry)!
apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils
IF YOU'RE USING UBUNTU 11.10, TYPE THIS COMMAND (if not, ignore this next one)
ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
Congratulations; you now have all the required packages to proceed with the next step!
======================
2. Installing and initialising the repo
Now we need to download repo, add it to our path and set the permissions . Please note that if you close terminal, you'll have to do this again. Type each command on a new line, pressing enter after each:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Now we need to create a directory for where our source is going to be pulled to, and change directory to it:
mkdir ICS_SOURCE
cd ICS_SOURCE
Next, you'll need to initialize the repo. There are two commands below; the top one initializes the specific branch, and the bottom is the master.
ONLY USE ONE OF THE FOLLOWING COMMANDS (recommended - TOP)
ICS: repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.4_r1
Jellybean: repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.2_r1
OR:
repo init -u https://android.googlesource.com/platform/manifest
You will now be prompted to provide your name and email address. Please give it real details; that way you can use the gerrit code review tool if your email is connected with a Google account.
======================
3. Downloading the source (sync)
This is probably the most simple part, but depending on your connection speed, it could take a while. I am on 40mb download/10mb up, and it took about 25 mins. If you're on a typical DSL connection, expect to be waiting 60-120 minutes.
repo sync
======================
4. Obtaining proprietary binaries
New for ICS, Android cannot just be compiled from source code only. It requires additional hardware-related proprietary libraries to run, specifically for graphics acceleration (and GSM/LTE).
The binaries must first be downloaded from here
Each set of binaries comes as a self-extracting script in a compressed archive. After uncompressing each archive, run the included self-extracting script from the root of the source tree, confirm that you agree to the terms of the enclosed license agreement, and the binaries and their matching makefiles will get installed in the vendor/ hierarchy of the source tree. For example... after extracting one of the files, you will have 'extract-imgtech-maguro.sh'. Simply run:
sh extract-imgtech-maguro.sh
From your ICS_Source directory.
IMPORTANT NOTE : If you are building for the Nexus S, you will need the Nexus S binaries.
======================
5. It's build time!
If you're a JAVA developer, feel free to have a play with the source and make any changes you want to make at this stage. Be careful though, adding rubbish/old syntax code to the source (formatting is slightly different to gingerbread) will cause the build to fail.
Assuming that you just want to get on with building ICS, set the build environment up with:
source build/envsetup.sh
Next, you'll need to lunch. I don't mean go and have a sandwich, I mean... select which device you're building for.
NOTE - you can add other devices to this list PRIOR to proceeding with this step. If you're NOT building for the GNexus, go to the bottom of this guide and look at how to add devices to the list.
As previously stated, we're going to assume you're building for the Galaxy nexus, so type:
lunch
You'll be presented with a number of options (full-eng, etc).
If you're building for the Galaxy Nexus (codename: Maguro), type:
8
(7 for Nexus S and 6 for Nexus S 4G)
and hit enter. Now, we're ready to set the compile in motion, ladies and gentlemen. There's a lot of debate over the next bit. the -j part of the below command is technically not needed, but I have had MUCH more success compiling on a virtual machine with the -j1 added. Could be random... who knows...
Anyway, to set your build in motion, you now have TWO options. The first option will output the build as img files. The second option will output a flashable .zip file. I recommend the latter if you intent to use CWM over fastboot.
make -j1
or
make -j1 otapackage
Congratulations - in a few hours, you should have a working AOSP build for the Galaxy Nexus!
thank you
i tried it ,and works fine
is there any easier way to debug ?
like using eclipse
i imported the source eclipse but no idea what the next steps are
Thanks for this, will study properly when I get a chance
Sent from my Galaxy Nexus using xda premium
@sbice try this http://www.javahotchocolate.com/tutorials/setup-eclipse.html#64-bit
@op, Thanks, but at least, check the howtos you link to, there's missing steps there.
I dont agree these kind of threads should be in dev section.
bk201doesntexist said:
@op, Thanks, but at least, check the howtos you link to, there's missing steps there.
I dont agree these kind of threads should be in dev section.
Click to expand...
Click to collapse
Why? It's great for people to learn.
Sent from my Galaxy Nexus using xda premium
ljwnow said:
Why? It's great for people to learn.
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
Agreed, the thing which fuels development is curiosity, and when people want to know how to do something, it helps to have links or topics dedicated to that specific area.
The OP's link is pretty much the same as this too (official Android building guide)
http://source.android.com/source/initializing.html
Has anyone managed to build the android-4.0.1_r1.2 branch with Ubuntu 11.10?
I know it works on the master branch and the r1 branch supposedly didn't support it but have the build tools been updated this one?
Just wanted to check before commiting to a massive download!
dave_t321 said:
Has anyone managed to build the android-4.0.1_r1.2 branch with Ubuntu 11.10?
I know it works on the master branch and the r1 branch supposedly didn't support it but have the build tools been updated this one?
Just wanted to check before commiting to a massive download!
Click to expand...
Click to collapse
It's the branch I use for building VillainROM.
dave_t321 said:
Has anyone managed to build the android-4.0.1_r1.2 branch with Ubuntu 11.10?
I know it works on the master branch and the r1 branch supposedly didn't support it but have the build tools been updated this one?
Just wanted to check before commiting to a massive download!
Click to expand...
Click to collapse
The only thing to note with 11.10, is when you install all the build libraries, one of them is incorrect (no longer available in 11.10). Instead of installing lib32readline5-dev you need to install lib32readline-dev instead.
Code:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils
Perfect, ta muchly.
ljwnow said:
Why? It's great for people to learn.
Sent from my Galaxy Nexus using xda premium
Click to expand...
Click to collapse
If you didn't code it yourself, it doesn't belong in dev subforum. There's Q&A subforum for that.
/me sent this on a i9250 using tapatalk
dave_t321 said:
Has anyone managed to build the android-4.0.1_r1.2 branch with Ubuntu 11.10?
I know it works on the master branch and the r1 branch supposedly didn't support it but have the build tools been updated this one?
Just wanted to check before commiting to a massive download!
Click to expand...
Click to collapse
Yeah -- there are a few fixes you need to do, here are a few main ones:
https://github.com/TeamKang/external_gtest/commit/869a8876632f5bd17bf181930a6535b5c5084b94
https://github.com/TeamKang/frameworks_compile_slang/commit/cb818131815e8a4e608e3329addbc791ff3a5d82
https://github.com/CyanogenMod/andr...mmit/387c70bd952c033453fc99da1672fa40af837376
I think there may be one or two more, just google the errors you get
Just a quick question...
I've just compiled a ROM using the guide, got the binaries, etc. etc. but the build.prop from the resulting ROM had LOADS of random entries in it for LTE phones? and it's all singray as opposed to maguro. Have I done something wrong?
EddyOS said:
Just a quick question...
I've just compiled a ROM using the guide, got the binaries, etc. etc. but the build.prop from the resulting ROM had LOADS of random entries in it for LTE phones? and it's all singray as opposed to maguro. Have I done something wrong?
Click to expand...
Click to collapse
Yeah you've compiled it for the wrong device. I forgot to update the lunch menu bit, cos they added the xoom and the nexus s onto the list. You want full eng maguro. I'll fix it now.
Just realised that, option 4 in the lunch menu isn't the GN - it's 8
Rebaking
OK, correct ROM built this time. Compiled it as .IMG files so I could then get it into the kitchen but once the ROM has been rooted, etc. it won't flash - I get a Status 7 error mentioning the boot.img
Any suggestions?
P.S. The 8 in your guide is smaller than the rest of the text
Probably a bad repack of the boot.img?
Not too sure, took the boot.img from a known working 4.0.3 ROM and still get the same error:
assert failed: write_raw_image("/tmp/boot.img". "/dev/block/platform/omap/omap_hsmc.0/by-name/boot")
E:Error in/sdcard/update.zip
(Status 7)
Installation aborted.
Fixed, dsixda updated the kitchen to extract the boot.img before flashing (which is why it was failing before)

[KERNEL]How to build a custom Android Kernel for your device

here is the guide
http://forum.xda-developers.com/showpost.php?p=24747881&postcount=4
thakz irfanbagus for the guide
where's the package link?have you try this guide by yourself?
i hope he tried
got a ubuntu, i will try this one (cross-fingers)
it's not working. sgy stock kernel do not have /proc/config.gz and gcc version in arm-2011.03 not compatible with other precompiled module.
this is work for me
requirement :
1. linux box 32 bit with working gcc. you can use real linux machine or virtual machine
2. Sourcery G++ Lite 2009q3-68 toolchain for ARM EABI from http://www.codesourcery.com/ (Linux version without installer arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2)
3. mkbootimg with md5support. got it from http://forum.xda-developers.com/showpost.php?p=22224170&postcount=241 . credit to harish2704
4. split_bootimg.pl (google it)
5. kernel source from http://opensource.samsung.com . i use GT-S5360_GB_Opensource_Update2.zip
6. stock boot.img (or from your custom kernel).
step :
1. make folder "sgy" in your home. the result is folder "/home/<yourname>/sgy". <yourname> is your linux user name, and from now replace <yourname> with your user name. put all file you already download there
2. extract "GT-S5360_Kernel.tar.gz" from "GT-S5360_GB_Opensource_Update2.zip". put also in "sgy" folder
3. open terminal emulator and go to your working path with command
Code:
cd ~/sgy
4. extract your compiler with
Code:
tar -xvf arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
5. create folder "kernel" and extract kernel source there
Code:
mkdir kernel
cd kernel
tar -xvf ../GT-S5360_Kernel.tar.gz
you got 2 folder, "common" and "modules"
6. open folder "common", there is file "Makefile". open with text editor and find line with content "/opt/toolchains/arm-eabi-4.4.3/bin/arm-eabi-". replace with "/home/<yourname>/sgy/arm-2009q3/bin/arm-none-eabi-", don't forget replace <yourname>.
7. in terminal goto folder "common" and load default config for sgy
Code:
cd ~/sgy/kernel/common
make bcm21553_totoro_05_defconfig
8. if you want change you config run
Code:
make menuconfig
9. if you ready to build then run
Code:
make
or if you have dual core cpu and want to make it faster
Code:
make -j3
10. when complete and no error appear, copy your kernel to "sgy" folder
Code:
cp arch/arm/boot/zImage ~/sgy
11. extract ramdisk from your boot.img
Code:
cd ~/sgy/
perl split_bootimg.pl boot.img
you got "boot.img-kernel" and "boot.img-ramdisk.gz". move "boot.img" and "boot.img-kernel" to other place.
12. repack your new kernel and ramdisk. but first get md5sum of your new kernel
Code:
md5sum zImage
you got something like
Code:
1fd319aa60abc2abae2e5932bcb9fc77 zImage
you need that "1fd319aa60abc2abae2e5932bcb9fc77" write it or copy to text editor. you need run it every time compile new kernel
13. repack
Code:
chmod +x mkbootimg
./mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.gz --base 0x81600000 --kernelMD5 <your md5sum result> -o boot.img
14. make odin flash-able
Code:
tar -cf boot-sgy.tar boot.img
I thought you have to put your post into a new thread irfan...this one is a fake guide.
kurotsugi said:
I thought you have to put your post into a new thread irfan...this one is a fake guide.
Click to expand...
Click to collapse
Irfan must create a guide.yes yes..I also think Irfan sahab must compile a CM7.2 from sources.
offtopic:
btw, do you know who's working on cm7 from source with motafoca?his thread is missing and I just get curious on their progress.
kurotsugi said:
offtopic:
btw, do you know who's working on cm7 from source with motafoca?his thread is missing and I just get curious on their progress.
Click to expand...
Click to collapse
His thread was closed by moderator.You can request MOD to reopen his thread.Motafoca wanted a galacy y to be lended for his experiments
---------- Post added at 03:37 PM ---------- Previous post was at 03:33 PM ----------
Can someone download the sources around 15Gigs and stripe down the file and share it to Maroc ?
Whre can i download it?
Sent from my GT-S5360 using xda premium
kurotsugi said:
I thought you have to put your post into a new thread irfan...this one is a fake guide.
Click to expand...
Click to collapse
i don't call it fake. it's just too general and missing some detail (but critical) for our device. and in the 'spirit of operation iron fist', i think it's better to put here
premolikeshtc said:
Irfan must create a guide.yes yes..I also think Irfan sahab must compile a CM7.2 from sources.
Click to expand...
Click to collapse
with my internet connection, it will take weeks just to download the source. and i think cm, like android source, use repo. so you can't just download it. you clone it from their source repository, that mean no download accelerator.
btw beside kernel source, samsung also release their mod to android source. but to build it, you still need to get android source (about 10GB according their website).
well...thats your choice, irfan.
@sgy.creed: sorry, I don't mean to offend you. IMHO it will be nice if before someone post any guide they already have tested it by them. in this way, they'll able to give more accurate direction to anyone who need their guide. as we already know, kernel is crucial part in our device. any mistake in compiling it will lead to brick our device. we have to cautious on it. peace ^,^v
kurotsugi said:
well...thats your choice, irfan.
@sgy.creed: sorry, I don't mean to offend you. IMHO it will be nice if before someone post any guide they already have tested it by them. in this way, they'll able to give more accurate direction to anyone who need their guide. as we already know, kernel is crucial part in our device. any mistake in compiling it will lead to brick our device. we have to cautious on it. peace ^,^v
Click to expand...
Click to collapse
if you (or others) think it's better to put in other thread, or maybe op wanna edit his post, fell free to copy my post (or just link, it's up to you). i don't take any credit to that post, because it just recompilation from other thread.
GT-B5510
Is there by chance anyway to find a stock Kernel for my device for my GT-B5510???
I recently flashed a custom Kernel for GT-S5360 and the result was a Brick.
is there someone willing to help me??
Rui Oliveira 21 said:
Is there by chance anyway to find a stock Kernel for my device for my GT-B5510???
I recently flashed a custom Kernel for GT-S5360 and the result was a Brick.
is there someone willing to help me??
Click to expand...
Click to collapse
Have u tried through kies?if the answer u failed then only odin is the way.
u need pda files from the update.Search google,i found one FW but it is from Italy :
B5510CEKK1.
sgy.creed said:
Hi guys,
This guide teaches how to make a new kernel for your device, it works in most of the cases but doesnt mean it will work for everyone
You need a minimal linux experice to know WTF you are doing
If you have any questions, post Belloowww
Download the required files
You will need a linux machine with the basic development tools or a virtualbox machine running a linux distribution (ubuntu 64bits will do fine)
I use the codesourcery package
Download the IA32 GNU/Linux TAR
The tar package is the easier to install
You will also need your kernel source from your manufacturer, for samsung the sources are available here
Install the cross compiler
Enter the folder were you downloaded the package and extract it, you will get something like arm-2011.03
Move that folder to some location, i use opt
ex: mv arm-2011.03 /opt/
or
sudo mv arm-2011.03 /opt
Done!
Extract and prepare the kernel sources
I will use the samsung sources as example, but anything can be used
For the samsung sources, after you extract the zip, you will get something like DEVICE_Platform.tar and DEVICE_Kernel.tar.gz
Extract the kernel:
tar zxvf DEVICE_Kernel.tar.gz
Enter the kernel folder and list the folder contents
ls
The structure is something like this:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Most devices contain the config file inside the device
You can extract it like this:
adb shell
su
cp /proc/config.gz /sdcard/
exit
exit
adb pull /sdcard/config.gz
Good, now we have the sources, compiler and configuration
Compiling the kernel
To compile ther kernel, i usually clean the sources first, with this i know for sure nothing will go wrong (usually )
make ARCH=arm CROSS_COMPILE=/opt/arm-2011.03/bin/arm-none-eabi- distclean (Remember to replace acordingly the compiler folder)
Sources cleaned, time to load the config file
gunzip config.gz
cp config ./.config
Good, now lets check the menuconfig (menuconfig is a menu to choose the kernel options, created to make it easy to select)
make ARCH=arm CROSS_COMPILE=/opt/arm-2011.03/bin/arm-none-eabi- menuconfig
Change whatever you want and exit and save
good, now its time to build
make ARCH=arm CROSS_COMPILE=/opt/arm-2011.03/bin/arm-none-eabi- -j2
Now wait for it to finish!
Your compiled kernel will be located inside arch/arm/boot/zImage
Extracting a boot.img
Good, now we have the zImage, but WTF to do with it?
Well, android usually (some samsung devices use a different boot.img method, ex: I9000) has the boot.img, inside of it we contain:
- ramdisk (required files to load the /system partition and continue the boot sequence)
- zImage (our kernel)
- pagesize
- base
- cmdline (some kernel paremetes used on boot)
To create your own boot.img, you need one from a nandroid backup that was made from CWM or AmonRA custom recoveries (there are other methods, but for those use the madteam forum )
The boot.img is located inside your /sdcard/clockworkmod/backup/somedate/boot.img
You will also need the unpackbootimg and mkbootimg binaries, i this link there is the 64 bit version (wont work on 32 bit linux)
create an empty folder, copy the downloaded file inside, enter it and do:
tar zxvf bootimgtools.tar.gz
chmod 755 *
now copy the boot.img you got from the backup
and extract the boot.img with:
./unpackbootimg -i boot.img
this will create the files as explained above
Creating the boot.img
Before making the boot.img, we need some information from the files extracted
cat boot.img-base ( save the output #1)
cat boot.img-pagesize (save the output , place the value inside the Hex Value of this site, and copy the decimal value and save it #2)
cat boot.img-cmdline (save the output #3)
Good, now copy the compiled kernel (zImage) inside the current folder and do:
mkbootimg –kernel zImage –ramdisk boot.img-ramdisk.gz –cmdline “(replace with output#3)” –base (replace withoutput #1) –pagesize (replace with output#2) -o /tmp/boot.img
Good, the boot.img is created!
Now test on your device!
If you dont know how to flash the boot.img, enter the madteam forum and request help (its too difficult to explain the flashing of boot.img if you dont know how to do it )
Take care!
<External link removed>
Click to expand...
Click to collapse
please credits motafoca madteam
GT-B5510
Harsh06 said:
Have u tried through kies?if the answer u failed then only odin is the way.
u need pda files from the update.Search google,i found one FW but it is from Italy :
B5510CEKK1.
Click to expand...
Click to collapse
Kies said that I had the most recent firmware, tough I found some new versions.
right now trough kies I tried to do an emergency firmware restore, i guess thats the name, but it asked for a code, a 4 number code i guess and i dont know what's the code.
Via odin I tried to install stock firmware from sammobile but it failled as well, if you want I'll post the dialog from odin.
I can boot in recovery mode, Odin(download) mode and CWM mode.
could you point me in the right direction???
thanks for your time
Rui Oliveira 21 said:
Kies said that I had the most recent firmware, tough I found some new versions.
right now trough kies I tried to do an emergency firmware restore, i guess thats the name, but it asked for a code, a 4 number code i guess and i dont know what's the code.
Via odin I tried to install stock firmware from sammobile but it failled as well, if you want I'll post the dialog from odin.
I can boot in recovery mode, Odin(download) mode and CWM mode.
could you point me in the right direction???
thanks for your time
Click to expand...
Click to collapse
I believe Doky already reply your post n willing to help u in others thread.Give doky some info about your current FW.U need 3 complete files n flash through Odin.Key in *#1234# with your dialer(u will see current info version) and PM doky about the info.He surely gonna help u.
Sorry OP off topic.
GT-B5510
He did help, thanks
question now is...while trying to revive the phone I installed Creed's Rom for Gt-s5360, I got quiet, and obviously it doesnt work that well in my GT-B5510, so I need a custom Rom for my device or a Stock Rom, but I cant find neither :S
any lights??
Kernel
How to change Kernel Version when build kernel ??
usually display 2.6.35.7 [email protected] #1
i wanna change [email protected] #1 so how the setting on linux or maybe what file??
Thanks b4
Rui Oliveira 21 said:
He did help, thanks
question now is...while trying to revive the phone I installed Creed's Rom for Gt-s5360, I got quiet, and obviously it doesnt work that well in my GT-B5510, so I need a custom Rom for my device or a Stock Rom, but I cant find neither :S
any lights??
Click to expand...
Click to collapse
I was just wondering if you went to the oldest possible firmware you could find and then proceeded to update from that. Sometimes the updates only contain necessary info and kind of rely on the previous installs.
Sent from my TF101 using Crashntalk 2

[Guide]How to Compile PAC Rom

Hey guys, so a lot of you have be eagerly anticipating the release of PAC-4.4. Others of you may be seeking pac for a device that is not supported at this moment. So I thought I would take this opportunity to write a guide on how to compile PAC.
In order to compile Android, I recommend that you use a Linux distro. For the purposes of this guide, I shall be using Ubuntu 13.10. It is pretty easy to set up, even as a dual boot with windows.
The first thing you need to do, once you have installed Ubuntu, is to set it up to be able to compile Android. There are a lot of guides that show you how to do this, and this guide has pretty clear instructions. Follow all of his directions until you reach the point where he tells you to initialize the repository (The command he has as an example there is repo init -u git://github.com/AOKP/platform_manifest.git -b jb-mr2. Do not run this command or you will have downloaded the AOKP sources instead of the PAC sources)
To download the pac sources, we need to initialize the repository first. For this guide, I will be downloading the pac source to ~/android/pac. Run:
Code:
mkdir -p ~/android/pac
cd ~/android/pac
repo init -u git://github.com/PAC-man/pacman.git -b pac-4.4
Now it is time to download the source itself. Keep in mind that the source is rather large (~10+ GB), so you might want to make yourself a cup of tea (or 10 cups if you have a crappy isp) while waiting. Run:
Code:
repo sync
Now, it is time to do the actually compiling. If your device is already supported by PAC, please skip directly to post 3. Else, go to post 2.
Adding Support for a device
To add support for your device, the first thing you need to do is to hunt down your device tree. If you are not sure where your device tree is located, google it or ask in your device's subforum. Now, it is time to add the files required to build.
From the root of directory where you have downloaded the pac source (~/android/pac), go to the vendor/pac directory. This is where we will be making the changes necessary to build for your device. Here are the files that need to be modified/added. Obviously, substitute your devices codename for CODENAME.
1. dependencies/CODENAME.dependencies
This file grabs your device and kernel tree. Look at the dependencies file of a device that is similar to yours to figure out what you need to place in here. A list of all the devices we support and their respective codenames can be found here. Again, if you are unsure about what to place here, you may want to ask for help in your devices subforum. Whenever possible, try to use the CM device tree. For the vendor files, keep the account name as "Pinky-Inky-and-Clyde" but change the repository to the appropriate OEM (check here for repos). Do not worry if the vendor files for your device are not in that repository. We will be adding them later.
Here is a sample CODENAME.dependencies file for a Samsung device (note that the account names are case sensitive):
Code:
[
{
"account": "Pinky-Inky-and-Clyde",
"repository": "proprietary_vendor_samsung",
"target_path": "vendor/samsung",
"revision": "cm-11.0"
},
{
"account": "CyanogenMod",
"repository": "android_device_samsung_CODENAME",
"target_path": "device/samsung/CODENAME",
"revision": "cm-11.0"
},
{
"account": "CyanogenMod",
"repository": "android_kernel_samsung_CODENAME",
"target_path": "kernel/samsung/CODENAME",
"revision": "master"
},
{
"account": "CyanogenMod",
"repository": "android_hardware_samsung",
"target_path": "hardware/samsung",
"revision": "cm-11.0"
}
]
Once you have done this, go to the root of your pac source (~/android/pac for this guide), and run
Code:
./vendor/pac/tools/getdependencies.py CODENAME
This will attempt to create the file .repo/local_manifests/roomservice.xml and then sync up the sources. If you have to make changes to your dependencies, please remove the roomservice.xml file and re-run the script again to ensure that no incorrect repositories are left lingering.
Go to the vendor files directory (~/android/pac/vendor/YOUR_OEM), and search for the vendor files of your device. If they are not there, you will have to search for them online and copy them into the folder.
Alternatively, if your device has an extract-files.sh script, in the device tree (located in device/OEM/CODENAME), you can hook up your device via usb and run that command to grab the vendor files directly from your device. In this case, connect your device and run:
Code:
cd device/OEM/CODENAME
./extract-files.sh
2. products/pac_CODENAME.mk
Again, look at the same file for a device that is similar to yours and make the appropriate changes for your device.
Here is a sample pac_CODENAME.mk file for a hdpi device:
Code:
# Check for target product
ifeq (pac_CODENAME,$(TARGET_PRODUCT))
# OVERLAY_TARGET adds overlay asset source
OVERLAY_TARGET := pa_hdpi
# PAC device overlay
PRODUCT_PACKAGE_OVERLAYS += vendor/pac/overlay/pac/hdpi_480x800
# PAC boot logo
PRODUCT_COPY_FILES += \
vendor/pac/prebuilt/common/bootlogo/pac_logo_480x800.rle:root/logo.rle
# Copy bootanimation
PRODUCT_COPY_FILES += \
vendor/pac/prebuilt/480x800/bootanimation.zip:system/media/bootanimation.zip
# include PAC common configuration
include vendor/pac/config/pac_common.mk
# Inherit CM device configuration
$(call inherit-product, device/samsung/CODENAME/cm.mk)
PRODUCT_NAME := pac_CODENAME
endif
Note: for the PAC device overlay, look inside vendor/pac/overlay/pac for the available overlays. Likewise, for the bootanimation and boot logo, look in their respective directories for the available sizes.
3. vendorsetup.sh
Add a line that looks something like this in the appropriate area of this file (under the appropriate OEM, and in alphabetical order, please).
Code:
add_lunch_combo pac_CODENAME-userbebug
--- The below files are not necessary for successful compilation, but are required if you submit your device for official PAC support. ---
4. Contributors
5. Nightly.xml
6. XDAThreads
7. devices-breakdown.xml
For these files, follow the format of the other devices.
Building PAC
Now that we got all of the housekeeping out of the way, it is time to build the rom!
Open up a terminal and change directory to the base of where you downloaded the PAC source to begin compiling. Run (substitute your device's codename for CODENAME):
Code:
./build-pac.sh CODENAME
There are some additional options available in the build script. To see them all, simply run:
Code:
./build-pac.sh
If everything goes well, your build should be starting. Go take a walk or something while it is building. This may take a while if you have a computer with weak specs.
Submitting your device for official support
Once you have successfully built PAC for your device and tested it, you can submit your changes to our gerrit for official support and automatic nightly builds.
In order to do this, you need to first sign up on our gerrit and get your ssh keys set up. So head on over to http://review.pac-rom.com/ to register for an account. Next, we need to generate an ssh key pair in order to push changes to gerrit. To check if you already have a key pair generated, run
Code:
ls ~/.ssh
If it shows a id_rsa.pub, you already have your keys generated and you can skip to the adding your ssh key to gerrit part.
On the other hand, if there is nothing in your .ssh folder, run
Code:
ssh-keygen -t rsa -C "[email protected]"
When you run this command, it will ask you where you want to save this file. Just hit enter. Next, it will ask you for a passphrase for your private key. Enter a passphrase here that you can remember.
Now, it is time to add your public key to our gerrit. To copy your public key over, run:
Code:
sudo apt-get install xclip
xclip -sel clip < ~/.ssh/id_rsa.pub
(Alternatively, you can cat the file and just copy it, but the above mentioned way avoids any missing characters while copying.)
Now, login to our gerrit and go to your account settings > ssh public keys. Click on add, and paste the key and save.
It is time to upload your changes. We have a script to make this process easier. To grab the script, run:
Code:
cd ~/bin
wget http://pac-rom.com/downloads/pac-review
chmod a+x pac-review
Now, run:
Code:
cd ~/android/pac
cd vendor/pac
git add -A
git commit
This should open up a text editor (probably nano) where you can put a commit message. For our purposes, just write something along the lines of "Add support for ___." To save the file, hit Ctrl + o. To exit, hit Ctrl + x. Then, run:
Code:
pac-review -p
Follow the prompts and your changes should be automatically pushed and a link will show to your change on gerrit.
If you realize that you made a mistake in your commit, DO NOT submit a new change. Instead, make your changes, then run:
Code:
git add -A
git commit --amend
Update your commit message if necessary and then push with the pac-review script. This will create a new patchset on our gerrit instead of creating a new commit.
And that is all! If you have any questions, dont hesitate to ask them here. Ill try to get back to you as soon as possible
Hey iurnait, I didn't find any instructions on pac's github on how to clone the entire trees. Please help.
Ateekujjawal said:
Hey iurnait, I didn't find any instructions on pac's github on how to clone the entire trees. Please help.
Click to expand...
Click to collapse
cd into the directory where you are working, and then run
Code:
repo init -u git://github.com/PAC-man/pacman.git -b pac-4.4
then run
Code:
repo sync
iurnait said:
cd into the directory where you are working, and then run
Code:
repo init -u git://github.com/PAC-man/pacman.git -b pac-4.4
then run
Code:
repo sync
Click to expand...
Click to collapse
By doing this, will I get all the packages_apps_settings,frameworks_av etc.
Ateekujjawal said:
By doing this, will I get all the packages_apps_settings,frameworks_av etc.
Click to expand...
Click to collapse
this will grab everything needed to compile
How can I use linaro toolchain to compile pacman and where to download it.
Simplest Method you found here:
http://forum.xda-developers.com/showthread.php?t=2644910
You need only one a Machine with a Ubuntu ready,
Is this method also usable for the LG P990 (Optimus 2x) ?
If so, any special things I should look out for with this old device?
Sent from my LG P990 running CM11 (thnx tonyp) via xda-developers app
DavidLouwers said:
Is this method also usable for the LG P990 (Optimus 2x) ?
If so, any special things I should look out for with this old device?
Sent from my LG P990 running CM11 (thnx tonyp) via xda-developers app
Click to expand...
Click to collapse
If you can find your device here: https://github.com/PAC-man/android_vendor_pac/blob/pac-4.4/devices-breakdown.xml
it will work
@DavidLouwers
talk with tonyp and penguin77 if the device repos work PAC 4.4
You can only one use the Kernel/Device/Vendor Tree... (if you planned to run as nightly in jenkins) If tonyp use for her [email protected] other modified repos was normally is in PAC or Cyanogenmod... it can build but you must modifing default.xml in .repo/manifests. But then you can not add to nighlys...
if you want help, ask me, i had this device before and maintained PAC for p990
MetaIIica said:
@DavidLouwers
talk with tonyp and penguin77 if the device repos work PAC 4.4
You can only one use the Kernel/Device/Vendor Tree... (if you planned to run as nightly in jenkins) If tonyp use for her [email protected] other modified repos was normally is in PAC or Cyanogenmod... it can build but you must modifing default.xml in .repo/manifests. But then you can not add to nighlys...
if you want help, ask me, i had this device before and maintained PAC for p990
Click to expand...
Click to collapse
Thanks, I will! I will do everything in my power to make PAC ROM available for my phone! I used to have your PAC 4.3 ROM, which I loved, and that's the reason I really want a KitKat PAC ROM, because KitKat is optimised for phones with low memory, so it'd be awesome to have PAC 4.4 for the old P990.
I shall try to gather the penguins and port PAC to P990!
Langes said:
If you can find your device here: github site, can't post it because I'm a new member :/
it will work
Click to expand...
Click to collapse
Sadly enough, P990 isn't on it, but with the help of Metallica and the penguins, maybe we'll be able to make PAC available for the P990 anyway!
Ateekujjawal said:
How can I use linaro toolchain to compile pacman and where to download it.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=2348366
For now, there is only cm11 available for the note 3.
Does this matter?
If not, I can try to make it
Gesendet von meinem SM-N9005 mit Tapatalk
Thumper_ said:
For now, there is only cm11 available for the note 3.
Does this matter?
If not, I can try to make it
Gesendet von meinem SM-N9005 mit Tapatalk
Click to expand...
Click to collapse
If there is a working cm 11 tree available, have a look at the second post on how to add PAC support. It shouldnt be too difficult considering you already have cm11
Sent from my Nexus 7 using Tapatalk
Thumper_ said:
For now, there is only cm11 available for the note 3.
Does this matter?
If not, I can try to make it
Gesendet von meinem SM-N9005 mit Tapatalk
Click to expand...
Click to collapse
Would be great if you built it and shared the build..not much available for the note 3 yet
Sent from my SM-N900P using Tapatalk
nelsonator1982 said:
Would be great if you built it and shared the build..not much available for the note 3 yet
Sent from my SM-N900P using Tapatalk
Click to expand...
Click to collapse
Just downloading the repo
Let's see what I can do.
Gesendet von meinem SM-N9005 mit Tapatalk
Can't get it
where should I place the pac_CODENAME.mk ?
Then the dependencies?
Suppose, I am building for c1905, then the dependencies must be in /device/sony/c1905/c1905.dependencies?
Then
Is this pac_c1905.mk okay?
Code:
# Check for target product
ifeq (pac_c1905,$(TARGET_PRODUCT))
# OVERLAY_TARGET adds overlay asset source
OVERLAY_TARGET := pa_hdpi
# PAC device overlay
PRODUCT_PACKAGE_OVERLAYS += vendor/pac/overlay/pac/hdpi_480x854
# PAC boot logo
PRODUCT_COPY_FILES += \
vendor/pac/prebuilt/common/bootlogo/pac_logo_480x854.rle:root/logo.rle
# Copy bootanimation
PRODUCT_COPY_FILES += \
vendor/pac/prebuilt/480x854/bootanimation.zip:system/media/bootanimation.zip
# include PAC common configuration
include vendor/pac/config/pac_common.mk
# Inherit CM device configuration
$(call inherit-product, device/sony/c1905/cm.mk)
PRODUCT_NAME := pac_c1905
endif
Help Me out. I am trying to build for Xperia M.

[Guide] Build Your Own [UNOFFICIAL][9] LineageOS4Microg 16.0 (by Bernie_nix)

In the spirit of open-source, if there's one ROM that deserves to be "home-brewed" in addition to AOSP and Lineage, it's LineageOS4Microg. This guide will explain how to do so using Docker. LineageOS and Microg are explained below followed by the guide.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Code:
/*
* I'm not responsible for bricked devices, damage, loss of Google services, you getting fired because the alarm app failed, etc. Do this at your own risk.
* Please do some research if you have any concerns about features included in the products you find here before flashing it!
* YOU are choosing to make these modifications.
* Your warranty may/will be void if you tamper with any part of your device / software.
* Same statement for XDA.
*/
About LineageOS4MicroG & LineageOS
LineageOS unofficial fork with built-in microG gapps implementation.
Full Play Services compatibility [Well-almost...YMMV]
Our ROM has built-in microG free-as-in-freedom re-implementation of Google's proprietary Android user space apps and libraries. This enables you to use every Google service you need without keeping another closed-source binary blob in your Android system.
Native F-Droid support
LineageOS for microG comes with F-Droid already installed. You can use it to access plenty of FOSS applications or even a Play Store bridge repository like Playmaker or GPlayWeb.
About LineageOS
LineageOS is a free, community built, aftermarket firmware distribution of Android 9 (Pie), which is designed to increase performance and reliability over stock Android for your device.
LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for LineageOS is available in the LineageOS Github repo. And if you would like to contribute to LineageOS, please visit out Gerrit Code Review.
Learn more at:
LineageOS: https://lineageos.org/
LineageOS4MicroG: https://lineage.microg.org/​
Click to expand...
Click to collapse
Rom Built by Bernie_nix​Known issues:
USB-C headphones work for music, watching videos, etc. They don't work in the phone app...yet. (working on this)
Some users report VOIP calls don't work properly. YMMV. Skype, Whatsapp, Nextcloud Talk, working great for me.
Automatic updates not yet implemented but will be in a future build.
You tell me.
Building Requirements
1. A fast PC or VPS account such as Google Compute Engine. Minimum PC recommended requirements are Intel i5 or equivalent, 4 cores 8 threads minimum (more cores and better CPU recommended), 16GB ram, SSD and 300GB free drive space minimum, fast internet connection (you will download over 30GB of sources).
2. Ubuntu 18.04 is supported here. If you use Windows or another version of Linux, let others know of your tweaks and workarounds.
3. Patience and time. Downloading sources, setting up and building a rom will take hours if not days (depending on your PC hardware and internet speed).
Environment Setup & Build​1. Install Docker on Ubuntu (run each command once in terminal)
Code:
sudo apt-get update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
2. Test that docker is running (run command in terminal)
Code:
docker run hello-world
You should see something like this, "docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world ca4f61b1923c: Pull complete Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. ..."
3. Pull lineageos4microg docker onto your pc (run command in terminal)
Code:
docker pull lineageos4microg/docker-lineage-cicd
4. After pull is complete, create the following directories in your home/YOURUSERNAME directory
lineageos4microg
lineageos4microg/src
lineageos4microg/ccache
lineageos4microg/local_manifests
lineageos4microg/keys
lineageos4microg/logs
lineageos4microg/zips
So it might look something like this: home/JoeAndroid/lineageos4microg
5. Copy the 4 attached xml files (bottom of this post) to your local_manifests folder
These are: ocean.xml, include_proprietary.xml, proprietary.xml, and custom_packages.xml
6. In terminal, cd into the lineage4microg folder, and copy and paste the following commands all at once after changing YOURUSERNAME to your username in ubuntu. For an explanation of options, see the link at bottom of post. This code will download sources, sync your repos with newest updates and start your build. This step could take hours. It is downloading sources, syncing repos and building your rom!
Code:
sudo docker run \
-e "BRANCH_NAME=lineage-16.0" \
-e "DEVICE_LIST=ocean" \
-e "SIGN_BUILDS=true" \
-e "SIGNATURE_SPOOFING=restricted" \
-e "WITH_SU=true" \
-e "CUSTOM_PACKAGES=GmsCore GsfProxy FakeStore MozillaNlpBackend NominatimNlpBackend com.google.android.maps.jar FDroid FDroidPrivilegedExtension " \
-e "INCLUDE_PROPRIETARY=false" \
-v "/home/YOURUSERNAME/lineageos4microg/lineage:/srv/src" \
-v "/home/YOURUSERNAME/lineageos4microg/zips:/srv/zips" \
-v "/home/YOURUSERNAME/lineageos4microg/logs:/srv/logs" \
-v "/home/YOURUSERNAME/lineageos4microg/cache:/srv/ccache" \
-v "/home/YOURUSERNAME/lineageos4microg/keys:/srv/keys" \
-v "/home/YOURUSERNAME/lineageos4microg/manifests:/srv/local_manifests" \
lineageos4microg/docker-lineage-cicd
7. Your build should be in the zips folder when complete! Flash in twrp/ofox.
8. If your build fails, check the log in lineageos4microg/logs/ocean folder. If you receive the following error, "Can not locate config makefile for product "lineage_ocean"" you will need to copy the 4 xmls from lineageos4microg/local_manifests to lineageos4microg/manifests.​
References and links:
https://phoenixnap.com/kb/how-to-install-docker-on-ubuntu-18-04
https://github.com/lineageos4microg/docker-lineage-cicd
Telegram group for additional ROMS, files and support: https://t.me/mG7Power
Thanks to Dark98, Electimon, Barry and many others for initial help and repos when building this rom.
Reserved #1
Reserved #2
Thanks, been wanting to try to build this.
I tried am running this on ubuntu 18.04 vm, followed all the instructions.
after I type in the docker commands get this after a few minutes:
sed:can't read build/core/version_defaults.mk:no such file or directory
can't detect the android version.
Any suggestions?
skalnas said:
Thanks, been wanting to try to build this.
I tried am running this on ubuntu 18.04 vm, followed all the instructions.
after I type in the docker commands get this after a few minutes:
sed:can't read build/core/version_defaults.mk:no such file or directory
can't detect the android version.
Any suggestions?
Click to expand...
Click to collapse
Can you take a picture of the screenshot including how you typed in the commands? Need a bit more info
I just pasted the code changing username screenshot attached
skalnas said:
I just pasted the code changing username screenshot attached
Click to expand...
Click to collapse
I wonder if it's related to "steve" in your build commands but your username is Steven on the VM?
Bernie_nix said:
I wonder if it's related to "steve" in your build commands but your username is Steven on the VM?
Click to expand...
Click to collapse
I did rerun the script with the username steven and it appeared to be working.
went to bed and when i woke up I was excited to see it said build completed. however i could not
find the zip file in the zips folder. looking at the logs error: Can not locate config makefile for product "lineage_ocean".
I saw in the op to move the 4 xml files to manifests dir, however I had gotten permission denied when trying to
copy to the manifests dir. i deleted the dir, recreated the dir and moved the files.
I am going to try building again.
skalnas said:
I did rerun the script with the username steven and it appeared to be working.
went to bed and when i woke up I was excited to see it said build completed. however i could not
find the zip file in the zips folder. looking at the logs error: Can not locate config makefile for product "lineage_ocean".
I saw in the op to move the 4 xml files to manifests dir, however I had gotten permission denied when trying to
copy to the manifests dir. i deleted the dir, recreated the dir and moved the files.
I am going to try building again.
Click to expand...
Click to collapse
You need to sudo cp -R (drag 4 files to terminal here) /YOURUSERNAME/lineageos4microg/manifests. Then re run script
Bernie_nix said:
You need to sudo cp -R (drag 4 files to terminal here) /YOURUSERNAME/lineageos4microg/manifests. Then re run script
Click to expand...
Click to collapse
Thanks for the assistance, I am new to linux, hence the vm. My PC is amd fx8350 chip 8 core, 16 gb ram on win10 pro 64 bit on
PNY 480 gb ssd drive.
Just a few questions: The vm i set up to build this I set at 150gb. Prior to syncing the repos and running
the build script again i had about 135 gb free. It's been on starting build for ocean lineage-16.0 branch
for about 5 hours.
Should it have completed or thrown an error by now?
Also, lineageos4microg folder states it's using 57gb, I now have 32 gb free space 5 hours into build.
Not sure if I should keep waiting to see if build completes?
I have attached the log which i think is for the build in progress.
Thanks again
skalnas said:
Thanks for the assistance, I am new to linux, hence the vm. My PC is amd fx8350 chip 8 core, 16 gb ram on win10 pro 64 bit on
PNY 480 gb ssd drive.
Just a few questions: The vm i set up to build this I set at 150gb. Prior to syncing the repos and running
the build script again i had about 135 gb free. It's been on starting build for ocean lineage-16.0 branch
for about 5 hours.
Should it have completed or thrown an error by now?
Also, lineageos4microg folder states it's using 57gb, I now have 32 gb free space 5 hours into build.
Not sure if I should keep waiting to see if build completes?
I have attached the log which i think is for the build in progress.
Thanks again
Click to expand...
Click to collapse
Not recommended to run in a VM as it will take considerably longer to build but if you have the time (hours, days). As far as hard drive space, 150gb is cutting it very close. Better to have 250gb minimum. Don't know if you'll have enough. As far as your log and actual build, it's building! Congrats. If you scroll down to the bottom of your log, you'll see it's at 23%.
Bernie_nix said:
Not recommended to run in a VM as it will take considerably longer to build but if you have the time (hours, days). As far as hard drive space, 150gb is cutting it very close. Better to have 250gb minimum. Don't know if you'll have enough. As far as your log and actual build, it's building! Congrats. If you scroll down to the bottom of your log, you'll see it's at 23%.
Click to expand...
Click to collapse
Yes, as I feared i did run out space, but at least I know it was building. I may try to install ubuntu in a dual boot.
Thanks
skalnas said:
Yes, as I feared i did run out space, but at least I know it was building. I may try to install ubuntu in a dual boot.
Thanks
Click to expand...
Click to collapse
Awww... Well I had that happen before. Even if you have an old platter hdd (not ssd) as long as it's got the GBs of space it will take a little longer to build but for these purposes will do just fine. I use both SSD and hdds to build.
Got my dual boot set up. First tried Ubuntu but it kept locking up, went with Linux mint. Got a 250 GB partition, going to give it another go tommorow.
View attachment 4980819well, after switching from VM to dual boot, I gave it another go, and i got a msg in linux mint that i ran out of space about 3 1/2 hrs into build. I had set up 250gb partition as you suggested. I did 30gb root, 220 GB home,4 GB swap.
Can you take a look at the logs, i'm not clear looking at logs how much of build completed.
There was the zip file about 604 mb in the zips folder, which I could open(along with an sha and md5 files, which i dont know anything about.) I'm thinking possibly the build completed despite the warning in linux about running of free space.
I shrank the /root partition in gparted to 20gb and tried to extend the extra 10gb to home, but i couldn't.
Is it possible to specify 25gb ccache in the docker script somehow so that instead of the 50 it seems to allocate, maybe that will solve the space issue?
Thanks again, looks like progress.
Freed up some more space for build, now when trying to sync repos i get this msg Missing "vendor/lineage", aborting.
suggestions?
skalnas said:
Freed up some more space for build, now when trying to sync repos i get this msg Missing "vendor/lineage", aborting.
suggestions?
Click to expand...
Click to collapse
I looked at the last lines in your log... it looks like it built. Did you check your zips folder?
boot.img already exists, no need to overwrite...
dtbo.img already exists, no need to overwrite...
system.img already exists, no need to overwrite...
vendor.img already exists, no need to overwrite...
Total of 704512 4096-byte output blocks in 23 input chunks.
Total of 147456 4096-byte output blocks in 13 input chunks.
done.
Click to expand...
Click to collapse
Where is "Missing "vendor/lineage", aborting." appearing?
Bernie_nix said:
I looked at the last lines in your log... it looks like it built. Did you check your zips folder?
Where is "Missing "vendor/lineage", aborting." appearing?
Click to expand...
Click to collapse
Thanks, yes there was a zip there, wasnt sure if it was safe to flash, with the error space ran out ,but figured build did complete, as the zip wasnt corrupted.
As far as repo error:
"OSError: [Errno 17] File exists: '/srv/src/LINEAGE_16_0/device/generic/mini-emulator-arm64/.git.tmp'
error: Cannot checkout bernie-nix/android_device_motorola_sdm632-common-1: ManifestInvalidRevisionError: revision lineage-16.0 in bernie-nix/android_device_motorola_sdm632-common-1 not found
error: in `sync -c --force-sync`: revision lineage-16.0 in bernie-nix/android_device_motorola_sdm632-common-1 not found.
I did switch to the ocean.xml listed in your other thread posted by dark98 and the repo did sync., but I didn't proceed with the build.
Thanks again for all your help, think i will try to dirty flash my succesful build over yours, unless i should clean flash.
skalnas said:
Thanks, yes there was a zip there, wasnt sure if it was safe to flash, with the error space ran out ,but figured build did complete, as the zip wasnt corrupted.
As far as repo error:
"OSError: [Errno 17] File exists: '/srv/src/LINEAGE_16_0/device/generic/mini-emulator-arm64/.git.tmp'
error: Cannot checkout bernie-nix/android_device_motorola_sdm632-common-1: ManifestInvalidRevisionError: revision lineage-16.0 in bernie-nix/android_device_motorola_sdm632-common-1 not found
error: in `sync -c --force-sync`: revision lineage-16.0 in bernie-nix/android_device_motorola_sdm632-common-1 not found.
I did switch to the ocean.xml listed in your other thread posted by dark98 and the repo did sync., but I didn't proceed with the build.
Thanks again for all your help, think i will try to dirty flash my succesful build over yours, unless i should clean flash.
Click to expand...
Click to collapse
Yes, use the other xml if you want. They should both be about the same...you might even get updated sources, you might not...but it should build. I looked at the error above. The only suggestion I would make in your current xml if you want to continue using it is to remove revision="lineage-16.0" on the bernie-nix/android_device_motorola_sdm632-common-1 entry. As far as the zip that completed, how big is it?
Bernie_nix said:
Yes, use the other xml if you want. They should both be about the same...you might even get updated sources, you might not...but it should build. I looked at the error above. The only suggestion I would make in your current xml if you want to continue using it is to remove revision="lineage-16.0" on the bernie-nix/android_device_motorola_sdm632-common-1 entry. As far as the zip that completed, how big is it?
Click to expand...
Click to collapse
The zip was 604mb, i did successfully flash it, thanks again for your help and guide building my first rom!
so the xml file should be edited to:
<project name="bernie-nix/android_device_motorola_sdm632-common-1" path="device/motorola/sdm632-common" remote="github"/>
?
btw, i don't see your repos on github anymore.

Categories

Resources