| 2 Jul 2024 |
colemickens | I'm wondering if it makes sense to introduce a "skipDestroy" option to the module | 06:41:58 |
colemickens | (per-disk or vol or something maybe) | 06:42:09 |
lassulus | hmm, this works only in the case where you would have the current existing structure defined in nix which lives on your disk? | 06:42:49 |
lassulus | not a very common usecase I would say | 06:42:55 |
lassulus | or you think just for the disk? | 06:43:08 |
colemickens | I'm not sure I followed - to recap, for first provision, I want to destroy/format, and then presumably update my disk-config.nix to say "okay, no longer run destroy on disk2". Since disk2 is going to persist as it's a hetzner volume. | 06:44:14 |
colemickens | disk1 is just the ephemeral vm disk, so I always need it destroyed | 06:44:30 |
colemickens | It might not be super duper common, but I feel like it's an interesting use-case. maybe :). | 06:44:56 |
colemickens | I guess.. I mean, I could just write my own destroy command and prepend it to my overriden diskoScript.. | 06:45:50 |
colemickens | nice, that worked. wipefs'd + dd'd off the first 512M. seems to have left my /home contents. | 06:53:26 |
lassulus | you can run the disko internal destroy command and just run it on the disks you want | 06:53:36 |
colemickens | I saw jq and bailed :) but yeah, I probably should just have done that | 06:54:04 |
colemickens | for now this works, gotta figure out why this isn't playing nice with the arm64 version now. | 06:54:20 |
| 3 Jul 2024 |
matthewcroughan | If vendor kernels are in use, it's easy to make the disk image builder stall | 18:24:34 |
matthewcroughan | blikvm-v1-disko-images> UEFI firmware (version built at 00:00:00 on Jan 1 1980)
blikvm-v1-disko-images> EFI stub: Decompressing Linux Kernel...
blikvm-v1-disko-images> EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
blikvm-v1-disko-images> EFI stub: Generating empty DTB
blikvm-v1-disko-images> EFI stub: Exiting boot services...
| 18:24:36 |
matthewcroughan | https://github.com/nix-community/disko/commit/bb75ad0b1d5a63884586517920b9a189721fc54d | 18:28:34 |
matthewcroughan | This commit was so much more problematic than I anticipated | 18:28:42 |
matthewcroughan | I should make it possible to override this | 18:28:50 |
| 4 Jul 2024 |
| eyJhb left the room. | 10:58:18 |
| Philip Taron (UTC-8) left the room. | 15:46:39 |
| Philip Taron (UTC-8) joined the room. | 15:55:30 |
| Benedikt changed their display name from Soispha to Benedikt. | 19:11:30 |
| @vartroc:matrix.org left the room. | 19:17:56 |
| 5 Jul 2024 |
matthewcroughan | Anyone wanna help? | 20:36:48 |
matthewcroughan | blikvm-v1-disko-images> qemu-system-aarch64: failed to load "/nix/store/d2vw2hx48nphic1n4xd8y43q5vdn4lfk-kernel-modules/vmlinuz.efi" | 20:36:49 |
matthewcroughan | why would that happen.. | 20:36:56 |
matthewcroughan | this is me, trying to make my PR to make the image builder kernel configurable | 20:41:18 |
matthewcroughan | It's quite a minimal PR | 20:41:41 |
matthewcroughan | diff --git a/lib/make-disk-image.nix b/lib/make-disk-image.nix
index a61e937..e1f7e36 100644
--- a/lib/make-disk-image.nix
+++ b/lib/make-disk-image.nix
@@ -10,7 +10,7 @@ let
vmTools = pkgs.vmTools.override {
rootModules = [ "9p" "9pnet_virtio" "virtio_pci" "virtio_blk" ] ++ nixosConfig.config.disko.extraRootModules;
kernel = pkgs.aggregateModules
- (with nixosConfig.config.boot.kernelPackages; [ kernel ]
+ (with nixosConfig.config.disko.imageBuilderKernelPackages; [ kernel ]
++ lib.optional (lib.elem "zfs" nixosConfig.config.disko.extraRootModules) zfs);
};
cleanedConfig = diskoLib.testLib.prepareDiskoConfig nixosConfig.config diskoLib.testLib.devices;
diff --git a/module.nix b/module.nix
index 8c8fbc3..e3fde41 100644
--- a/module.nix
+++ b/module.nix
@@ -10,6 +10,15 @@ let
in
{
options.disko = {
+ imageBuilderKernelPackages = lib.mkOption {
+ type = lib.types.attrs;
+ description = ''
+ the kernel used when building disk images via make-disk-image.nix.
+ Useful when the config's kernel won't boot in the image-builder.
+ '';
+ default = config.boot.kernelPackages;
+ example = lib.literalExpression "pkgs.linuxPackages_testing";
+ };
extraRootModules = lib.mkOption {
type = lib.types.listOf lib.types.str;
description = ''
| 20:41:59 |
| ૮༼⚆︿⚆༽つ / wildan joined the room. | 20:46:17 |