jfloff / docker-lineageos Goto Github PK
View Code? Open in Web Editor NEWA more automated Docker-based build environment for LineageOS
License: MIT License
A more automated Docker-based build environment for LineageOS
License: MIT License
Hello!
Would someone be able to provide a few hints or pointers of what exact type and version of the blobs I need to hint down? As the LineageOS docs are not very specific, I have a few open questions.
Can I download the "zip" from any random device to rip the blobs for my older Nexus 10 (mantra)? Or, do I need to get the blobs from the actual old Manta builds - like an archived version somewhere of the last version released?
Do the blobs need to match the CM version I am building for? IOW, can I rip the blobs from a CM16 build to make a CM13 build?
Thanks!
Getting the following:
[INFO] Building LineageOS ...
bash: /home/lineageos/build/envsetup.sh: No such file or directory
bash: prebuilts/misc/linux-x86/ccache/ccache: No such file or directory
bash: breakfast: command not found
bash: croot: command not found
bash: brunch: command not found
Init and sync works - this is the command I am using:
docker run --rm --privileged -v "$(pwd)/android":/home/lineageos -e GIT_USER_NAME=jfloff -e [email protected] -e DEVICE_CODENAME=mako -e LINEAGE_BRANCH=lineage-15.1 -ti jfloff/lineageos lineageos init build
running:
docker run --rm --privileged \
-v "$(pwd)/android":/home/lineageos \
-e GIT_USER_NAME=thejacer87 \
-e [email protected] \
-e DEVICE_CODENAME=serrano3gxx \
-ti jfloff/lineageos lineageos init build
get this error:
error: could not lock config file /home/lineageos/.gitconfig: Permission denied
error: could not lock config file /home/lineageos/.gitconfig: Permission denied
[INFO] Initializing repository.
fatal: cannot make .repo directory: Permission denied
[INFO] Sync repository
error: command 'sync' requires repo to be installed first.
Use "repo init" to install it here.
[INFO] Downloading extra files
[INFO] Enable caching at '/home/lineageos/cache' with 50G
bash: prebuilts/misc/linux-x86/ccache/ccache: No such file or directory
[INFO] Setup 'build/envsetup.sh'
chmod: cannot access 'build/envsetup.sh': No such file or directory
bash: /home/lineageos/build/envsetup.sh: No such file or directory
bash: breakfast: command not found
[INFO] Export environment setup into '/home/lineageos/.lineageos_dev_init'.
bash: /home/lineageos/.lineageos_dev_init: Permission denied
[DONE] Init done.
[INFO] Building LineageOS ...
bash: /home/lineageos/build/envsetup.sh: No such file or directory
bash: prebuilts/misc/linux-x86/ccache/ccache: No such file or directory
bash: breakfast: command not found
bash: croot: command not found
bash: brunch: command not found
Hey @jfloff ,
I am trying to build los-15.1 for the LG v20 (H990) and am having problems when it starts building the kernel. I get segmentation faults:
make: Entering directory '/home/lineageos/kernel/lge/msm8996'
make[1]: Entering directory '/home/lineageos/out/target/product/h990/obj/KERNEL_OBJ'
Segmentation fault (core dumped)
Segmentation fault (core dumped)
GEN ./Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
Segmentation fault (core dumped)
Segmentation fault (core dumped)
CHK include/config/kernel.release
Segmentation fault (core dumped)
Segmentation fault (core dumped)
GEN ./Makefile
Segmentation fault (core dumped)
CHK include/generated/uapi/linux/version.h
Segmentation fault (core dumped)
Segmentation fault (core dumped)
Using /home/lineageos/kernel/lge/msm8996 as source for kernel
Segmentation fault (core dumped)
CHK include/generated/utsrelease.h
Segmentation fault (core dumped)
[...]
[ 53% 16655/31169] build INSTALLED_KERNEL_MODULES
Installing Kernel Modules
make: Entering directory '/home/lineageos/kernel/lge/msm8996'
make[1]: Entering directory '/home/lineageos/out/target/product/h990/obj/KERNEL_OBJ'
Segmentation fault (core dumped)
Segmentation fault (core dumped)
INSTALL block/test-iosched.ko
INSTALL crypto/ansi_cprng.ko
INSTALL drivers/char/rdbg.ko
INSTALL drivers/input/evbug.ko
INSTALL drivers/mmc/card/mmc_block_test.ko
INSTALL drivers/mmc/card/mmc_test.ko
INSTALL drivers/net/wireless/ath/wil6210/wil6210.ko
INSTALL drivers/scsi/ufs/ufs_test.ko
INSTALL drivers/spi/spidev.ko
INSTALL drivers/usb/gadget/legacy/g_laf.ko
INSTALL drivers/usb/gadget/udc/dummy_hcd.ko
INSTALL drivers/video/backlight/lcd.ko
INSTALL net/bridge/br_netfilter.ko
Segmentation fault (core dumped)
DEPMOD 3.18.113-perf-g56b53202e62
make[1]: Leaving directory '/home/lineageos/out/target/product/h990/obj/KERNEL_OBJ'
make: Leaving directory '/home/lineageos/kernel/lge/msm8996'
depmod: WARNING: could not open /home/lineageos/out/target/product/h990/obj/PACKAGING/depmod_vendor_intermediates/lib/modules/0.0/modules.order: No such file or directory
depmod: WARNING: could not open /home/lineageos/out/target/product/h990/obj/PACKAGING/depmod_vendor_intermediates/lib/modules/0.0/modules.builtin: No such file or directory
[45670.856670] show_signal_msg: 16 callbacks suppressed
[45670.856672] aarch64-linux-a[18273]: segfault at 17f4009 ip 0000000000462c20 sp 00007ffd92d39848 error 4 in aarch64-linux-android-ld.bfd[400000+1cf000]
[45671.279208] aarch64-linux-a[18650]: segfault at 986009 ip 0000000000462c20 sp 00007ffd08575bc8 error 4 in aarch64-linux-android-ld.bfd[400000+1cf000]
[45671.379506] aarch64-linux-a[18739]: segfault at 2272000 ip 0000000000462c20 sp 00007ffea2f3c108 error 4 in aarch64-linux-android-ld.bfd[400000+1cf000]
[45671.486016] aarch64-linux-a[18862]: segfault at 1691019 ip 0000000000462c20 sp 00007ffc18de9278 error 4 in aarch64-linux-android-ld.bfd[400000+1cf000]
[45671.594243] aarch64-linux-a[18950]: segfault at 256d009 ip 0000000000462c20 sp 00007ffc52d80368 error 4 in aarch64-linux-android-ld.bfd[400000+1cf000]
[45671.695387] aarch64-linux-a[19018]: segfault at 11fa009 ip 0000000000462c20 sp 00007fffceff22c8 error 4 in aarch64-linux-android-ld.bfd[400000+1cf000]
[45673.387570] aarch64-linux-a[20263]: segfault at 1b65019 ip 0000000000462c20 sp 00007ffca7f918d8 error 4 in aarch64-linux-android-ld.bfd[400000+1cf000]
[45673.559025] aarch64-linux-a[20348]: segfault at 1a7a000 ip 0000000000462c20 sp 00007ffc1f7ff058 error 4 in aarch64-linux-android-ld.bfd[400000+1cf000]
[45673.646780] aarch64-linux-a[20409]: segfault at 12d9019 ip 0000000000462c20 sp 00007fffb219ed78 error 4 in aarch64-linux-android-ld.bfd[400000+1cf000]
[45673.726228] aarch64-linux-a[20463]: segfault at 1b5d009 ip 0000000000462c20 sp 00007ffe77b8b538 error 4 in aarch64-linux-android-ld.bfd[400000+1cf000]
[45676.409960] show_signal_msg: 10 callbacks suppressed
my device-config:
cat device-config/h990.env
#!/bin/bash
LINEAGEOS_REPO=https://github.com/LineageOS/android.git
LINEAGEOS_BRANCH=lineage-15.1
DEVICE_CODENAME=h990
PROPRIETARY_BLOBS_REPO=https://github.com/TheMuppets/proprietary_vendor_lge
PROPRIETARY_BLOBS_DIR=$BASE_DIR/vendor/lge
I could not find a way to fix this problem. I even changed to "unstable" in the debian image to use newer gcc binaries but that did not work either.
The docker-image runs inside a VM and resources seem not to be exhausted.
Great project! I like it much more than the official/manual LineageOS install process:
https://wiki.lineageos.org/devices/mako/build
https://github.com/lineageos-infra/builder_android
I cloned this repo yesterday, setup a device-config/mako.env
like so:
$ cat device-config/mako.env
#!/bin/bash
GIT_USER_NAME=brainstorm
GIT_USER_EMAIL=myemail
# Repo and branch
LINEAGEOS_REPO=https://github.com/LineageOS/android.git
LINEAGEOS_BRANCH=lineage-15.1
DEVICE_CODENAME=mako
# add due to Bug with Jack: https://wiki.lineageos.org/devices/klte/build#configure-jack
# adjust if you want to change something
ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"
# link to repo with the proprietary blobs
# https://wiki.lineageos.org/devices/klte/build#extract-proprietary-blobs
PROPRIETARY_BLOBS_REPO=https://github.com/TheMuppets/proprietary_vendor_lge
PROPRIETARY_BLOBS_DIR=$BASE_DIR/vendor/mako
And then ran it like so: docker run --rm --privileged -v "$(pwd)/android":/home/lineageos --env-file device-config/mako.env -ti jfloff/lineageos lineageos init build
, all the init part seems fine but unfortunately all the breakfast/lunch/brunch binaries cannot be found during the build phase since there's no envsetup.sh
to source/execute?:
(...)
remote: Counting objects: 25831, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 25831 (delta 29), reused 12 (delta 12), pack-reused 25753
Receiving objects: 100% (25831/25831), 1.54 GiB | 2.63 MiB/s, done.
Resolving deltas: 100% (12534/12534), done.
Checking out files: 100% (7989/7989), done.
[INFO] Downloading extra files
[INFO] Enable caching at '/home/lineageos/cache' with 50G
bash: prebuilts/misc/linux-x86/ccache/ccache: No such file or directory
[INFO] Setup 'build/envsetup.sh'
chmod: cannot access 'build/envsetup.sh': No such file or directory
bash: /home/lineageos/build/envsetup.sh: No such file or directory
bash: breakfast: command not found
[INFO] Export environment setup into '/home/lineageos/.lineageos_dev_init'.
[[ -f /home/lineageos/.lineageos_dev_init ]] && source /home/lineageos/.lineageos_dev_init
[DONE] Init done.
[INFO] Building LineageOS ...
bash: /home/lineageos/build/envsetup.sh: No such file or directory
bash: prebuilts/misc/linux-x86/ccache/ccache: No such file or directory
bash: breakfast: command not found
bash: croot: command not found
bash: brunch: command not found
Hi,
I have two questions.
So one only needs to modify default.env file, maybe with something like following?:
# Repo and branch for a local manifest
LINEAGEOS_LOCAL_MANIFEST_REPO=https://github.com/aperomsik/lineageos_local_manifests.git
LINEAGEOS_LOCAL_MANIFEST_BRANCH=cm-14.1
I think there is a good way to utilize what features repo have for different flavors of builds. If you think it's a good feature I can create a pull request.
Thanks!
When launching a build, the console is outputting the following warning:
... A new repo command ( 1.26) is available.
... You should upgrade soon:
Maybe the repo version in the docker image should be updated.
Hey,
thanks for this nice docker image!
I just tried this docker image to build an example bacon image.
[ 38% 13362/34470] Ensure Jack server is installed and started
FAILED: /bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.8.ALPHA.jar 2>&1 || (exit 0) ) && (JACK_SERVER_VM_ARGUMENTS=\"\"-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx8G\"\" prebuilts/sdk/tools/jack-admin start-server 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update server prebuilts/sdk/tools/jack-server-4.8.ALPHA.jar 4.8.ALPHA 2>&1 || exit 0 ) && (prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-2.28.RELEASE.jar 2.28.RELEASE || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-3.36.CANDIDATE.jar 3.36.CANDIDATE || exit 47; prebuilts/sdk/tools/jack-admin update jack prebuilts/sdk/tools/jacks/jack-4.7.BETA.jar 4.7.BETA || exit 47 )"
Writing client settings in /home/lineageos/.jack-settings
Installing jack server in "/home/lineageos/.jack-server"
/bin/bash: -XX:+TieredCompilation: command not found
No Jack server running. Try 'jack-admin start-server'
No Jack server running. Try 'jack-admin start-server'
[ 38% 13362/34470] host C++: libconscrypt_openjdk_jni <= external/conscrypt/src/main/native/org_conscrypt_NativeCrypto.cpp
ninja: build stopped: subcommand failed.
build/core/ninja.mk:151: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
make: Leaving directory '/home/lineageos'
#### make failed to build some targets (46:12 (mm:ss)) ####
It states that jack is not running.
Starting it manually by just typing jack-admin start-server
does not take ANDROID_JACK_VM_ARGS
into account. So how is it intended to be used?
Further more, the environment variables do not get substituted / expanded properly. If I set CCACHE_DIR=$BASE_DIR/ccache
, a directory $BASE_DIR is created as top folder for the ccache and if set it to CCACHE_DIR="$BASE_DIR/ccache"
a directory " is created on top level. This happens even if define it after defining BASE_DIR. Am I missing something here?
Thanks for your help in advance :-)
Was just browsing through and noticed:
Line 30 in f558473
FYI:
$ if [[ 3 > 22 ]]; then echo true; else echo false; fi
true
True, because 3 comes after 22, alphabetically. For numerical comparison, you could use (( x > y ))
or [[ $x -gt $y ]]
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.