| 3 Jun 2024 |
erahhal | Are they not necessary? I will try commenting those out as well | 18:20:24 |
erahhal | To get past the errors, had to remove gs101, gs201, pantah, and pantah-kernel as well... | 18:23:01 |
erahhal | No idea if those are necessary. I did patch the update script to pull from googlesource.com to get them to even be added. Perhaps they should just be blacklisted. Will try | 18:23:36 |
erahhal | Ok, it actually built around 300 source files! Then it failed with this:
note: keeping build directory '/tmp/nix-build-robotnix-lineage_cheetah-2024060317.drv-0'
error: builder for '/nix/store/ysklg1pa18cqjnlhf21i7qfrcmi6i8af-robotnix-lineage_cheetah-2024060317.drv' failed with exit code 1;
last 10 log lines:
> FAILED:
> build/make/core/Makefile:5280: warning: Neither INSTALLED_KERNEL_TARGET nor INSTALLED_BOOTIMAGE_TARGET is defined when PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS is true. Information about the updated kernel cannot be built into OTA update package. You can fix this by: (1) setting TARGET_NO_KERNEL to false and installing the built kernel to out/target/product/generic/kernel, so that kernel information will be extracted from the built kernel; or (2) Add a prebuilt boot image and specify it in BOARD_PREBUILT_BOOTIMAGE; or (3) extracting kernel configuration and defining BOARD_KERNEL_CONFIG_FILE and BOARD_KERNEL_VERSION manually; or (4) unsetting PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS manually.
> build/make/core/tasks/dex_preopt_check.mk:13: warning: Missing compilation artifacts. Dexpreopting is not working for some system server jars. See https://cs.android.com/android/platform/superproject/+/master:build/make/core/tasks/README.dex_preopt_check.md
> Offending entries:
> system/framework/oat/arm/org.lineageos.platform.odex
> system/framework/oat/arm/org.lineageos.platform.vdex
> In file included from build/make/core/main.mk:1494:
> In file included from build/make/core/Makefile:7695:
> build/make/core/tasks/dex_preopt_check.mk:13: error: Build failed.
> 18:46:51 ckati failed with: exit status 1
For full logs, run 'nix log /nix/store/ysklg1pa18cqjnlhf21i7qfrcmi6i8af-robotnix-lineage_cheetah-2024060317.drv'.
error: 1 dependencies of derivation '/nix/store/bkhnbik6832pi7nbdzn6k1jn1h5q76ib-cheetah-factory-2024060317.zip.drv' failed to build
| 18:47:38 |
erahhal | Seems related to the excluded kernel libs above? | 18:47:56 |
atemu12 | erahhal: Does the kernel source for your device exist in source.dirs? | 20:49:00 |
erahhal | I guess this is where I admit I should know more about using a nix development environment. How do I see where the sources are pulled down? I've been testing this by creating a flake that pulls in my robotnix branch as an input then calls robotnixSystem | 20:52:15 |
erahhal | It seems that it's putting sources into the nix store during build time, but otherwise I don't know | 20:52:39 |
atemu12 | It's actually constructing an android source tree in the build env | 20:53:05 |
atemu12 | You can check the source.dirs attribute for the paths that will be linked and their sources | 20:53:24 |
erahhal | Right, how do I do that though 😅 | 20:55:08 |
erahhal | This is sort of a complicated project to be diving into as someone not very experienced with Nix build environment heh. But I guess I'm the type to learn by jumping into the deep end of the pool | 20:56:02 |
erahhal | * This is sort of a complicated project to be diving into as someone not very experienced with Nix build environment heh. But I guess I'm the type to learn to swim by jumping into the deep end of the pool | 20:56:35 |
atemu12 | You mean how to instrospect Nix values? | 20:56:54 |
atemu12 | nix repl is a good start | 20:56:55 |
atemu12 | In reply to @erahhal:matrix.org This is sort of a complicated project to be diving into as someone not very experienced with Nix build environment heh. But I guess I'm the type to learn to swim by jumping into the deep end of the pool That's the spirit :) | 20:57:19 |
erahhal | Ok, I'll do a bit of reading on how to use the repl | 20:58:06 |
atemu12 | Just open the repl on robotnix and poke around | 20:58:28 |
atemu12 | It'll try to print any value you give ti | 20:58:34 |
atemu12 | * It'll try to print any value you give it | 20:58:39 |
atemu12 | Robotnix is a module system, so the result of all the configuration is in the config attribute | 20:59:01 |
atemu12 | Just like NixOS | 20:59:04 |
erahhal | Ah, so not my personal flake. I'll try it directly on robotnix | 21:16:19 |
erahhal | So I see /device/google/cheetah and /vendor/google/cheetah, and a bunch of dirs that start with kernel/*, but no kernel that is specific to the device. According to the dependency tree, the kernel is the pantah-kernel, but that was excluded above due to the nix error I mentioned before. | 21:26:37 |
erahhal | I believe all gen 7 pixels are "pantah" devices | 21:27:21 |
atemu12 | Does LOS support your device? | 21:34:39 |
atemu12 | Is the device dir in the json? | 21:34:54 |
atemu12 | Does its lineag.dependencies list the kernel dir? | 21:35:14 |
atemu12 | * Does its lineage.dependencies list the kernel dir? | 21:36:06 |
erahhal | definitely, I'm running LOS on it right now | 21:39:58 |