!coeAONBrWyDJnYMbMi:nixos.org

NixOS System Operations

595 Members
About system administration for running NixOS systems in production. Declaratively manage your operations. | Room recommendations: #networking:nixos.org163 Servers

Load older messages


SenderMessageTime
2 Apr 2024
@raitobezarius:matrix.orgraitobezariusyou're welcome09:03:00
@k900:0upti.meK900 ⚡️Uhh09:03:02
@k900:0upti.meK900 ⚡️dd time09:03:04
@k900:0upti.meK900 ⚡️OK dd time succeeded09:15:40
@k900:0upti.meK900 ⚡️(or rather, sfdisk time)09:15:50
@rosariopulella:matrix.orgRosuavio joined the room.12:27:39
@dgrig:erethon.comdgrig joined the room.15:13:18
@ruther:ditigal.xyzRuther joined the room.19:52:38
3 Apr 2024
@quentinmit:matrix.orgquentin joined the room.00:28:49
@dclmatrix:matrix.orgexet changed their display name from exet to blu3.16:01:24
@dclmatrix:matrix.orgexet set a profile picture.16:44:08
5 Apr 2024
@kittenmreeow:matrix.orgkittenmreeow joined the room.15:16:46
6 Apr 2024
@steveej0:matrix.orgsteveej i'm working on a nixos config for a cloud-hypervisor based hosting platform. they load the kernel and initram directly without a bootloader. they hardcode calling /init. now i'm looking for a way to replace the /init. i've accepted the fact that i won't be able to do fallback for now. what is the right place in a config to execute this? i'm thinking of boot.loader.external.installHook but don't fully understand the context it runs in 09:41:28
@steveej0:matrix.orgsteveej * i'm working on a nixos config for a cloud-hypervisor based hosting platform. they load the kernel and initram directly without a bootloader. they hardcode calling /init. now i'm looking for a way to replace the /init on nixos-rebuild switch or boot. i've accepted the fact that i won't be able to do fallback for now. what is the right place in a config to execute this? i'm thinking of boot.loader.external.installHook but don't fully understand the context it runs in 09:42:04
@k900:0upti.meK900 ⚡️What we've done in NixOS-WSL is use an activation script to inject a binary there09:43:43
@k900:0upti.meK900 ⚡️That looks something like this: https://github.com/nix-community/NixOS-WSL/blob/main/utils/src/shim.rs09:44:21
@k900:0upti.meK900 ⚡️You probably want to do something similar09:44:27
@k900:0upti.meK900 ⚡️(or even steal that one wholesale as I'm pretty sure it doesn't have any WSL specific hacks left)09:44:39
@steveej0:matrix.orgsteveej i thought about an activation that too. does that work in the nixos-rebuild boot case? i thought it's only executed when the new system is booted, which in my case relies on /init pointing to the new system 09:47:41
@k900:0upti.meK900 ⚡️It doesn't, no09:48:33
@k900:0upti.meK900 ⚡️The more correct way to do it would be through a bootloader script, yes09:48:43
@k900:0upti.meK900 ⚡️But the important thing here is that you can't just symlink NixOS init to the right place and expect it to work09:49:01
@k900:0upti.meK900 ⚡️Because normally activation happens before that09:49:06
@k900:0upti.meK900 ⚡️So you have to have your own thing that will run the activation script and then run the stage2 init09:49:24
@steveej0:matrix.orgsteveej

FWIW, this works imperatively on the system:

set -xeEu -o pipefail

result="$(nix build --refresh --tarball-ttl 0 github:holochain/holochain-infra/workorch-zos#nixosConfigurations.tfgrid-devnet-vm0.config.system.build.toplevel --print-out-paths --no-link)"

ln -sf "${result}"/init /init
09:49:30
@steveej0:matrix.orgsteveeji'd be ok putting this anywhere appropriate. but i want to prevent running it anywhere else other than on the actual target system, for probably obvious reasons 😆09:50:47
@steveej0:matrix.orgsteveejthis is just the update use-case. i've already got something for the initial system assembly09:51:07
@steveej0:matrix.orgsteveej i'm looking through the shim code you've sent me and am intimidated by wrangling with /dev entries :-) is this used as a PID1 shim? 09:53:34
@steveej0:matrix.orgsteveejeither i'm oversimplifying or my use-case is actually simpler than in WSL09:54:17
@k900:0upti.meK900 ⚡️The /dev stuff can be ignored09:55:47

Show newer messages


Back to Room ListRoom Version: 10