-
-
Save schoeller/904611a4baa1bae4107a4e3748e4746e to your computer and use it in GitHub Desktop.
1.Follow instruction as per https://wiki.lineageos.org/devices/river/build to setup the environment including repo, caching | |
2.When initializing the repo use branch 17.1 | |
repo init -u https://github.com/LineageOS/android.git -b lineage-17.1 | |
repo sync | |
3.Clone specific repos for enabling device support | |
git clone https://github.com/GS290-dev/android_device_gigaset_GX290-unified -b lineage-17.1 device/gigaset/GX290-unified | |
git clone https://github.com/GS290-dev/proprietary_vendor_gigaset/ -b lineage-17.1 vendor/gigaset | |
git clone https://github.com/GS290-dev/android_device_gigaset_mt6763-common -b lineage-17.1 device/gigaset/mt6763-common | |
git clone https://github.com/GS290-dev/android_kernel_gigaset_gx290 -b lineage-17.1 kernel/gigaset/gx290 | |
git clone https://github.com/GS290-dev/proprietary_vendor_firmware -b lineage-17.1 vendor/firmware | |
git clone https://github.com/erfanoabdi/android_device_mediatek_sepolicy device/mediatek/sepolicy | |
4.Build distribution | |
source build/envsetup.sh | |
lunch lineage_GX290-user | |
mka bacon | |
Output from lunch | |
============================================ | |
PLATFORM_VERSION_CODENAME=REL | |
PLATFORM_VERSION=10 | |
LINEAGE_VERSION=17.1-20210822-UNOFFICIAL-GX290 | |
TARGET_PRODUCT=lineage_GX290 | |
TARGET_BUILD_VARIANT=user | |
TARGET_BUILD_TYPE=release | |
TARGET_ARCH=arm64 | |
TARGET_ARCH_VARIANT=armv8-a | |
TARGET_CPU_VARIANT=generic | |
TARGET_2ND_ARCH=arm | |
TARGET_2ND_ARCH_VARIANT=armv8-a | |
TARGET_2ND_CPU_VARIANT=generic | |
HOST_ARCH=x86_64 | |
HOST_2ND_ARCH=x86 | |
HOST_OS=linux | |
HOST_OS_EXTRA=Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-Ubuntu-20.04.2-LTS | |
HOST_CROSS_OS=windows | |
HOST_CROSS_ARCH=x86 | |
HOST_CROSS_2ND_ARCH=x86_64 | |
HOST_BUILD_TYPE=release | |
BUILD_ID=QQ3A.200805.001 | |
OUT_DIR=out | |
PRODUCT_SOONG_NAMESPACES=vendor/gigaset/mt6763-common vendor/gigaset/mt6763-common device/gigaset/mt6763-common device/gigaset/GX290-unified | |
============================================ | |
5.Prepare phone for flashing | |
Enable developer mode | |
Backup | |
Make sure adb / fastboot are working | |
Unlock bootloader similar to https://doc.e.foundation/devices/GS290/install | |
6.Prepare boot.img with Magisk to disable AVB / dm-verity | |
7.Flash recovery.img to boot and boot, then sideload zip-file |
@Satlinker
Entschuldigung für die späte Antwort. E/os läuft bei mir seitdem im Produktiveinsatz. Probleme habe ich keine gefunden. Derzeit versuche ich ein Update mittels https://raw.githubusercontent.com/GS290-dev/local_manifests/main/gs290.xml. Wenn es funktioniert melde ich mich im Forum.
Recipe for Lineage 19.1:
repo init -u https://github.com/LineageOS/android.git -b lineage-19.1
mkdir .repo/local_manifests
curl https://raw.githubusercontent.com/GS290-dev/local_manifests/main/gs290.xml > .repo/local_manifests/gx290.xml
repo sync
lunch lineage_GX290-user
mka bacon
Recipe for Lineage 18.1
repo init -u https://github.com/LineageOS/android.git -b lineage-18.1
repo sync --no-clone-bundle --no-tags --optimized-fetch --prune --force-sync -j$( nproc --all )
mkdir .repo/local_manifests
curl https://raw.githubusercontent.com/schoeller/local_manifests/main/gx290.xml > .repo/local_manifests/gx290.xml
repo sync --no-clone-bundle --no-tags --optimized-fetch --prune --force-sync -j$( nproc --all )
ccache -M 50G
#export LC_ALL=C
source build/envsetup.sh
lunch lineage_GX290-user
mka bacon
Recipe for Eos 0.23.9-r:
repo init -u https://gitlab.e.foundation/e/os/releases.git -b refs/tags/v0.23.9-r
mkdir .repo/local_manifests
curl https://raw.githubusercontent.com/schoeller/local_manifests/main/eos.xml > .repo/local_manifests/eos.xml
repo sync --no-clone-bundle --no-tags --optimized-fetch --prune --force-sync -j$( nproc --all )
repo forall -j$( nproc --all ) -c 'git lfs pull'
device/gigaset/GX290-unified/vendorsetup.sh:
export EOS_DEVICE=GX290
export EOS_BRANCH_NAME=v0.23.9-r
export EOS_USE_CCACHE=1
export EOS_CCACHE_SIZE=50G
export EOS_SIGNATURE_SPOOFING=restricted
export EOS_RELEASE_TYPE=UNOFFICIAL
device/gigaset/GX290-unified/lineage.mk:
# inherit vendor e
$(call inherit-product, vendor/e/config/common.mk)
ccache -M 50G
source build/envsetup.sh
lunch lineage_GX290-user
mka eos
War für mich das erste mal, dass ich einen Build versucht habe. Leider bricht der trotz guter anleitung bei ca 15% ab, weil er in der drvgen.py irgedwas nicht finden kann.
Würde mich über Hilfe freuen, gerade weil du Deutschsprachig bist! Leider kann man aber hier irgendwie keine PNs schreiben.
@Luky3000 das Rezept v.0.23.9-r ist unvollständig. Das Rezept 18.1 und 19.1 hat bei mir funktioniert. Bei eos stecke ich an derselben Stelle fest.
@schoeller Danke für die schnelle Antwort!
Ich hatte den 17.1 Build versucht gehabt, wie ich das auf 19.1 umstelle hab ich irgendwie noch nicht verstanden. :/
kann man sich irgendwie Connecten? Würde es gerne besser verstehen!
Gruß
@schoeller Hab jetzt zuletzt den 19.1 Build versucht, nachdem ich verstanden hab dass die gx290xml die git clone
befehle ersetzt. Der erste versuch ist bei 53% abgebrochen und laut Stackoverflow war es ein Cache/Speicherplatz Problem.
Ok.. Hab dann das ganze system nochmal neu aufgesetzt mit doppeltem Speicherplatz, halber ccache größe und ccache komprimierung.
Ist nun wieder abgebrochen bei 53%, allerdings diesmal wieder mit dem DrvGen.py fehler wie bei meinen ersten versuchen mit 17.1:
done /bin/sh: 8: /home/macbook/android/lineage/kernel/gigaset/gx290/tools/dct/DrvGen.py: not found make[1]: *** [/home/macbook/android/lineage/kernel/gigaset/gx290/scripts/drvgen/drvgen.mk:63: arch/arm64/boot/dts/k63v2_64_bsp/cust.dtsi] Fehler 127 make[1]: *** Auf noch nicht beendete Prozesse wird gewartet … HOSTCC scripts/basic/bin2c make[1]: Verzeichnis „/home/macbook/android/lineage/out/target/product/GX290/obj/DTB_OBJ“ wird verlassen make: *** [Makefile:152: sub-make] Fehler 2 make: Verzeichnis „/home/macbook/android/lineage/kernel/gigaset/gx290“ wird verlassen 17:45:01 ninja failed with: exit status 1
#### failed to build some targets (03:47:06 (hh:mm:ss)) ####
Und dann noch eine Frage hierzu:
6.Prepare boot.img with Magisk to disable AVB / dm-verity
So wie ich das verstehe ist hier die boot.img meines Builds gemeint, aber Magisk ist doch eine App. Wie soll ich damit die datei bearbeiten, bevor das System Installiert ist? Gibts da ne anleitung, bzw kannst du erläutern was gemeint ist?
@schoeller Hab jetzt zuletzt den 19.1 Build versucht, nachdem ich verstanden hab dass die gx290xml die
git clone
befehle ersetzt. Der erste versuch ist bei 53% abgebrochen und laut Stackoverflow war es ein Cache/Speicherplatz Problem. Ok.. Hab dann das ganze system nochmal neu aufgesetzt mit doppeltem Speicherplatz, halber ccache größe und ccache komprimierung. Ist nun wieder abgebrochen bei 53%, allerdings diesmal wieder mit dem DrvGen.py fehler wie bei meinen ersten versuchen mit 17.1:
done /bin/sh: 8: /home/macbook/android/lineage/kernel/gigaset/gx290/tools/dct/DrvGen.py: not found make[1]: *** [/home/macbook/android/lineage/kernel/gigaset/gx290/scripts/drvgen/drvgen.mk:63: arch/arm64/boot/dts/k63v2_64_bsp/cust.dtsi] Fehler 127 make[1]: *** Auf noch nicht beendete Prozesse wird gewartet … HOSTCC scripts/basic/bin2c make[1]: Verzeichnis „/home/macbook/android/lineage/out/target/product/GX290/obj/DTB_OBJ“ wird verlassen make: *** [Makefile:152: sub-make] Fehler 2 make: Verzeichnis „/home/macbook/android/lineage/kernel/gigaset/gx290“ wird verlassen 17:45:01 ninja failed with: exit status 1
#### failed to build some targets (03:47:06 (hh:mm:ss)) ####
@Luky3000 habe gerade gemerkt, dass sich das Verhalten unter Ubuntu 22.05LTS und WSL unter Windows unterschiedlich verhält. Unter Ubuntu wird 3# erfolgreich gebaut und unter WSL erhalte ich denselben Fehler DrvGen.py: not found make
.
@schoeller ok? Ich hab für den Build ein frisches Kubuntu 22.04 aufgesetzt. Dann müsste es doch eigentlich funktionieren??
@schoeller Hab den Fehler behoben. Es fehlten die Python2 Librarys zum ausführen von DrvGen.py
Siehe hier: MiCode/Xiaomi_Kernel_OpenSource#2371
Aber nochmal die Frage was mit Punkt 6 gemeint ist in der Anleitung. ?
Weil der Build war nun zwar möglich, aber das Handy Bootet nicht, sondern bleibt hängen bei
"orange state
this device cannot be trusted wait for 5 seconds to boot"
@Luky3000 cool und danke für den Hinweis. Probiere das bei Gelegenheit unter WSL2 aus. Hinsichtlich "orange state" das könnte meiner Erinnerung an dm-verity liegen. Diese habe ich irgendwie abgeschaltet. Ich erinnere mich nicht genau. Was passiert, wenn Du es analog zur GS290-Dokumentation bearbeitest? Irgendwo habe ich auch mal fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
gesehen. Bitte um Rückmeldung, falls irgendwas davon funktioniert.
@schoeller Ja teste ich.
Ja der Punkt 6 in der GX290.txt hier ist ja das abschalten. Ich weiß ur nict wie ich das mit Magisk machen soll solange das System nicht bootet. :/
Ps. Analog zur der Doku hab ich gearbeitet, aber da steht ja nur der unlock via fastboot
Vielleicht so:
adb reboot bootloader
fastboot flash system system.img
fastboot flash vendor vendor-sparsed.img
fastboot flash boot boot.img
fastboot flash dtbo dtbo.img
fastboot flash recovery recovery.img
fastboot flash logo logo.img
fastboot flash md1dsp md1dsp.img
fastboot flash md1img md1img.img
fastboot flash spmfw spmfw.img
fastboot flash lk lk.img
fastboot flash lk2 lk.img
fastboot flash sspm_1 sspm.img
fastboot flash sspm_2 sspm.img
fastboot flash tee1 tee.img
fastboot flash tee2 tee.img
fastboot flash preloader preloader.img
fastboot -w
fastboot reboot
Oder vorher ein
adb disable-verity
oder
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
Ja, bin am Testen.
Bei fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
schmeißt er einen Error Writing vbmeta FAILED (remote: This partition doesn't exist)
Um adb disable-verity
auszuführen muss ich ja erst wieder die Stockrom aufspielen, oder wie komme ich sonst in den adb modus?
[1] https://android.stackexchange.com/questions/231168/do-i-need-a-vbmeta-parititon-to-install-gsi
[2] https://android.stackexchange.com/questions/219968/android-verified-boot-and-generation-of-vbmeta-image
In meiner erinnerung musste ich das boot.img mit einer laufenden Magisk-Installation bearbeiten. Das war von hintendurchdiebrustinsauge. Wenn Du einen einfacheren Weg findest wäre das natürlich super.
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
Geht das?
fastboot --disable-verification flash vbmeta vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
Geht das?
fastboot --disable-verification flash vbmeta vbmeta.img
Ne. Der fehler liegt ja hinter Flash, da ihm ja die vbmeta partition fehlt.
Ich teste gerade mal die anderen optionen. aber das würde ja beteuten ich müsste ein zweites Handy mit Magisk haben und dort die boot.img von meinem Build patchen, oder?
@Luky3000 hattest Du OEM unlock gemacht wie unter https://doc.e.foundation/pages/enable-usb-debugging
Danke, dann flashe ich später mal zurück auf Stock und bearbeite die boot.img mit magisk. Check das mit dem OEM unlock, bin mir da nicht mehr sicher, und schau mal was bei rumkommt
Danke, dann flashe ich später mal zurück auf Stock und bearbeite die boot.img mit magisk. Check das mit dem OEM unlock, bin mir da nicht mehr sicher, und schau mal was bei rumkommt
Am besten wäre es natürlich, wenn das OEM unlock funktionierte und dann flashen per Dokumentation den Rest erledigte. Ich drück die Daumen.
@schoeller Also komm grad nicht weiter und mir fehlt bissl die Zeit aktuell..
Die boot.img mit magisk bearbeiten funzt bei mir leider nicht (ich hab das erstmal getestet mit der oem boot.img). evtl liegt es auch daran das die Magisk version zu neu ist. Welche Version hast du verwendet?
Hab leider gerade nur das GX290 als Android Handy da und da kann ich dummerweise kein Magisk mit TWRP flashen sonst hätte ich es mal mit einer älteren version versucht.
Da du ja gesagt hattest deine 19.1 würde laufen, kannst du mir die evtl zu verfügung stellen zum Testen? (bin auf XDA Luky_3000)
Wollte das Handy eigentlich meinem Vater nächstes WE entgoogled zum Bd schenken. Werde aber um hier weiter zu kommen mir erstmal ein zusätzliches Dev Phone kaufen und mich mit den apk Build prozessen und Android-Studio vertraut machen müssen.
Was den OEM Unlock angeht ist das in den Dev einstellungen ausgegraut, mit dem hinweis "Bootloader ist bereits entsperrt". Wird also schon alles passen denke ich.
adb disable-verity
geht nicht, hier sagt er verity cannot be disabled/enabled - USER build
Flashen per Doku klappt leider auch nicht. zum einen fehlt eine logo.img (wobei ich glaube dass das eher kein problem ist) und zum anderen kann ich die prebuild.img nicht flashen, da ihm die Datei zu groß ist... Die prebuild.img von Lineage ist ca. 4mb und die von /e/OS nur paar hundert kb. Warum das so ist weiß ich auch nicht.
Hast du ne Idee welches Phone gut wäre für Dev zwecke? Wahrscheinlich ein Pixel, da dort irgendwie fast alles geht, oder?
Grüße
@Luky3000 bei mir läuft e/os/ seit 08/2021. ich habe es seitdem nicht mehr angefasst, da ich es tagtäglich benutze. 19.1 kann ich gemäß dem local_manifest von gs290-dev übersetzen. 18.1 ebenfalls. installiert habe ich beide aber nicht, weil ich das telefon brauche. für e/os/ gelang die übersetzung für v0.23-r letzte woche. ich habe die ausgabe eingestellt. der benutzer gajus hat die arbeitsschritte für seine installation dokumentiert. vielleicht gelingt es Dir damit. mehr kann ich derzeit nicht tun, da zu nooby und wenig zeit.
@schoeller Vielen Dank für den Upload!!
Mit e-OS und dem Vorgehen von gajus hat es jetzt tatsächlich funktioniert. Läuft einwandfrei bisher!
Da ich das Handy jetzt nicht nochmal flashen wollte, wo es einmal läuft und es am Samstag verschenkt wird, werde ich jetzt erstmal leider nicht weiter testen können..
Mal schauen, vielleicht leg ich mir ja auch eins zu. Mich hat jetzt irgendwie der Ehrgeiz gepackt, auch Lineage zum laufen zu bekommen.
Auf jeden Fall danke für den Support und viel Erfolg weiterhin!
@schoeller Ich würde die Methode von Gajus gerne ausprobieren, um /e/ OS auf meinem GX290 zu installieren. Allerdings wird dabei wohl auf deine Build e-0.23-r-20220512-UNOFFICIAL-GX290.zip zurückgegriffen. Und die scheint nicht mehr verfügbar, da der von dir gewählte Host freecloud.eu (siehe https://community.e.foundation/t/gigaset-gx290-plus/34260/24) wohl schon dicht gemacht hat.
Falls du die Datei noch hast, könntest du sie bitte nochmal auf mega.nz hochladen? Die eigene Build ist für alle, die das probieren wollen, wohl das größte Hindernis. Wäre super, wenn man zumindest diesen Schritt überspringen könnte. Danke im Voraus!
Edit: Gajus war freundlich genug, die Datei nochmal hochzuladen: https://community.e.foundation/t/gigaset-gx290-plus/34260/38
Trotzdem natürlich auch nochmal ein Dankeschön an dich, schoeller, als denjenigen, der die Build überhaupt erst erstellt hatte!
Hallo, habe es schon erfolglos auf der /e/os Seite probiert. Würde mich interessieren, wie das GX290+ mit /e/ (und lineage) läuft. Ist das stabil? Ein anderer user fragt, ob der sony-sensor für die kamera noch funktioniert? Habe das volla-x (=gx290+) gekauft, in der Hoffnung dass darauf alles schon läuft, hat aber kein microg und kann die entsprechenden apps nicht nutzen. Geht microG mit /e/?
Eine kurze Einschätzung ob das einigermaßen läuft wäre nett, bevor ich alles kaputt flashe.
Beste Grüße Mat