New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not a valid product: lineage_instantnoodle #92
Comments
You don't need to edit the robotnix sources to add a new device. In this example I've added support for Google Nexus 4 (mako) to my local configuration: https://git.henrimenke.de/henri/android/src/branch/master/mako.nix |
Ah, I see instantnoodle is supported on the Lineage OS 18.1 development target, but Lineage OS 18.1 is not yet available in robotnix. You will have to change the branch in the update scripts in the |
Right, I set
and ran the update script, which updated I assume I'll need to update Is there anything else I need to change? |
That's unfortunately not enough. You will have to update all of Lineage OS in robotnix. Check the different scripts in the |
You could try again with this branch: https://github.com/hmenke/robotnix/tree/lineageos-18.1 |
Awesome, thanks so much, I was struggling with |
It won't work because the update is incomplete. I'm fixing it right now. |
Ok, please let me know when to pull again! |
The update is now complete. I've force pushed so the easiest would be to just delete your checkout and clone again. |
The build starts up fine, but that doesn't mean that it will complete. This is the config I used (you have remove Seedvault because Lineage already bundles it and the custom kernel stuff of course): { config, pkgs, lib, ... }:
with pkgs;
with lib;
{
device = "instantnoodle";
flavor = "lineageos";
ccache.enable = true;
apps = {
fdroid.enable = true;
bromite.enable = true;
};
webview.bromite.enable = true;
microg.enable = true;
# TODO: add this once its ready https://github.com/danielfullmer/robotnix/pull/90
hosts = fetchurl { # block ads
url = "https://raw.githubusercontent.com/StevenBlack/hosts/6aa31cb4ad613ae3d9f886f2b5f418b4083733cb/hosts";
sha256 = "0nrkagm2rah4savfgqky9wkp128rcvnwi21r1bix2vlsrssrq8c2";
};
} Regarding Seedvault you also have a different option, namely {
apps.seedvault.enable = true;
source.dirs."packages/apps/Seedvault".enable = false;
} that is, disable the bundled Seedvault and use the one from robotnix. However, that could fail in case Lineage OS applies some custom patches to Seedvault that are necessary for proper operation, so your mileage may vary. |
Just as I wrote that, the kernel build failed.
Now you can choose, wait for upstream to fix the error or fix it yourself and patch the kernel. Once you have a working patch, patching the kernel is actually as easy as adding this {
source.dirs."kernel/oneplus/sm8250".patches = [ ./example.patch ] ;
} |
Hi, I've been exploring this. From what i'm understanding, it's a difference in the build system.
vs
|
The former configuration is I also tried the pioneer configuration on |
Would it be correct to do this? This builds past the kernel. From 728adda7c27f98f585df90f48fa7d2ae236f0821 Mon Sep 17 00:00:00 2001
From: Adrian Parvin Ouano <adrianparvino@gmail.com>
Date: Wed, 3 Mar 2021 17:57:31 +0800
Subject: [PATCH] Add missing dependencies into FHS
---
modules/base.nix | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/base.nix b/modules/base.nix
index 3f45ee1..aa60a64 100644
--- a/modules/base.nix
+++ b/modules/base.nix
@@ -447,8 +447,8 @@ in
env = pkgs.buildFHSUserEnv {
name = "robotnix-build";
- targetPkgs = pkgs: config.envPackages;
- multiPkgs = pkgs: with pkgs; [ zlib ];
+ targetPkgs = pkgs: config.envPackages ++ (with pkgs; [ gcc-unwrapped ]);
+ multiPkgs = pkgs: with pkgs; [ glibc.dev zlib ];
};
};
}];
--
2.30.0 |
@adrianparvino See also a similar workaround I had to do in the past: https://github.com/danielfullmer/robotnix/blob/ae32ae5ec112bd6e2ead1978ffa1c5ba8ca850b7/flavors/lineageos/default.nix#L127 This setting should probably be included by default for |
I've updated my lineageos-18.1 branch with these fixes and the |
Thanks for your help @adrianparvino and @hmenke I have working lineageos 18.1 running on my OnePlus8Pro. I used this configuration:
I had the following changes to hmenkes branch to make it work (thanks adrian!)
LineageOS kept crashing with The modem firmware for OxygenOS android 11 was needed to make this work. https://oxygenos.oneplus.net/OnePlus8ProOxygen_15_OTA_0030_all_2008081530_9a9db011689d490a.zip
I'm wondering whether including the stock android 11 |
I'm happy to hear that you were able to get it to work, and thanks for following up with documenting your changes.
So, the However, I don't believe upstream LineageOS provides any similar functionality. It would require someone to find URLs for the factory images for each of the supported devices, have a script to extract the bootloader/image, ensure that the bootloader/radio from that image works with the latest version of lineageos, and include it in the Android build. So, it's certainly theoretically possible to do within robotnix (like we currently do for |
Thanks for detailing why it's not possible (or rather why it would be extremely cumbersome). Makes sense! |
Hi, I'm trying to build for a new device, the OnePlus 8 Pro.
I took the following steps
Ran
./update-device-dirs.py oneplus_instantnoodle
Manually added the following to
device-metadata.json
:Created
instantnoodlep.nix
:Ran
nix-build ./robotnix/default.nix --arg configuration ./instantnoodlep.nix -A img --option extra-sandbox-paths /keys="$(pwd)/keys" --show-trace
with outputAny advice on how I can fix this error? Do I need to create a patch which adds
SEPolicy.mk
?Related to #58
The text was updated successfully, but these errors were encountered: