| 23 Nov 2023 |
K900 ⚡️ | I think what they actually want is a way to quickly test a kernel from a local dirty tree on a system | 16:00:58 |
Pratham Patel (you can mention me) | Yes, but those make targets were mere examples of "having packaging in upstream". | 16:01:11 |
K900 ⚡️ | Which is annoyingly difficult on NixOS, but a new kernel build system target will not help | 16:01:16 |
Pratham Patel (you can mention me) | My goal of proposing this is simply testing a dirty tree on NixOS :) | 16:01:38 |
Pratham Patel (you can mention me) | Which is what would help in the bcachefs testing for Kent | 16:02:11 |
Mic92 | I usally build a kernel less nixos image and than just pass the kernel directly to qemu along with this image. | 16:04:00 |
Pratham Patel (you can mention me) | Wouldn't something like this work? Yes, I know that we will need to use the package in a VM/nixos-config for it to be actually useful but this is more of a proof-of-concept.
flake.nix: https://rpa.st/RLSQ
linux.nix: https://rpa.st/TVZA | 16:26:29 |
Pratham Patel (you can mention me) | (I'll sleep, have finals tomorrow.) | 16:26:54 |
K900 ⚡️ | It probably would, but that doesn't solve your original problem | 16:39:45 |
woobilicious | turns out my linking issues are related to a patch on bcachefs master....fuck knows how that happens. | 23:54:15 |
woobilicious | none of them use or seem to touch pr_debug() | 23:54:34 |
woobilicious | and to make matters worse if you compile with a dirty build it seems to work. | 23:55:50 |
| 24 Nov 2023 |
| Janik (they/them) joined the room. | 16:44:56 |
| ElvishJerricco joined the room. | 21:29:52 |
| joepie91 🏳️🌈 joined the room. | 21:53:02 |
| Cobalt joined the room. | 21:54:42 |
| 25 Nov 2023 |
Pratham Patel (you can mention me) | Something that I can't put a finger on is what config should this "possible in-tree solution" use (by default)? tinyconfig (broken on arm because this doesn't build DTBs)? defconfig? or what mainline.nix has + maintainer's overrides? | 03:44:08 |
Pratham Patel (you can mention me) | I can see tinyconfig being useful with a single override for the maintainer's module to test if the changes even compile and then the nixos config + maintainer's override (if not enabled already) as the one they build to test on physical hardware. | 03:46:05 |
| 26 Nov 2023 |
Pratham Patel (you can mention me) | Is anyone willing to explain me how a kernel is actually built in for NixOS? At the moment, I'm looking at three files and here's what I understand so far:
- mainline.nix: it all starts here, where kernel-specific items such as version etc are defined
- generic.nix: this defines
buildLinux which [I think] is the builder for building kernels
- common-config.nix: specifies config options that are answered during
make nconfig
- manual-config: this seems to have the build logic for everything from creating a config to installing it in
$out
| 15:08:57 |
K900 ⚡️ | That is mostly accurate, yes | 15:39:24 |
Pratham Patel (you can mention me) | Is there something else that I've not listed? | 15:50:02 |
Pratham Patel (you can mention me) | Also in context to "mostly accurate", what did I assume wrong? | 15:50:27 |