| 19 Jan 2025 |
Raj | * Could someone please help me troubleshoot this? Should one of the commands in the install script be run with sudo or something?
I'm running into this error when trying to use disko to create a bootable USB (sudo nix run 'github:nix-community/disko/latest#disko-install' -- --flake '.#image' --disk nixos-usb-stick /dev/sdc):
Creating initial /etc/machine-id
efiSysMountPoint = '/boot' is not a mounted partition. Is the path configured correctly?
Traceback (most recent call last):
File "/nix/store/diy6lcklb9r4k18l6plg6yj9chn3pg19-systemd-boot/bin/systemd-boot", line 431, in <module>
main()
File "/nix/store/diy6lcklb9r4k18l6plg6yj9chn3pg19-systemd-boot/bin/systemd-boot", line 411, in main
run([CHECK_MOUNTPOINTS])
File "/nix/store/diy6lcklb9r4k18l6plg6yj9chn3pg19-systemd-boot/bin/systemd-boot", line 58, in run
return subprocess.run(cmd, check=True, text=True, stdout=stdout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/c9m6yd8fg1flz2j5r4bif1ib5j20a0cy-python3-3.12.8/lib/python3.12/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/nix/store/686vaqa40l0vxcp1ll54cbvlrmn9kn55-check-mountpoints']' returned non-zero exit status 1.
Failed to install bootloader
disko-install failed
rmdir: failed to remove '/mnt/disko-install-root': Directory not empty
The disko config is:
{
disko.devices = {
nodev."/" = {
fsType = "tmpfs";
mountOptions = [
"size=2G"
"defaults"
"mode=755"
];
};
nodev."/home/raj" = {
fsType = "tmpfs";
mountOptions = [
"size=2G"
"defaults"
"mode=777"
];
};
disk = {
nixos-usb-stick = {
type = "disk";
content = {
type = "gpt";
partitions = {
ESP = {
type = "EF00";
priority = 0;
end = "1G";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = ["defaults" "umask=0077"];
};
};
root = {
priority = 1;
end = "-0";
content = {
type = "luks";
name = "root";
initrdUnlock = true;
extraFormatArgs = ["--pbkdf argon2id"];
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/nix" = {
mountpoint = "/nix";
mountOptions = ["compress=zstd" "noatime"];
};
"/persist" = {
mountpoint = "/persist";
mountOptions = ["compress=zstd" "noatime"];
};
"/data" = {
mountpoint = "/data";
mountOptions = ["compress=zstd" "noatime"];
};
};
};
};
};
};
};
};
};
};
}
| 23:14:51 |
| 20 Jan 2025 |
| sboe joined the room. | 09:16:48 |
| srestegosaurio (on tchncs.de) joined the room. | 15:34:52 |
srestegosaurio (on tchncs.de) | Redacted or Malformed Event | 15:36:03 |
srestegosaurio (on tchncs.de) | Redacted or Malformed Event | 15:36:19 |
srestegosaurio (on tchncs.de) | I really want to avoid blowing up my computer.
| 15:36:33 |
srestegosaurio (on tchncs.de) | Hello, I have a quick doubt: I want to add a BTRFS subvol to my system. I modified the disko coinfig in my flake, how should I apply those changes?
| 15:36:53 |
srestegosaurio (on tchncs.de) | Redacted or Malformed Event | 15:38:05 |
srestegosaurio (on tchncs.de) | Redacted or Malformed Event | 15:38:32 |
nim65s | Redacted or Malformed Event | 18:12:02 |
| nim65s changed their display name from Guilhem to nim65s. | 18:12:17 |
| Anton (he/him) joined the room. | 20:51:35 |
| guiniol joined the room. | 21:03:45 |
guiniol | So. I wanted to create a couple of extra datasets in an existing ZFS pool without wiping everything. Is there a way to either get disko to not remove existing data (is this what the mount mode does? I couldn't find much about it in the docs) or to get disko to give me the commands it would run to create those datasets (which I would the run myself). | 21:05:48 |
magic_rb | In reply to @guiniol:matrix.org So. I wanted to create a couple of extra datasets in an existing ZFS pool without wiping everything. Is there a way to either get disko to not remove existing data (is this what the mount mode does? I couldn't find much about it in the docs) or to get disko to give me the commands it would run to create those datasets (which I would the run myself). Last time i checked disko doesnt support repartitioning | 21:15:18 |
guiniol | so getting the commands it would run is really the only thing I can do | 21:16:27 |
guiniol | I found the --dry-run mode (I really should have run --help first...), so let's see what that gives me | 21:16:55 |
magic_rb | Id suggest you learn to use ZFS | 21:17:30 |
guiniol | so | 21:17:37 |
guiniol | the thing is I have the options I want in the disk config file | 21:17:55 |
lassulus | in theory we have support for update scripts | 21:18:02 |
lassulus | like create should be idempotent | 21:18:13 |
lassulus | but please have backups and proof read the created script :) | 21:18:26 |
guiniol | and I wanted to create the datasets as disko would create them because at the very end, I will wipe the machine and reinstall everything from backups | 21:18:27 |
magic_rb | Ah | 21:18:37 |
magic_rb | Dry run then | 21:18:43 |
guiniol | so I don't want to have an incompatible option somewhere taht would make the zfs receive fail | 21:18:59 |
guiniol | so, I did try --dry-run but apparently my flake on its own is not enough. I create the system with nixos-anywhere and disko complains about You must set the option ‘boot.loader.grub.devices’ or 'boot.loader.grub.mirroredBoots' to make the system bootable. | 21:19:48 |
guiniol | I think there was something about a bootable device in the help, so let me try that again | 21:20:13 |
guiniol | alright, I think I have it | 21:34:14 |