[Q] Sync CNA source & build - Galaxy S I9000 Q&A, Help & Troubleshooting

Hey folks, hopefully someone can help me out. I've decided to start playing around with source, and have been trying to sync the CNA source on my ubuntu box.
So, I setup the development environment, made sure I had JDK 6, installed all the required packages, etc. All good.
Then I did
Code:
repo init -u git://github.com/CNA/android_manifest.git -b mod-4.0.3
I chose the mod-4.0.3 branch because its the only one I saw with any repositories related to the i9000 (obviously, posting here, I'd like to compile from source for my i9000). After the init, I just ran repo sync and let it go.
The problem is I get a few errors like:
Code:
fatal: not a git repository: '/home/me/android/system/.repo/projects/android.git'
error: cannot fetch android_manifest
fatal: not a git repository: '/home/me/android/system/.repo/projects/bionic.git'
error: cannot fetch android_bionic
error: Exited sync due to fetch errors
Anyway, I searched and can't seem to figure out what the heck I'm doing wrong. Any help would be fantastic.
Thanks!

Related

[Q] Compiling Gingerbread/CM7 & Froyo/CM6?

Okay I am trying to compile from the cyanogenmod souce using this site.
When I get to this part of the instructions....
Code:
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
repo sync -j16
...the heroc files always fail and don't complete 100%. They stop at like 2% maybe 3% and i've tried those two steps like 5 times over the past 7 hours (syncing takes a while b/c its a few gb worth of files).
I also tried entering.....
Code:
repo sync
... after the above codes so that I could try and get the heroc files that way but still the heroc files would stop after getting a few percent.
EDIT:
Now I tried doing the following....
Code:
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android_devide_htc_heroc.get -b gingerbread
Here is the output....
Code:
[email protected]:~/android/system# repo init -u git://github.com/CyanogenMod/android_device_htc_heroc.git -b gingerbread
warning: no common commits
remote: Counting objects: 876, done.
remote: Compressing objects: 100% (494/494), done.
remote: Total 876 (delta 352), reused 671 (delta 240)
Receiving objects: 100% (876/876), 68.43 MiB | 620 KiB/s, done.
Resolving deltas: 100% (352/352), done.
From git://github.com/CyanogenMod/android_device_htc_heroc
+ b61b9da...cb608da froyo -> origin/froyo (forced update)
+ 15bf664...cb608da froyo-stable -> origin/froyo-stable (forced update)
+ 316eefc...89d8116 gingerbread -> origin/gingerbread (forced update)
.repo/manifests/: discarding 217 commits removed from upstream
fatal: manifest 'default.xml' not available
fatal: manifest default.xml not found
[email protected]:~/android/system#
Did it actually work or no? I'm confused because I see the words fatal and discarding so i think something went wrong. I think the file tranfer from the source may have been canceled or failed. Am I wrong? Did the files actually transfer so that I could actually get to compiling now?
Any help with this would be awesome
its funny i never got an answer lol but i think it was because of the internet connection i was using
If I saw this thread when you first posted it I would've told you to do the same thing
Try this first:
Code:
repo sync -j16
if that fails, try this, and keep entering in the command until it's ALL synced
Code:
repo sync
I had the same problem the first time I synced... but then again I was tethering on my phone at the time 200-300Kbs took quite some time haha

{Z}[WORKSHOP] - AOSP - Android 4.2.2 - FreeXperia Project

Workshop thread for Google AOSP
If you want to have 0 day software then lets start making it
To use any custom software you have to unlock bootloader following sony guide
Thanks to
Sony for providing us the chance to have official AOSP support
All developers that work or worked on android making an dream become reality
This guide is designed for an clean install of Ubuntu-server 13.04 LINK
follow all steps including
mkdir ~/android
cd ~/android
then we will init AOSP repo instead of AOPK
since we want to use 0 day software we will init master branch (default)
$ repo init -u https://android.googlesource.com/platform/manifest
then sync it
$ repo sync -jthread_number
!! thread number can speedup download if you have an good internet connection (any number 4->48 is)
!! depending on your connection can take a lot of time ..... please be patient!
after sync is finished we have to add sony repos
copy attached xml file in repo (remove fake zip extension)
mv sonyxperiadev.xml.zip .repo/local_manifests/sonyxperiadev.xml
sync again to get sony repos
$repo sync
get sony blobs and unpack them in /vendor/sony BLOB_LINK
source build/envsetup.sh
select target
lunch <enter>chose your device number and press enterbuild android images
make -j<cpu thread number>
ex: make -j4 (for i5)!! Take an box of beer and enjoy build will take 5min - 1 day depending on pcFind your images
find -type f |grep *.img will display your img files
flash images
fastboot flash partition image.img
ex:
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash userdata data.img
progress :
-added liblights
reserved for bugs
reserved for us
Well, the party begins!!
github account?
Traceback (most recent call last):
File "/home/support/android/.repo/repo/main.py", line 414, in <module>
_Main(sys.argv[1:])
File "/home/support/android/.repo/repo/main.py", line 390, in _Main
result = repo._Run(argv) or 0
File "/home/support/android/.repo/repo/main.py", line 138, in _Run
result = cmd.Execute(copts, cargs)
File "/home/support/android/.repo/repo/subcmds/init.py", line 352, in Execute
self._ConfigureUser()
File "/home/support/android/.repo/repo/subcmds/init.py", line 253, in _ConfigureUser
name = self._Prompt('Your Name', mp.UserName)
File "/home/support/android/.repo/repo/project.py", line 608, in UserName
self._LoadUserIdentity()
File "/home/support/android/.repo/repo/project.py", line 621, in _LoadUserIdentity
u = self.bare_git.var('GIT_COMMITTER_IDENT')
File "/home/support/android/.repo/repo/project.py", line 2202, in runner
p.stderr))
error.GitError: manifests var:
*** Please tell me who you are.
Run
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got '[email protected]pport-pc.(none)')
You just have to do what it says
Sent from my C6603 using xda premium
I decided to try it yesterday as directed by Sony. All perfect but still does not work neither GSM nor the camera. I guess then the repo sync with the new binaries will be much faster right? We do not know how they progress to solve the two major problems? Thxs.
BoRoU said:
I decided to try it yesterday as directed by Sony. All perfect but still does not work neither GSM nor the camera. I guess then the repo sync with the new binaries will be much faster right? We do not know how they progress to solve the two major problems? Thxs.
Click to expand...
Click to collapse
this is an workshop thread do the ideea is to try and solve bugs ourselves then push to fixes to sony github
good time to start learning to build roms
downloading repo
I I have no programming knowledge I can help?
If I build, compiled and installed the ROM but I do not know what else I can do. I put at your disposal for whatever you want.
Greetings.
BoRoU said:
I I have no programming knowledge I can help?
If I build, compiled and installed the ROM but I do not know what else I can do. I put at your disposal for whatever you want.
Greetings.
Click to expand...
Click to collapse
you can start learning programing
and help us make an dream come true
LOL I hope so. Unfortunately I'm too old and I have very little time for these appliances. Still try to help if only you to do testing work.
Greetings.
I got the same error as somebody else did earlier...
Code:
Traceback (most recent call last):
File "/home/daniel/android/.repo/repo/main.py", line 414, in <module>
_Main(sys.argv[1:])
File "/home/daniel/android/.repo/repo/main.py", line 390, in _Main
result = repo._Run(argv) or 0
File "/home/daniel/android/.repo/repo/main.py", line 138, in _Run
result = cmd.Execute(copts, cargs)
File "/home/daniel/android/.repo/repo/subcmds/init.py", line 352, in Execute
self._ConfigureUser()
File "/home/daniel/android/.repo/repo/subcmds/init.py", line 253, in _ConfigureUser
name = self._Prompt('Your Name', mp.UserName)
File "/home/daniel/android/.repo/repo/project.py", line 608, in UserName
self._LoadUserIdentity()
File "/home/daniel/android/.repo/repo/project.py", line 621, in _LoadUserIdentity
u = self.bare_git.var('GIT_COMMITTER_IDENT')
File "/home/daniel/android/.repo/repo/project.py", line 2202, in runner
p.stderr))
error.GitError: manifests var:
*** Please tell me who you are.
Run
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got '[email protected](none)')
Apparently my name/email must be inputted (is that a word?) somewhere before I can continue. Any ideas?
Never mind, I fixed it by having a read through the terminal's response.
These comands must be run:
$ git config --global user.email "[email protected]"
$ git config --global user.name "Your Name"
Gonna do repo sync soon I hope that I can be helpful even I am not advanced
FXP said:
This guide is designed for an clean install of Ubuntu-server 13.04 LINK
follow all steps including
mkdir ~/android
cd ~/android
then we will init AOSP repo instead of AOPK
since we want to use 0 day software we will init master branch (default)
$ repo init -u https://android.googlesource.com/platform/manifest
then sync it
$ repo sync -jthread_number
!! thread number can speedup download if you have an good internet connection (any number 4->48 is)
!! depending on your connection can take a lot of time ..... please be patient!
after sync is finished we have to add sony repos
copy attached xml file in repo (remove fake zip extension)
mv sonyxperiadev.xml.zip .repo/local_manifests/sonyxperiadev.xml
sync again to get sony repos
$repo sync
get sony blobs and unpack them in /vendor/sony BLOB_LINK
Click to expand...
Click to collapse
what is next step?
sources are synced and ready
DooMLoRD said:
what is next step?
sources are synced and ready
Click to expand...
Click to collapse
I know it's for CM but could be useful too
http://wiki.cyanogenmod.org/w/Build_for_yuga
Sent from my C6603 using xda premium
DooMLoRD said:
what is next step?
sources are synced and ready
Click to expand...
Click to collapse
. build/envsetup.sh
lunch full_c6603-userdebug
make -j4
jeroenqui said:
. build/envsetup.sh
lunch full_c6603-userdebug
make -j4
Click to expand...
Click to collapse
which are the img file do I need to flash through fastboot?
what is the command to make a zip file?.
thanks

[GUIDE][A First For Xda] How to Build a rom + more using only the Linux terminal!

How to build a CyanogenMod/Omni/Android Based Rom from source using only a Linux Terminal
A First for XDA I believe? So why this tutorial?
Originally when I was searching about for tutorials on how to build from source, they were all specific to those who use a GUI and this included downloading .zips with a browser and editing files through text editors, extracting files to certain locations and executing files through the file explorer such as "get-prebuilts.sh". There were some that used the linux terminal more then they needed too, this was helpful but not specific, this isn't going to be a tutorial like you see everywhere else, this will be made more specific to those who use either a remote machine, or people who want to use just the Linux terminal like a badass! This will have the commands I use, they may not be the most universally used or the simplest they can be but it's not broke so I shan't fix it! All these tutorials, for me, meant a lot of personal work google-ing and searching my way through commands, this was great as it has helped me learn a lot about Linux Terminal commands, but it has also caused me countless issues, such as uploading my final product and navigating around is a real pain in the ass. This meant it took me quite a while to get my first ever build using just the Linux terminal, and uploading it.​
ForewordRead first
For this tutorial I will try not to make it too device/situation/rom specific because, then that means people have to make changes, which, we will have experienced never ends well, but I will have two variations of the command, the first command will be the generalised command using a HTML style coding for where you should make your changes, an example of this would be for the code <DeviceName>, you would replace it with your device name minus the <>signs (obviously). To then check if you had done it right, I will add in my device name which for this tutorial will be the LG Optimus 4xHD (codename p880). As this may become confusing with many <*> codes popping up, and there are many codenames and device names to keep up with, I will be adding a legend/key with some of the syntax I will be using and what it means, but also include some of the more popular codename and manufacturer names for those who do not know what they are. This tutorial will not tell you how to set up a remote machine, only use a Linux terminal and nothing else much. It may also include a hidden "GUI Cheat" for those with GUI to check if you have done a step correctly. This will be aimed at Ubuntu 13.10 64bit, as you need 64bit to compile (to my knowledge anyway)​
Setting Up Your Build Environment
Okay so the easy-ish bit, this is mainly for people who either the administrator of their "Build Server" or Remote Machine as most "user-based" ones will almost always have theirs set-up for you. This will also be required by users who have set up Ubuntu/other Linux distribution on a host/local machine. You probably will not be able to do this on a user based Remote Machine anyway due to an absence of root access, if this is an issue and one is not setup and you do not have elevated privileges, email the corresponding admin for help! I can't help you here! So now down to business!​Installing the required packages should be as follows, although, if they do not work just google it, I'm sure there are many tutorials with many ways to set up a build environment:
Code:
sudo apt-get install bison build-essential curl flex \
g++-multilib gcc-multilib git-core gnupg gperf \
lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev \
libesd0-dev libncurses5-dev libsdl1.2-dev \
libwxgtk2.8-dev libxml2 libxml2-utils lzop \
openjdk-6-jdk openjdk-6-jre pngcrush schedtool \
squashfs-tools xsltproc zip zlib1g-dev
NOTEIf any GUI comes up for any installation (not sure, been a while since I did it) It should be pretty self-explanatory, for example arrow keys to navigate, enter to select an option etc.
Setting Up Repo's
Okay, so repo is a blanket term here. It can be split up in order to simplify things for the purpose of this tutorial. Repo is a package type thing of commands for handling your repo's. You will need this for Initialising repo's (Repo init) and for syncing sources (Repo sync). I will not be going into different flag meanings, only those which I use in this tutorial.​
Installing the Repo package should be as follows, again google and let me know if I am wrong or it doesn't work!:
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ cd ~/bin
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
NOTEEach $ sign represents a line of command, so you should press enter between commands. For example "mkdir ~/bin <ENTER>" <ENTER> being the action by the user. GUI Users on a local machine may need to reboot at this time or redo it a couple of times until it works, remote users should just disconnect and reconnect again.
Setting up working folders and understanding Directories
Many tutorials will have this step differing from one another, this is because it's all down to personal preference. I prefer to have just the RomName because it's less work, but some prefer to have "Android/<ROMNAME>" or "Android/system/<ROMNAME>". This is because of Git, if a package is called Android_frameworks_Base, it represents the directory <ROMNAME>/frameworks/base/.​
Setting up your working directories is dependent on which Rom you are building.
Generalised Code
Code:
$ mkdir ~/<ROMNAME>
$ cd ~/<ROMNAME>
Example Code
Code:
$ mkdir ~/carbon
$ cd ~/carbon
NOTEThis is creating a directory (mkdir) and navigating to it (cd) to go back when navigating use the "~" sign, it means "Home/<USERNAME>/" it skips some typing is all!
Initialising and Downloading the Repo
Okay so the repo part is perhaps the second longest of all processes you will have when building, it downloads the sources you need to compile with, this is approximately ~18gb maybe? Possibly? So you may need a fair partition or free space on your HDD/SDD for the building process as well.​
Generalised Code:
Code:
repo init -u <GITHUB_LINK_IN_ROM_MANIFEST/ANDROID> -b <CORRESPONDING_BRANCH>
Specific Code:
Code:
repo init -u https://github.com/CarbonDev/android.git -b kk
NOTEAt this point you will see some code and some download stuff, it's just the repo fetching some stuff, at this point, you will be prompted to enter a name and an email, you will either be prompted to enter it, or you will be given the commands needed to do it, this needs to be done, once completed, re-initialize the repo. This will only happen on your first time.
Downloading the code:
Code:
repo sync -j#
NOTE This is going to start the downloading of the sources, the -f is a force flag, this will stop you from receiving any errors in your repo and will re rep sync the source. Other flags can be -j which specifies how many objects to download at once, I choose not to use it but the syntax is -j<NUMBER_OF_JOBS> for example -j10, this should be used in conjunction with the speed and bandwidth of the internet connection supplied, -j4 is default and using a higher flag for a better connection will speed things up considerably, be sure not to over do it thou. See this post for more details!
Setting Up For Your Device
Okay so one of the more important parts, and the parts people usually use the GUI and browsers etc. for, this will be how to do it without those aids. Well on the remote machine anyway, a host machine with GUI is probably needed for changes and links. This will set up vendor, kernel, and device tree.​
General Code in order Kernel, Vendor, Device Tree:
Code:
$ mkdir -p kernel/<MANAFACTURER>/
$ cd kernel/<MANAFACTURER>/
$ git clone <KERNEL_GIT_LINK> <DEVICE_CODENAME/KENREL_NAME>
$ ls
$ cd ~/<ROMNAME>/vendor/
$ git clone <VENDOR_GIT_LINK> <MANAFACTURER>
$ ls
$ cd ~/<ROMNAME>/device
$ mkdir <MANAFACTURER>
$ cd <MANAFACTURER>
$ git clone <DEVICE_TREE_GIT_LINK> <DEVICE_CODENAME>
$ ls
$ cd ~/<ROMNAME>
Specific Code in order Kernel, Vendor, Device Tree:
Code:
$ mkdir -p kernel/lge
$ cd kernel/lge
$ git clone https://github.com/P880-dev/android_kernel_lge_x3.git x3
$ ls
$ cd ~/carbon/vendor
$ git clone https://github.com/P880-dev/proprietary_vendor_lge.git lge
$ cd ~/carbon/device
$ mkdir lge
$ cd lge
$ git clone https://github.com/P880-dev/android_device_lge_p880.git p880
$ ls
$ cd ~/carbon
NOTE There are shorter ways I'm sure, but this works. "ls" checks files in the directory just to double check you did it right. To find the git link it will be on the github of the tree on the left in a box. This only clones the default branch, if it's different you must fork the tree and click settings>default branch and change to the needed one, and use the git clone box from there. Device tree's can be edited per rom on github, or in terminal, for the purpose of using terminal, I'll add to this tutorial.
Making Changes to files
If you are building whichever rom was on your default branch then I guess this step isn't too important for you unless you want to check the files over or you want to edit other files like envsetup.sh to change the build tools versions. This will use the cd, ls, and pico function for editing files. To change configs and stuff in .mk files in device tree. Most people would use gui for file editing and that's why I am showing you the method to do so with ease from the Linux terminal.​
General Code:
Code:
$ cd /device/<MANAFACTURER>/<DEVICE_CODENAME>/
$ ls
$ pico <FILENAME>
Specific Code:
Code:
$ cd device/lge/p880
$ pico cm.mk
NOTE This will open a text editor, the key at bottom represents ctrl + <LETTER> to do different functions. The main ones you use will be "ctrl x" because that is exit. After that you can either edit the name after the changes you made, for example changing CM to Carbon if you were building carbon. You can navigate to any directory, and pico <FILENAME> to edit it! It is easier to make these edits using github after forking a repo, usual changes need to be done to cm.mk and vendorsetup.sh, to know what needs changing, swap cm with the name of the rom, and check the vendor_rom of the rom for the config directories, for nfc and carbon, place a # at the start of the line, this is called hashing out. Change cm.mk when saving or by using mv <FILENAME> <NEW_FILENAME>.
Building the Rom
Okay so now that wasn't too bad was it? Setting up? Some devices that are officially supported do not need the above steps, but then again, if you was officially supported, why would you need to build? Anyways, this will show you how to get the pre-builts (if needed) and how to start the build of the rom. Cheated and used the GUI yet? If not, Good on ye! I will be adding the commands for adding legacy drivers and some other miscellaneous codes and commands in the next post! Including ccache for those who are on host/local machines rather than remote machines.​
Generalised Code:
Code:
$ cd ~/<ROMNAME>/vendor/cm
$ . get-prebuilts.sh
$ cd ~/<ROMNAME>
Option #1: $ . build/envsetup.sh
Option #2: $ source build/envsetup.sh
[I]This last step varies between rom, so I will give the most generalised, check the manifest or building tutorial for the Rom to find out the way to build[/I]
$ brunch <DEVICE_CODENAME> -j<NUMBER_OF_CPU_CORES_+1>
Specific Code:
Code:
$ cd ~/carbon/vendor/cm
$ . get-prebuilts.sh
$ cd ~/carbon
$ . build/envsetup.sh
$ lunch
$ corresponding number
$ make carbon -j18
NOTE This will then start the build, this can take from 1-10hours to build depending on performance and other variables, it takes me ~1hour 15mins for a build of a KitKat Rom. Each ROM has a different build script, this means it can be a different chosen command each time, brunch is the most commonly used, check their manifest or look for a ROM specific building tutorial. -j# is the amount of jobs it will compile at one time, putting an insane number will not make it build faster. Put the amount of cores +1 to be safe. My server has 16cpu threads, and can handle -j18. A -j flag is not needed. Some build scripts support a time brunch <DEVICE_CODENAME> flag to time how long the build has taken. You may be prompted to enable colour display, enable, it looks pretty.
Completed Build, Now What?
So on this journey you have set up a build environment, set up your repo's, and device specific changes needed to buid and you have built a rom. So how do you access the build you just worked your ass off for? For the average user like me who does not have access to ftp, you can either use a program called plowshare as a non root user, or use a command line tool made by xda user GermainZ to upload to devhost using a python script. This is what we will set up next. Or you can use the GUI and extract the Rom and move to your phone straight, for us using remote machines we cannot do this, so we must upload.​
Devhost Set-Up code (supports Anon Uploads):
Code:
$ cd ~/
$ git clone git://github.com/GermainZ/dev-host-cl.git dev-host-cl
$ cp dev-host-cl/devhost-py2.py ~/bin/devhost
$ chmod +x ~/bin/devhost
Uploading your ROM:
Code:
$ cd out/target/product/<DEVICE_CODENAME>/
$ ls
$ devhost upload -u <USERNAME> -p <PASSWORD> <ROM_ZIP_FILE_NAME>
Example:
Code:
$ cd out/target/product/p880
$ ls
For anon upload: $ devhost upload CARBON-KK-UNOFFICIAL.zip
For user upload: $ devhost upload -u username -p password CARBON-KK-UNOFFICIAL.zip
$ cd ~/carbon
Before building again make sure you either:
Code:
A: $ make clean
B: $ make clobber
To remove the directory fully:
Code:
$ cd ~/
$ rm -rf <ROM_FOLDER_NAME>
NOTEThis is installing the script for python 2, if you use python change "python-py2.py" to just "python.py". Do this if it doesn't work first time for you also. Plowshare will be in the miscellaneous post below this one for other codes for users who do not wish to use devhost. The link to the Rom will be on the bottom of the terminal after it is finished uploading. Some errors are server based, make sure you check the error if you are given one.
Did you make it?
Did you manage to complete it without using GUI and cheating? I bet you did! Post in the thread (Don't quote anything) saying you successfully completed the challenge of using no GUI and link to the finished product and I wall add your name to the "Hall of Fame" that will be placed either at the bottom of this thread or on the bottom of the next post! This should now help give you more experience in building from source with a Linux terminal for uses who have no previous experience, or are new to having access to a remote machine.​
Foot Note
So here is my tutorial on how to build a rom from source using no gui and only the Linux terminal, it is a longer process but is the only process when using a remote machine. I hope I made it easy to understand and I hope you will stay to read the other miscellaneous codes and commands that are still to come on the next post. This tutorial was written up by scratch by me, I thank GermainZ for the devhost script, but I had no help in writing up this tutorial, I believe it may also be a first for xda as when I was searching, I didn't find one to follow. Commands in this are done the long way I know. I will explain why and add how to shorten them and some other shortcuts in the miscellaneous section at the bottom of this thread.
Fluoxetine.​
Miscellaneous
Okay so as promised throughout the thread this section is going to contain other codes that may be useful to you (after gaining experience) including some shortcuts for coding that are really simple, it will also include other scripts such as plowshare for those who hate devhost (can't see why you would thou). I plan to continuously add to this part of thread with extra goodies, so keep posted here. For this purpose I will be using HIDE markers for each code as they are optional, and not for everyone. The key for the HTML style syntax I used for this thread (as self-explanatory as it is) will come at the bottom of my opening posts for this thread, kinda like to round it off you could say haha. Logically they should go at the top, however I am neither Spok nor Sheldon Cooper!​
Legacy Folders (Display and Audio)
Code:
$ cd ~/<ROMNAME>/hardware/qcom/
$ git clone https://github.com/Evervolv/android_hardware_qcom_display-legacy.git display-legacy
$ cd ~/<ROMNAME/hardware/qcom/
$ git clone https://github.com/Evervolv/android_hardware_qcom_audio-legacy.git audio-legacy
$ cd ~/<ROMNAME>
Plowshare
Code:
$ wget http://plowshare.googlecode.com/files/plowshare4-snapshot-git20YYMMDD.GITHASH.tar.gz
$ tar xvzf plowshare4-snapshot-git20YYMMDD.GITHASH.tar.gz
$ cd plowshare4-snapshot-git20YYMMDD.GITHASH
$ make install PREFIX=/home/$USER
See this for more information on using plowhshare: https://code.google.com/p/plowshare/wiki/Readme4 [/CODE]
Shortcuts and other codes (WIP)
#Grouping Commands
Code:
$ mkdir cm && cd cm
&& is a grouping command, it literally means "And then"
#Making Paths
Code:
$ mkdir -p kernel/lge
$ cd kernel/lge
-p flag with mkdir creates a path instead of mkdir * cd * mkdir * cd
#Moving and Copying Files
Code:
$ cd ~/home && mv file.txt ~/home/documents
This will move the "file.txt" to your documents.
$ cd ~/home && scp file.txt ~/home/documents
This will copy the "file.txt" to your documents.
#Removing files and Directories
Code:
$ rm -rf ~/home/documents
This will remove the folder "documents"
$ cd ~/home/documents && rm file.txt
This will delete the file.txt
#Downloading Files/Patches
Code:
$ wget file.link
$ wget github.com/commit.patch
$ git apply commit.patch
Add .patch to the end of the commit to make a patch, navigate to the corresponding directory where it needs to be applied, wget it, and apply the name of it.
#SpeedTest
Code:
$ git clone https://github.com/sivel/speedtest-cli.git
$ cd speedtest-cli
$ ./speedtest_cli.py
This will test download and upload speeds.
[/HIDE]
[B]Device Codenames (Should always be lowercase) (WIP)[/B]
[HIDE] [CODE]
LG Optimus 4xHD p880
Nexus 4 Mako
Nexus 5 Hammerhead
Nexus 7 WiFi Flo
Nexus 7 LTE Deb
Manufacturer Names (Should always be lowercase) (WIP)
Code:
Sony
Lge
Samsung
Asus
Htc
Well, here we are, the Key
Code:
<ROMNAME> Name of the Rom, Carbon, Cm, AOKP, AOSP, Beanstalk, DU, There's plenty to choose from!
<DEVICE_CODENAME> Find the codename for your device from it's github as it is most likely going to be used there!
<GIT_LINK> The link to the corresponding package/manifest on github, google to find the roms github and then search it's repo's
<MANAFACTURER> Well, who made your phone? Check devices github for this one too!
<CORRESPONDING_BRANCH> The branch the manifest is on github, it will most likely include this with the repo link for your convenience
If I missed something, a friendly PM will do! Don't want any confuffled users here!
Hall of Fame for users who managed to follow this confusingly long guide!
Code:
Just Me for now, to get your name put here (will be tagged) just post in thread with an [B]"Hey Fluoxetine! I completed the building with Linux Terminal Challenge, Here is my finished product (Link to product) and I didn't cheat by using the GUI! You're the best!"[/B]
Closing Statement
Well guys, I thank you for taking the time to read and follow my tutorial on building from source using only the Linux terminal, this is a great way to build some experience, maybe gain some confidence in building from source and help you get some original work under your belt! To my knowledge, I believe this is the first tutorial which is specifying on how to build using just the Linux terminal and with some extra goodies! I will keep this updated as both Linux, and android evolve in order to keep it up to date, in mainstream with xda and to just make users life that little bit easier. I think this also proves, even noobs can turn things around by studying up, I managed to learn and write all of this within 3weeks of having an android phone! (16, had an iPhone before, big mistake) Would be great to have this featured on xda *Hint Hint* Vote for it! *Hint Hint*. Wonder if this could qualify for xda university material? Haha, anyways, hope this helped!​
Fluoxetine.
Other Stuff No One Will Read
Thanks go out to Rom Dev Teams, xda for giving a place to post this, GermainZ for his devhost script, and Danny19901 for testing and proof reading basically anything and everything I shove infront of him! Haha!​
Donations
I don't like Electronic Payments, the middle man always takes his cut and it's not fair, I don't want donations, cut out the relay and the time, PM with the amount you want to Donate, and I'll send you the link to an amazon item with my details for you to buy for me and have sent straight to me! Would be much appreciated! Will probably be food, I love food :'3
Requests for Rom builds or additions to this post
PM, PM, PM, I do not care about getting messages (In fact it makes me feel loved) So do not be scared to request a Rom build, or request I add something I have missed out from this tutorial! All requests welcome, however this is not going to be a Q&A Thread with compilation issues, it is purely for the knowledge of how to compile, if you have problems with setting up/changing files/navigating, by all means post, all "Error" posts that are not specific to me will be cleaned because I probably won't know how to fix ^.^
Some Hardware Issues
Okay so some of users out there will be thinking "Hmm, is my hardware good enough to build a whole rom with, I can't even run battlefield or -otherGameHere-. The short answer to this is that you probably can, it may just take a little while longer for you, I think you need to have a 64bit machine full stop. However you also need RAM, a fair bit of it, at least 4gb if you plan to compile and nothing else. If not, you can compile on 1ghz, just will take a while and may freeze so keep checking and make the terminal as small as you can. SWAP May be your best friend for those with GUI, this doesn't apply for Remote Machine Users. You can format a partition on your HDD/SSD, or on a USB Stick (preferred) as a Linux Swap partition of 4gb+ to use as extra Rom, just format and swap-on using Gparted which should be installed on Ubuntu standard.​
GPL, Disclaimer, And Goodbye
So here we go, if you do build a Rom following this tutorial, be sure to release/add the kernel source on github to your thread in order to be compliant with the GPL, otherwise you may be in a spot of trouble, that being said I am not responsible for anything that happens to you/your machine/your phone/tab/anything really, unless this wins you the lottery or a similar payload, in which case I love you and we should get married (No Homo) haha.​
Additions, Edits, Other stuff that doesn't fit anywhere else really haha
Okay so what about the other types of cool things you can do to make this maybe a little bit easier? Well even like you guys probably are i am also still learning how to properly use git, and linux etc. so here i will be adding any of the cool things i learn. This will be great as a reference for me to look back at resources and recollect any information that may filter out of my brain, but may also be useful for you to learn at the same rate as i do! So check it out ​
Okay so today (18.02.14) i found a cool little trick using .sh files to help with the whole setting up malarcky and can make it easier if you plan to build the same rom on a weekly/nightly basis.
Okay, so what you can do whilst in the terminal is to add a file on a text basis, you can do this by running
Code:
$ pico setup.sh
This will open up the text editor on a blank document in which you can edit yourself, this is what you need, to begin with you should probably aim to write something for on screen guide/a type of ui just to let you know whats happening, this will work like a build script does, infact the same method can be applied there. Okay so whatneeds to go into it? First you want the print, this is displayed using a command known as echo.
Code:
echo 'Whatever you want to write'
This will displayed when you execute the script. So what next? Well you can choose to have it run a ui print after each action or just once at the start and then leave it to default ui to guide you. So how do you set the actions you want to do? Simply just start writing the commands!
Code:
echo 'setting up'
mkdir -p kernel/<MANUFACTURER> && git clone <KERNEL_CLONE_LINK> <CODENAME> && cd ~/<ROMNAME>/vendor && git clone <VENDOR_CLONE_LINK>
<MANUFACTURER> && cd ~/<ROMNAME> && mkdir <MANUFACTURER> && cd <MANUFACTURER> && git clone <DEVICE_CLONE_LINK> <CODENAME> && cd
~/<ROMNAME>/vendor/cm && sh get-prebuilts && cd ~/<ROMNAME> && . build/envsetup.sh && breakfast <CODENAME> && brunch <CODENAME> -j7 && cd
~/<ROMNAME>/out/target/product/<CODENAME>/
This will set up the kernel, vendor, and device and start building the rom, you may want to remove/add steps but that is how you can do it if you want to build multiple times, this can take a while to ammend for each different rom you use but it works like a dependencies file. To add UI after each one just add it after each step (short version example to follow)
Code:
echo 'setting up'
Mkdir -p kernel/<MANUFACTURER>
echo 'Cloning Kernel now'
Save this file with ctrl +w and save as a .sh file. Once this is done and in your root, working directory you can simply do:
Code:
. setup.sh
Or whichever you set it as!
NOTE
This may not always work, but it is a good way to set up quickly and efficiently, if a step goes wrong it is best to continue manually rather then re-executing the file, for those with GUI, you can just double click the sh file, this does include the prebuilts from CM, you cann a step by using the && command or create multiple scripts to run one after the other to do a separate job. This does require default branches on github to be the ones you are going to be using. The one i use as an example for carbon is as follows
Code:
echo "Setting up Kernel, Vendor, and Device ready to build Carbon Rom"
mkdir -p kernel/lge && cd kernel/lge && git clone https://github.com/P880-dev/android_kernel_lge_x3.git x3 && cd ~/carbon/vendor && git clone https://github.com/P880-dev/proprietary_vendor_lge.git lge && cd ~/carbon/device && mkdir lge && cd lge && git clone https://github.com/Fluoxetine/android_device_lge_p880.git p880 && cd ~/carbon && . build/envsetup.sh && lunch p880 && make carbon -j30 && cd out/target/product/p880/
Great job mate very useful thread
Sent from my LG-P880 using Tapatalk
Nice work mate! I'm a noob but very interested in these type of things and this looks very useful.I'll see if I can do a 'Lil something with this and let you know if it works out!kudos my man!
Sent from my HTC One using xda app-developers app
nice very good thread for our p880 maybe there will not be more q's about bugs and other stuffXD
i will try this challange later i am tired a bit of building roms by myself, because i have lot of work..
btw i didnt know there are some gui tools for building romsXD
If I may add a suggestion repo sync -f is not the best idea (at least for the first sync), as if a repo can't be downloaded, it just gets skipped, but the repo script still does on syncing, which means you may be missing some source code in case something goes wrong.
So repo sync should be better, at least for the initial sync. Also, the -j flag can speed up things extremely, on systems with a good internet connection, the default is -j4 (if you don't specify another value), but if you run this on a speedy connection, it will slow the DL extremely down.
I, for one, am running -j20 on my home connection (~1.2MB/s DL), but -j80 on a server, I have access to (dunno the exact max speed, but it's fast enough to sync CM in under 7 minutes ). -j4 would take an eternity, as it cannot use the entire bandwidth of the server
BTW, the codenames and manufacturers usually are all lowercase
laufersteppenwolf said:
If I may add a suggestion repo sync -f is not the best idea (at least for the first sync), as if a repo can't be downloaded, it just gets skipped, but the repo script still does on syncing, which means you may be missing some source code in case something goes wrong.
So repo sync should be better, at least for the initial sync. Also, the -j flag can speed up things extremely, on systems with a good internet connection, the default is -j4 (if you don't specify another value), but if you run this on a speedy connection, it will slow the DL extremely down.
I, for one, am running -j20 on my home connection (~1.2MB/s DL), but -j80 on a server, I have access to (dunno the exact max speed, but it's fast enough to sync CM in under 7 minutes ). -j4 would take an eternity, as it cannot use the entire bandwidth of the server
BTW, the codenames and manufacturers usually are all lowercase
Click to expand...
Click to collapse
Added your changes, and some suggested by @me4488 so thanks for that guys, in addition to this and to kinda bump the thread i did add another
Additions, Edits, Other stuff that doesn't fit anywhere else really haha
Click to expand...
Click to collapse
Section with a build script type creating thing in it for users to muck about with
Hope this is of a help to you all!
Damn this is a big thread
it look really great but... i would like to use the offical tree and blobs...... i got a lot of it done oke but i seems to get lost in finding the "offical" vendor in step setting up for your device.
could any body help me out? just trying to compile offical cyanogenmod just to try. and to understand how it all works.
ok i got something starting
but i get this message
You are attempting to build with an unsupported JDK. will find and try to install the right JDK
moneyvirus said:
[..]
but i get this message
You are attempting to build with an unsupported JDK. will find and try to install the right JDK
Click to expand...
Click to collapse
what's the output of?
Code:
java -version
laufersteppenwolf said:
what's the output of?
Code:
java -version
Click to expand...
Click to collapse
It seems he is using java1.7 .. He must change all things to work under 1.6 but i dont remember how XD it is explained somewhere at xda university
Sent from my LG-P880 using xda app-developers app
gerciolisz said:
It seems he is using java1.7 .. He must change all things to work under 1.6 but i dont remember how XD it is explained somewhere at xda university
Sent from my LG-P880 using xda app-developers app
Click to expand...
Click to collapse
well apperently i'm not using java 1.7.
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.4)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
this is what i got @laufersteppenwolf
moneyvirus said:
well apperently i'm not using java 1.7.
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.4)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
this is what i got @laufersteppenwolf
Click to expand...
Click to collapse
I mean there was a command which shows every detail about wchich things are using which java.. Sometimes you can have java 1.6 installed but some parts of system are using 1.7.. Ill try to find it
Edit. I remember it was in compiling cm11 thread somewhere on xda.
There was something about setting up java alternatives AS far AS i remember
Sent from my LG-P880 using xda app-developers app
Nice tutorial If i was a developer of roms o would definetely use your way, i like the old school linux throught terminal exploring
Sent from my LT22i using xda app-developers app
moneyvirus said:
well apperently i'm not using java 1.7.
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.4)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
this is what i got @laufersteppenwolf
Click to expand...
Click to collapse
Alright, then just ignore the error It's saying it'd be the wrong java version, because you're using openJDK, and not oracle, but openJDK is just as fine as oracle
gerciolisz said:
I mean there was a command which shows every detail about wchich things are using which java.. Sometimes you can have java 1.6 installed but some parts of system are using 1.7.. Ill try to find it
Edit. I remember it was in compiling cm11 thread somewhere on xda.
There was something about setting up java alternatives AS far AS i remember
Sent from my LG-P880 using xda app-developers app
Click to expand...
Click to collapse
Java 7 (1.7) is also compatible. It isn't officially supported, and you might run into problems compiling pure AOSP, but other custom ROMs should compile just fine
Thanks for the feedback i'm still having 1 question the Vendor, the unoffical tree is completly clear but i can't find it in the offical source so i mean something like
$ git clone https://github.com/P880-dev/proprietary_vendor_lge.git lge but than on the offical cyanogenmod github.
moneyvirus said:
Thanks for the feedback i'm still having 1 question the Vendor, the unoffical tree is completly clear but i can't find it in the offical source so i mean something like
$ git clone https://github.com/P880-dev/proprietary_vendor_lge.git lge but than on the offical cyanogenmod github.
Click to expand...
Click to collapse
here you go:
Code:
cd vendor
git clone [email protected]:TheMuppets/proprietary_vendor_lge.git -b cm-11.0 lge
croot
ok i found it..
source: http://forum.xda-developers.com/nexus-4/general/guide-cm11-how-to-build-cyanogenmod-11-t2515305
Verify the symlinks. Javac, Java, Javaws, Javadoc, Javah, Javap and Jar should all point to the right Java location and version:
Code:
Code:
$ ls -la /etc/alternatives/java* && ls -la /etc/alternatives/jar
If they are pointing to the wrong versions you have to change that to OpenJDK6.
Select the default Java version for your system:
Code:
Code:
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws
$ sudo update-alternatives --config javadoc
$ sudo update-alternatives --config javah
$ sudo update-alternatives --config javap
$ sudo update-alternatives --config jar
That's it.
Click to expand...
Click to collapse
when i had problems with compiling and got some famous errors i changed to this OpenJDK6 with this method and it solved it so if is not solution for your problem maybe its helpful for others
when i was compiling some time ago i must read few compiling threads to make it work and understand it
ok probbably this is a really stupid from my side but this is what i did.
and probbably i'm too noob for this, but i tried this:
i downloaded by example rastakat.
downloaded all the steps... without any error.
But in the last step when i type lunch and i have to choose wich version i would like to compile i can't find P880......
i have the feeling i have to edit some stuff but to be honest i don't know that yet....
will try later on.
maybe you need custom local manifest to p880-dev sources or official p880 sources..
moneyvirus said:
ok probbably this is a really stupid from my side but this is what i did.
and probbably i'm too noob for this, but i tried this:
i downloaded by example rastakat.
downloaded all the steps... without any error.
But in the last step when i type lunch and i have to choose wich version i would like to compile i can't find P880......
i have the feeling i have to edit some stuff but to be honest i don't know that yet....
will try later on.
Click to expand...
Click to collapse
You've set yourself a pretty hard task, first of all, compiling a yet unsupported ROM, but mostly a (more-less) AOSP ROM...
this means you can't use lunch, but you need to do the following:
Download the p880-dev device tree, kernel and vendor blobs
Edit the "inherit" paths inside the .mk files of the device tree
Without (except for the above mentioned) changes, you can run "lunch cm_p880-eng"
Then you can make -j<your_value> bacon

[H][DEV] [T] Build CM12 for Xperia T Mint

Hello to everyone, my name is Tkd-Alex and I'm Italian :good: . Excuse me if I do English errors.
I woult to build the Cyanogenmod 12 for Xperia T mint by a source code of CM. Thanks to the cm wiki as I understand how this works. But I've errors with it! I hope you can help me. :angel:
Let's start! :laugh:
The first step to me is prepare the enviroment to build the rom. I've installed Ubuntu 13.10 64bit inside a Virtual Machine and I've installed Java and other tools/packages for building on it.
After basic installations I set up the repo command.
Code:
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
Code:
sudo nano ~/.bashrc
Add at the end line: export PATH=~/bin:$PATH save and restart the bash
Code:
source ~/.bashrc
The second step is the Building.
Create the folder.
Code:
mkdir ~/cm12
Move in to the folder
Code:
cd ~/cm12
Initialize the CyanogenMod source repository
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-12.0
Sync the repo
Code:
repo sync
ERROR!
After repo sync I'll get prebuilt apps but when I send the command:
Code:
./get-prebuilts
I get the following error:
Code:
bash: ./get-prebuilts: File o directory not existing
Can anyone help me? @GabMus @updateing @WhiteNeo @Chefov01
You are not in the right directory.. "get-prebuilts" is an executable file that isn't present in the cm12 root directory.
Type this in Terminal before "./get-prebuilts":
Code:
cd ~/cm12/vendor/cm
However, afaik those prebuilt apps are no longer needed to build cm12. They have been removed from the build process some days ago.
WhiteNeo said:
You are not in the right directory.. "get-prebuilts" is an executable file that isn't present in the cm12 root directory.
Type this in Terminal before "./get-prebuilts":
Code:
cd ~/cm12/vendor/cm
However, afaik those prebuilt apps are no longer needed to build cm12. They have been removed from the build process some days ago.
Click to expand...
Click to collapse
bro is there any chance you could make a build for us T users? at least for testing purposes, im sure our developers would appreciate it a lot as well and would help as a starting point.. :-/
Not working.
WhiteNeo said:
You are not in the right directory.. "get-prebuilts" is an executable file that isn't present in the cm12 root directory.
Type this in Terminal before "./get-prebuilts":
Code:
cd ~/cm12/vendor/cm
However, afaik those prebuilt apps are no longer needed to build cm12. They have been removed from the build process some days ago.
Click to expand...
Click to collapse
Thank for reply, but I know that you say :highfive: . I had already tried the command ./get-prebuilts in the folder /cm12/vendor/cm but I forgot to say in the post. Now I'll try to ignore the prebuilds and download the muppets repo, extract the zip, rename in sony and copy the folder in /cm12/vendor. After that I will go in the root folder
Code:
croot
and try the brunch command
Code:
brunch mint
Is that correct?
tkd-alex said:
Thank for reply, but I know that you say :highfive: . I had already tried the command ./get-prebuilts in the folder /cm12/vendor/cm but I forgot to say in the post. Now I'll try to ignore the prebuilds and download the muppets repo, extract the zip, rename in sony and copy the folder in /cm12/vendor. After that I will go in the root folder
Code:
croot
and try the brunch command
Code:
brunch mint
Is that correct?
Click to expand...
Click to collapse
Well.. No.
For CM11 it would work, but CM12 needs different device files than the ones downloaded by "breakfast mint" or "brunch mint"..
I'm not quite sure it compiling Lollipop is a good start for learning android development if you've never built a rom before.
WhiteNeo said:
Well.. No.
For CM11 it would work, but CM12 needs different device files than the ones downloaded by "breakfast mint" or "brunch mint"..
I'm not quite sure it compiling Lollipop is a good start for learning android development if you've never built a rom before.
Click to expand...
Click to collapse
Infact with the breakfast command I've this:
Code:
[email protected]:~/cm12$ breakfast mint
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/sony/mint/cm.mk]]: "device/sony/common/resources.mk" does not exist. Arresto.
Device mint not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_sony_mint
Default revision: cm-12.0
Checking branch info
CyanogenMod/android_device_sony_mint already exists
Syncing repository to retrieve project.
Fetching project CyanogenMod/android_device_sony_mint
Fetching projects: 100% (1/1), done.
Repository synced!
Looking for dependencies
Done
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/sony/mint/cm.mk]]: "device/sony/common/resources.mk" does not exist. Arresto.
** Don't have a product spec for: 'cm_mint'
** Do you have the right repo manifest?
We can not do anything?
tkd-alex said:
Infact with the breakfast command I've this:
Code:
[email protected]:~/cm12$ breakfast mint
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/sony/mint/cm.mk]]: "device/sony/common/resources.mk" does not exist. Arresto.
Device mint not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_sony_mint
Default revision: cm-12.0
Checking branch info
CyanogenMod/android_device_sony_mint already exists
Syncing repository to retrieve project.
Fetching project CyanogenMod/android_device_sony_mint
Fetching projects: 100% (1/1), done.
Repository synced!
Looking for dependencies
Done
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[device/sony/mint/cm.mk]]: "device/sony/common/resources.mk" does not exist. Arresto.
** Don't have a product spec for: 'cm_mint'
** Do you have the right repo manifest?
We can not do anything?
Click to expand...
Click to collapse
Maybe you can check if some entries are missing in local_manifest (e.g. the sony common repo it listed there) mine is here: http://forum.xda-developers.com/showpost.php?p=57492538&postcount=52
And it's not a nice idea to learn building Android on T & CM12. It's not easy as CM11, lots of patches have to be applied to make it work...

Building and Flashing AOSP for Pixel 4 XL

I am just getting into all that can be done with android devices (ROMs, flashing, etc) and I wanted to build AOSP and flash it to my Pixel 4 XL to understand it better. I was able to flash Android 10 AOSP but I am struggling with Android 11. Has anyone done this before and can offer suggestions?
I have been following the official google guide as well as https://forum.xda-developers.com/t/noobs-guide-to-building-aosp-from-scratch.4012293/. The pixel has no data on it and is running the latest build of android 11 (RQ2A.210305.006) before I attempt this.
I have done the following
Code:
git config --global user.email "****"
git config --global user.name "****"
export PATH=/home/me/bin:$PATH
repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_r32 --depth=1
repo sync -c -j12
./extract-qcom-coral.sh
./extract-google_devices-coral.sh
source build/envsetup.sh
lunch aosp_coral-userdebug
m -j12
which fastboot
fastboot flashall -w
but after flashing the phone just displays the Google logo on a white background. After it runs out of power or I reboot it, it is stuck at the bootloader and says there is no valid slot. I then have to use the factory image (RQ2A.210305.006) to recover before trying again.
As you can see I have added the proprietary binaries from Google and Qualcomm and I don't know of any other gotchas that I could be forgetting.
Thank you very much for any advice you can provide.

Categories

Resources