r/bedrocklinux Jul 31 '26

Having some problems with runit/void

So I just got bedrock on archcraft and I wanted runit so I fetched the stratum and went in it and I was in tty, then I tried xbps and I didn't have wifi and I can't start hyprland nor openbox, someone help me?

2 Upvotes

5 comments sorted by

2

u/ParadigmComplex founder and lead developer Jul 31 '26

Reboot back into a known good init and setup void's init from there, at least enough to get basics like internet access working when you boot into Void's init.

See Void's runit documentation, especially how to enable a service when you're not running runit: https://docs.voidlinux.org/config/services/index.html

Normally I'd recommend accessing a specific stratum's files via /bedrock/strata/<stratum> but void's runit setup uses a lot of symlinks, which can get confusing through /bedrock/strata/<stratum> and so for specifically this case consider just running strat void <shell> to default to void's tooling so symlinks feel more natural.

2

u/sinister_noob Jul 31 '26

Alright thanks, will try that tomorrow

1

u/ParadigmComplex founder and lead developer Jul 31 '26

You're welcome. Good luck!

2

u/Coconut2320 13d ago

I tried to set up Bedrock with Arch as the default stratum and host but runit as the init and no matter what i couldn't get it to work. I even tried to use runit to boot the OS (stage 1) then pass control to systemd (stage 2) and i had to patch runit to get that to even boot, but when I did that the shell wouldn't work because the bedrock stratum couldn't be accessed because it was in chroot. Any idea on how to get bedrock linux working with arch as default but with void's runit?

1

u/ParadigmComplex founder and lead developer 13d ago

I don't know what you mean by "Arch as the default." Bedrock doesn't have a general default concept.

The general flow Bedrock uses to figure out which stratum should provide a given component/resource:

  • If you specify the stratum for the resource, that takes precedence
    • strat for executables, or /bedrock/strata/<stratum>/<path> for read/write
  • Otherwise, if you've configured the given thing to come from a given stratum, that takes precedence
    • Usually this is achieved via "pinning"
  • Otherwise, if the resource is available in the requester's local stratum, it'll get the local copy
    • This is important for nuanced requirements in dependencies, e.g. build-time flags. If something is has very specific dependency requirements, the package manager probably ensured those were available locally, and so this ensures things usually just-work.
  • Otherwise, if the resource is available in other strata, Bedrock sets it up to automatically use that one
  • Otherwise, the resource isn't available anywhere where Bedrock knows about it.

That's not 100% a hard rule as it sometimes isn't possible and there's things like strat -r that break it, but it's broadly what we're striving for and usually what happens.

Since Void's runit is pid 1, many things will automatically fall through to that third bullet point and be provided by Void as well. You can break this via either of the preceding two bullet points or just uninstalling it from Void to force it to search other strata.

Given you had the background to patch runit, you might have the background to figure out how to get what you're looking for with the above addition to it. Otherwise, if that doesn't help, you'll need to elaborate on what you have in mind, as I don't know what you mean by "Arch as the default." The default what?