| 8 Aug 2024 |
eyJhb | Also, I had to reread the nodeps a couple of times, my mind couldn't understand what NODE ps was, and why node was relevant. | 11:38:12 |
lassulus | :D maybe I should have written NoDeps | 11:40:21 |
eyJhb | We got to it in the end :p Thank you for the quick response :D Now I can continue | 11:42:33 |
| 10 Aug 2024 |
matthewcroughan | Disko can't make something with an arbitrary sector start or gpt table length can it? | 21:48:22 |
matthewcroughan | Is it possible with the gpt type to dd a nix store path to a partition? | 22:06:21 |
matthewcroughan | I guess that'd be done in the postCreate hook, but it's quite an unsafe thing to do | 22:13:05 |
matthewcroughan | not clear how to access the disko vars or what ones to access to get the absolute path to the partition in question, by nix evaluation | 22:13:25 |
| 11 Aug 2024 |
matthewcroughan | Here's what I'm talking about, and the best I could come up with | 14:23:32 |
matthewcroughan | devices = {
disk = {
disk1 = rec {
type = "disk";
device = "/dev/disk/by-id/usb-Generic-_SD_MMC_20120501030900000-0:0";
postCreateHook = ''
lsblk
cat ${uboot}/bl2.bin > /dev/disk/by-partlabel/disk-disk1-bl2
cat ${uboot}/fip.bin > /dev/disk/by-partlabel/disk-disk1-fip
sgdisk -A 1:set:2 ${device}
'';
content = {
type = "gpt";
partitions = {
bl2 = {
start = "34";
end = "8191";
priority = 1;
type = "8300";
};
fip = {
start = "8192";
end = "12287";
priority = 2;
type = "8300";
};
| 14:23:35 |
matthewcroughan | * ...
disko.devices = {
disk = {
disk1 = rec {
type = "disk";
device = "/dev/disk/by-id/usb-Generic-_SD_MMC_20120501030900000-0:0";
postCreateHook = ''
lsblk
cat ${uboot}/bl2.bin > /dev/disk/by-partlabel/disk-disk1-bl2
cat ${uboot}/fip.bin > /dev/disk/by-partlabel/disk-disk1-fip
sgdisk -A 1:set:2 ${device}
'';
content = {
type = "gpt";
partitions = {
bl2 = {
start = "34";
end = "8191";
priority = 1;
type = "8300";
};
fip = {
start = "8192";
end = "12287";
priority = 2;
type = "8300";
};
...
| 14:23:44 |
matthewcroughan | notice how I've just guessed the by-partlabel paths and it's not happening by nix evaluation, and how I've had to use a recursive set to get the device path | 14:24:24 |
matthewcroughan | This also won't work in the image builder, it will only work for running the real disko script due to the dependency on the device path which will differ in the VM
| 14:24:49 |
matthewcroughan | Another issue with using disko for embedded is that the label name is derived from the attributes | 16:01:57 |
matthewcroughan | Device Start End Sectors Type-UUID UUID Name Attrs
/dev/sda1 2048 8191 6144 0FC63DAF-8483-4772-8E79-3D69D8477DE4 1422349D-2826-4F14-B386-22BAA5192059 disk-disk1-bl2
/dev/sda2 8192 12287 4096 0FC63DAF-8483-4772-8E79-3D69D8477DE4 1A62DEAA-68A3-4601-A69A-7ADFE4ECDED9 disk-disk1-fip
/dev/sda3 12288 2109439 2097152 C12A7328-F81F-11D2-BA4B-00A0C93EC93B FAB4CFF0-8873-4B78-B61E-E6252BA5EEDD disk-disk1-boot
/dev/sda4 2109440 62332927 60223488 0FC63DAF-8483-4772-8E79-3D69D8477DE4 5A0ACF68-C9C3-4822-A92D-99A02DCFA863 disk-disk1-root
| 16:01:58 |
matthewcroughan | the name is disk-disk1-fip and not fip, but the u-boot bl2 (second stage bootloader) specifically reads this label and matches a string | 16:02:24 |
matthewcroughan | So this seems like another awkward point for disko, where I'm unable to coerce it into doing the right thing for the use-case | 16:02:50 |