| 11 Aug 2024 |
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 |
matthewcroughan | I managed to end up with the following error on bcachefs creation, maybe the diskoScript is too fast?
starting version 1.9: disk_accounting_v2 opts=compression=lz4
initializing new filesystem
going read-write
initializing freespace
IO error: Operation not permitted
| 16:03:36 |
matthewcroughan | Posted that to #bcache anyway, having so many issues with it lately | 16:07:10 |
lassulus | You can override the partition Labels. Also some attributes are available in the hooks like the device | 16:08:07 |
lassulus | Just run env in the hook and look at the output | 16:08:21 |
matthewcroughan | In reply to @lassulus:lassul.us You can override the partition Labels. Also some attributes are available in the hooks like the device I may be able to, but this then makes it even more risky to run outside of the image builder, since the partlabel may conflict with a real world part label | 16:08:48 |
matthewcroughan | of something else also plugged into the machine | 16:09:07 |
matthewcroughan | In reply to @lassulus:lassul.us You can override the partition Labels. Also some attributes are available in the hooks like the device "in the hooks" have you got a literal example? | 16:09:45 |
matthewcroughan | is it like config.disko.something._hooks ? | 16:09:54 |
matthewcroughan | Something that should never change is the ${device}-part1 ${device-part2}, so maybe I can just use that, since the kernel is responsible for keeping that stable | 16:10:44 |
matthewcroughan | * Something that should never change is the ${device}-part1 ${device-part2}, so maybe I can just use that, since the kernel is responsible for keeping that -part1 -part2 string stable | 16:10:57 |
lassulus | No example ready now. But just run env in a hook to see what's available | 16:28:18 |
matthewcroughan | lassulus:
Device Start End Sectors Type-UUID UUID Name Attrs
/dev/sda1 2048 8191 6144 0FC63DAF-8483-4772-8E79-3D69D8477DE4 AF2745B3-D3AB-4956-99D2-07CB46646F95 bl2
| 17:36:50 |
matthewcroughan | it starts at 2048 | 17:37:00 |
matthewcroughan | fdisk -x says First usable LBA: 34 | 17:37:18 |
matthewcroughan | So:
content = {
type = "gpt";
partitions = {
bl2 = {
start = "34";
end = "8191";
Didn't quite do what I was looking for
| 17:37:37 |
matthewcroughan | Is that supposed to have worked, or am I misunderstanding something? | 17:37:46 |
lassulus | Not sure what sgdisk is doing there | 17:38:38 |
matthewcroughan | https://termbin.com/qpjd | 17:39:01 |
matthewcroughan | here's the diskoScript | 17:39:08 |
matthewcroughan | Maybe it is the --align-end flag? | 17:40:35 |
matthewcroughan | Yeah I set alignment = 1 and it's good now lassulus | 17:45:14 |
matthewcroughan | + mkfs.bcachefs --compression=lz4 /dev/disk/by-partlabel/disk-disk1-root
External UUID: adba6eba-ddc8-4ad9-8361-b63594f67995
Internal UUID: a45e4734-930e-45d4-b322-789ac806eb8b
Magic number: c68573f6-66ce-90a9-d96a-60cf803df7ef
Device index: 0
Label: (none)
Version: 1.9: disk_accounting_v2
Version upgrade complete: 0.0: (unknown version)
Oldest version on disk: 1.9: disk_accounting_v2
Created: Sun Aug 11 18:53:44 2024
Sequence number: 0
Time of last write: Thu Jan 1 01:00:00 1970
Superblock size: 976 B/1.00 MiB
Clean: 0
Devices: 1
Sections: members_v1,members_v2
Features: new_siphash,new_extent_overwrite,btree_ptr_v2,extents_above_btree_updates,btree_updates_journalled,new_varint,journal_no_flush,alloc_v2,extents_across_btree_nodes
Compat features:
Options:
block_size: 512 B
btree_node_size: 256 KiB
errors: continue [fix_safe] panic ro
metadata_replicas: 1
data_replicas: 1
metadata_replicas_required: 1
data_replicas_required: 1
encoded_extent_max: 64.0 KiB
metadata_checksum: none [crc32c] crc64 xxhash
data_checksum: none [crc32c] crc64 xxhash
compression: lz4
background_compression: none
str_hash: crc32c crc64 [siphash]
metadata_target: none
foreground_target: none
background_target: none
promote_target: none
erasure_code: 0
inodes_32bit: 1
shard_inode_numbers: 1
inodes_use_key_cache: 1
gc_reserve_percent: 8
gc_reserve_bytes: 0 B
root_reserve_percent: 0
wide_macs: 0
acl: 1
usrquota: 0
grpquota: 0
prjquota: 0
journal_flush_delay: 1000
journal_flush_disabled: 0
journal_reclaim_delay: 100
journal_transaction_names: 1
version_upgrade: [compatible] incompatible none
nocow: 0
members_v2 (size 160):
Device: 0
Label: (none)
UUID: 0d6cfd81-9951-4a60-84a6-0550bcc32bf5
Size: 28.7 GiB
read errors: 0
write errors: 0
checksum errors: 0
seqread iops: 0
seqwrite iops: 0
randread iops: 0
randwrite iops: 0
Bucket size: 256 KiB
First bucket: 0
Buckets: 117625
Last mount: (never)
Last superblock write: 0
State: rw
Data allowed: journal,btree,user
Has data: (none)
Btree allocated bitmap blocksize: 1.00 B
Btree allocated bitmap: 0000000000000000000000000000000000000000000000000000000000000000
Durability: 1
Discard: 0
Freespace initialized: 0
starting version 1.9: disk_accounting_v2 opts=compression=lz4
initializing new filesystem
going read-write
initializing freespace
IO error: Operation not permitted
| 17:54:16 |
matthewcroughan | Although mkfs.bcachefs crashes the diskoScript and prevents the postCreateHook from executing | 17:54:32 |
matthewcroughan | With IO error: Operation not permitted | 17:54:38 |
matthewcroughan | running the mkfs.bcachefs command directly doesn't exhibit the permission error | 17:59:40 |