| 22 Apr 2023 |
oddlama | no stage 1 pivots to stage 2 | 13:52:42 |
@elvishjerricco:matrix.org | stage 2 just shuts down when it ends | 13:52:54 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org Lily Foster: Yea I see. I just can't figure out why the assertion didn't trigger for me Oh, yeah, no clue there | 13:53:00 |
@elvishjerricco:matrix.org | i.e. when you power off / reboot | 13:53:02 |
@aktaboot:tchncs.de | okay so stage2 is just the normal os stuff :) | 13:53:09 |
@aktaboot:tchncs.de | thanks for the clarificatiosn 👍 | 13:53:35 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org stage 2 just shuts down when it ends We could designate the final shutdown ramfs pivot stage-3 (/s) | 13:53:39 |
@aktaboot:tchncs.de | * thanks for the clarifications 👍 | 13:53:40 |
@elvishjerricco:matrix.org | I didn't wanna mention that :P | 13:53:51 |
@elvishjerricco:matrix.org | but yep | 13:53:53 |
@elvishjerricco:matrix.org | we kinda technically have a stage 3 | 13:54:00 |
@elvishjerricco:matrix.org | it's just exceptionally simple | 13:54:08 |
@elvishjerricco:matrix.org | It's just the systemd-shutdown binary going on a merciless killing spree and then eventually dumbly running some executable hooks without any sort of logical ordering | 13:54:52 |
@elvishjerricco:matrix.org | ok seriously wtf I cannot figure out why that assertion isn't triggering | 13:57:38 |
@elvishjerricco:matrix.org | oh, I derped and forgot to have boot.initrd.systemd.enable = true | 14:02:34 |
@elvishjerricco:matrix.org | And I took for granted that if nixosTests.installer-systemd-stage-1.zfsroot evaluated, that meant it would succeed. But I'm testing that now and I expect it won't | 14:03:14 |
@elvishjerricco:matrix.org | Because it's not the initial machine config that has systemd stage 1 enabled. It's the installed machine. So it'll fail when the installer tries to install it | 14:03:54 |
@elvishjerricco:matrix.org | and yep there it goes | 14:04:04 |
@aktaboot:tchncs.de | is stage-1 ran automatically by giving the script to the initrd/ramfs ? or rather to the bootloader that will call it in the initramfs ? | 14:17:22 |
@elvishjerricco:matrix.org | The boot loader loads the initrd image from the disk and the kernel unpacks it into memory and runs /init | 14:17:53 |
@aktaboot:tchncs.de | I could not find where printing the <<< NixOS Stage 1 >>> string happens 🤔 | 14:20:19 |
@elvishjerricco:matrix.org | I think that's just in stage-1-init.sh isn't it? Which is only for the scripted initrd, not systemd initrd | 14:20:52 |
@aktaboot:tchncs.de | yep thanks :)\ | 14:21:36 |
@aktaboot:tchncs.de | * yep thanks :) | 14:21:38 |
@aktaboot:tchncs.de | huh, I thought that that would be /init in the initrd | 14:22:43 |
@elvishjerricco:matrix.org | aktaboot: It is | 14:25:50 |
@elvishjerricco:matrix.org | for scripted initrd anyway | 14:26:08 |
@aktaboot:tchncs.de | so there are 2 initrds in the boot process ?
in my boot entry, the init script is the one that prints <<< NixOS Stage 2 >>> so that got me confused | 14:29:42 |
@elvishjerricco:matrix.org | aktaboot: We have two completely independent implementations of stage 1. Which one your system uses depends on if you've set boot.initrd.systemd.enable = true; | 14:30:42 |
@elvishjerricco:matrix.org | The old one is what I call the "scripted initrd", and the new one is "systemd initrd" | 14:30:56 |