| 9 Aug 2023 |
atemu12 | That's just porting Android to a device | 10:54:49 |
atemu12 | Robotnix merely facilitates the build of the finished port | 10:55:04 |
@angryant:envs.net | In reply to @atemu12:matrix.org That's just porting Android to a device Not following. The linked source is of an android kernel + device tree. | 10:56:01 |
atemu12 | That's just the kernel | 10:56:32 |
atemu12 | You can (probably) build a binary out of that source and have it boot | 10:56:52 |
atemu12 | You'd then have, well, Nothing on top of Nothing ;) | 10:57:08 |
atemu12 | For a functional phone, you need an Android system running atop the kernel | 10:57:30 |
@angryant:envs.net | So the robotnix feature list item "Custom built kernels" relates to something else? | 10:57:31 |
atemu12 | Those are for Pixel phones which are built with pre-built kernels by default upstream AFAIK | 10:58:27 |
atemu12 | What Robotnix does here is build the kernel itself and inject that binary instead | 10:58:50 |
atemu12 | Again, that's just the kernel | 10:58:59 |
atemu12 | You still need the rest of Android to have been ported | 10:59:21 |
@angryant:envs.net | Substituting the linked kernel in that process would not produce something usable? | 10:59:30 |
atemu12 | Sorry, could you clarify that question? | 10:59:51 |
atemu12 | Ah, you meant the Nothing kernel | 11:00:04 |
@angryant:envs.net | Yes | 11:00:10 |
atemu12 | You'd get a build with a kernel that can (probably?) boot on a Nothing phone but with an Android system that can't properly use your hardware | 11:00:48 |
atemu12 | Android is not as "clean" as desktop Linux when it comes to drivers | 11:01:18 |
@angryant:envs.net | Ugh | 11:01:26 |
atemu12 | They're not all contained in the kernel | 11:01:26 |
atemu12 | It's like the Nvidia driver but for everything | 11:01:37 |
@angryant:envs.net | This is where the device tree in that repo comes in? | 11:01:55 |
atemu12 | Device Tree is part of the kernel | 11:02:20 |
@angryant:envs.net | Ah. It was just weirdly called out separately in the repo description. | 11:02:42 |
atemu12 | I'm not too knowledgable about that but AFAIK ARM devices don't have standardised device discovery via PCIe and the like, so you need to declare where which device is upfront | 11:02:52 |
atemu12 | This bus is where x is, this memory range is mapped to device y and so on | 11:03:26 |
atemu12 | If someone has ported Android to your device (and open sourced that), you could build that using Robotnix | 11:04:11 |
atemu12 | Again, Robotnix "just" runs the AOSP build inside a Nix sandbox; the AOSP build still needs to work in general | 11:05:29 |
atemu12 | We can then inject custom kernels, µG, F-droid or custom webviews into that build process in a somewhat generic way | 11:06:07 |
@angryant:envs.net | Cool. Thanks for the overview :) My knowledge of android is quite limited and I clearly made some Linux assumptions about it. Looks like there's some unofficial progress on Lineage on the Nothing phone, so it seems promising that eventually a robotnix path will be available :) | 11:10:43 |