diff --git a/building-101/ota_updates.md b/building-101/ota_updates.md new file mode 100644 index 0000000..bccd778 --- /dev/null +++ b/building-101/ota_updates.md @@ -0,0 +1,9 @@ +--- +order: 5 +--- + +# Setting up ota updates + +First we need to tell the updater where to look for the updater info. We can do that using an [overlay in the device tree](https://github.com/SirRGB/android_device_oneplus_msm8998-common/commit/fe390cf65b910c9833b7cc4fbbd1359ff5b5fb9f). Be sure to use the exact url, that only provides text and not an entire webpage. {device} resolves to the devices codename, i.e. cheeseburger for the OnePlus 5. +On lineage you can simply pick [this commit](https://github.com/amyROM/vendor_amy/commit/eb0ff17ced46d969bdc5a4e8599433d76f93f8f5) and [use sha256sum](https://github.com/amyROM/vendor_amy/commit/1938b05bf3d0d8fc6e1bfb16a6be033b6a624502#diff-91c830a3d50e97454dfe32defa90f9635bd926ad3130f2a1cdf06f52e980026fR9) instead of md5sum. +After the build you get a json file named similarly to the package name, which you can upload to the url you specified in the updater overlay after you uploaded the package and adapted the url within the ota info to reflect that. diff --git a/legacy/build-legacy-android.md b/legacy/build-legacy-android.md index 2d24035..05e5ae2 100644 --- a/legacy/build-legacy-android.md +++ b/legacy/build-legacy-android.md @@ -7,10 +7,8 @@ Old Android versions can be pretty difficult to build nowadays and thus this gui Assuming you set up your build enviromnet already you still have to install legacy java and python for Android 8 and below. Newer versions ship the jdk inside the source. -The [Lineage wiki](https://wiki.lineageos.org/devices/flounder/build/#java) has a comprehensive guide on that for ubuntu/-based distros and fedora also still ships openjdk 8 in their repos, which you can install by running: -```bash -sudo dnf install temurin-8-jdk -``` +The [Lineage wiki](https://wiki.lineageos.org/devices/flounder/build/#java) has a comprehensive guide on that for ubuntu/-based distros and fedora lets you [set up temurin 8](https://docs.fedoraproject.org/en-US/quick-docs/installing-java/#_installing_an_older_java_version) easily + Note that you might need to use [update-alternatives](https://www.baeldung.com/linux/update-alternatives-command) to set the proper symlinks and use the old java/javac version. In addition to that you need to allow Tls V1/1.1 by removing TLSv1 and TLSv1.1 from jdk.tls.disabledAlgorithms within /etc/java-8-openjdk/security/java.security on debian based distros. ```bash @@ -30,8 +28,11 @@ outputs something like openjdk/javac 1.8 for Android 7 and 8 Next is python. You need python 2 to be set as default for Android 9 and below and python 3 for Android 10 and up. -You may need to manually install the python2 package and symlink it to python using [update-alternatives](https://www.baeldung.com/linux/update-alternatives-command) just like java. -Verify the version once again using +I highly recommend checking out pyenv for that. After having [set up pyenv](https://github.com/pyenv/pyenv?tab=readme-ov-file#linuxunix) you can simply run: +```bash +pyenv install 2 +``` +And verify it worked with: ```bash python --version ``` @@ -44,5 +45,5 @@ export LC_ALL=C && export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+Tiere and continue the build as usual. After verifying it boots you can implement the security backports from the lineage os gerrit. -For android 7 you can repopick the topics [n-asb-2021-10](https://review.lineageos.org/q/topic:%22n-asb-2021-09%22) up to the most recent backports [n-asb-2025-05](https://review.lineageos.org/q/topic:%22n-asb-2025-05%22) and [tzdb_N](https://review.lineageos.org/q/topic:%22tzdb_N%22) as of writing this guide. +For android 7 you can repopick the topics [n-asb-2021-10](https://review.lineageos.org/q/topic:%22n-asb-2021-09%22) up to the most recent backports [n-asb-2025-11](https://review.lineageos.org/q/topic:%22n-asb-2025-11%22) and [tzdb_N](https://review.lineageos.org/q/topic:%22tzdb_N%22) as of writing this guide. [lin14-mGoms](https://codeberg.org/lin14-mgoms) is a notable fork that provides substratum, microg support and asb backports.