| 14 Mar 2026 |
matthewcroughan | * Are there any actual users of that feature? | 16:55:48 |
matthewcroughan | Ah maybe the reason your tests don't catch it is because of something the tests do that is different from actual usage | 16:59:42 |
matthewcroughan | The existence of makeDiskoTest makes actual usage by real users, and your tests, divergent | 17:00:00 |
matthewcroughan | Actually another thing the disko image builder isn't taking into account, is the closure size of the toplevel it is installing | 17:01:45 |
matthewcroughan | ed-disko-images> + sgdisk --align-end --new=1:0:+2G --partition-guid=1:R --change-name=1:disk-disk1-ESP --typecode=1:EF00 --attributes=1:=:0 /dev/vda
ed-disko-images> Could not create partition 1 from 2048 to 4196351
ed-disko-images> Unable to set partition 1's name to 'disk-disk1-ESP'!
ed-disko-images> Could not change partition 1's type code to EF00!
ed-disko-images> Error encountered; not saving changes.
ed-disko-images> + sgdisk --partition-guid=1:R --change-name=1:disk-disk1-ESP --typecode=1:EF00 --attributes=1:=:0 /dev/vda
ed-disko-images> Unable to set partition 1's name to 'disk-disk1-ESP'!
ed-disko-images> Could not change partition 1's type code to EF00!
ed-disko-images> Error encountered; not saving changes.
| 17:06:53 |
matthewcroughan | Is that supposed to happen? lassulus | 17:07:05 |
matthewcroughan | BTW, this is the actual disko tests in disko's repo
vm-test-run-disko-zfs> machine # /dev/vdc: PTUUID="a4ebef6e-5fb0-4a75-9bb9-3f1de3c80709" PTTYPE="gpt"
vm-test-run-disko-zfs> machine # + sgdisk --align-end --new=1:0:-0 --partition-guid=1:R --change-name=1:disk-y-zfs --typecode=1:8300 --attributes=c
vm-test-run-disko-zfs> machine # Could not create partition 1 from 8386560 to 8388574
vm-test-run-disko-zfs> machine # Error encountered; not saving changes.
| 17:08:13 |
matthewcroughan | Haha you have got to be kidding me | 17:13:10 |
matthewcroughan | The thing causing the kernel panic is the fact that the fat32 partition is 2G | 17:13:29 |
matthewcroughan | So if I change this from 2G to 1G, it gets further | 17:14:00 |
matthewcroughan | disko.devices = {
disk = {
disk1 = {
device = "/dev/disk/by-id/usb-Realtek_RTL9210B-CG_012345679039-0:0";
type = "disk";
content = {
type = "gpt";
partitions = {
ESP = {
type = "EF00";
size = "2G";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
| 17:14:04 |
matthewcroughan | Then, after that, the xargs copy step is still broken, and results in infinite ed-disko-images> cp: cannot create directory '/mnt/nix/store/xcz1hz25slaasb7xi3glbzxbf5c56dkv-tree-sitter-snl-0.0.0+rev=846e2d6': No space left on device | 17:14:35 |
matthewcroughan | I've set disko.memSize = 32768, and it hasn't helped | 17:16:38 |
matthewcroughan | something else is going wrong, it's not actually memory | 17:16:44 |
matthewcroughan | Ah, okay, this error doesn't happen with the installtest | 17:33:25 |
matthewcroughan | * Ah, okay, this error doesn't happen with the installTest | 17:33:30 |
matthewcroughan | So, me trying to get the installTest to fail, was futile | 17:33:40 |
matthewcroughan | this only happens with the image builder code, and not with the testing code | 17:33:52 |
matthewcroughan | so the installTest for my config succeeds, whereas diskoImages fails with kernel panic | 17:34:15 |
matthewcroughan | any ideas given that Mic92 ? | 17:34:19 |
matthewcroughan | Any initial feeling as to why the image builder is so different from the testing? | 17:34:49 |
matthewcroughan | Okay, it's pretty easy to make this happen in nix build -f tests/make-disk-image.nix | 18:16:53 |
matthewcroughan | you just increase the closure size of your toplevel a tiny bit, and it begins to happen | 18:17:04 |
matthewcroughan | e.g by adding to environment.systemPackages some big packages | 18:17:28 |
matthewcroughan | like chromium, firefox, etc | 18:17:31 |
lassulus | did you increase the image size as well? | 18:17:43 |
matthewcroughan | 0.0 | 18:18:59 |
matthewcroughan | I guess that could also cause these issues | 18:19:03 |
matthewcroughan | bad UX | 18:19:05 |
matthewcroughan | I think we should trace if it's left as default | 18:19:15 |