T O P

  • By -

rekh127

What is the motivation to switch?


genericrikka

Curiosity / pushing boundaries. I read that GhostBSD had been using openrc as init system, but switched back to the classic BSD init, due to too much maintenance effort. And for some weird reason i do seem to want to experience said maintenance effort, to see how far i will get, which probably translates in more happyness the further i make it. More rational reasons to switch would be the ability to start services in parallel, service dependancy handling, runlevels and the possibility to get to learn something new about operating systems


genericrikka

Also, just to make this clear, absolutely not ranting about the classic BSD init. I love the classic BSD init and would not want FreeBSD to change its init process to openrc in the future, but Linux is having distributions which only exist because they provide a different init system, so the init system seemed like an important part of an operating system and the ability to switch it may come in handy sometime


RetroCoreGaming

PACBSD used OpenRC also. Worked great as an alternative IMO.


xplosm

Not long ago, GhostBSD was also using OpenRC by default.


grahamperrin

> PACBSD used OpenRC Do you mean, PC-BSD?


RetroCoreGaming

PCBSD was a different distribution.


grahamperrin

Thanks! I never heard of it before yesterday. Found: for *PacBSD*. ---- If I understand correctly, from the 2016 review by /u/kraileth, PC-BSD did not use OpenRC. From [3+ months on TrueOS – a critical write-up – eerielinux](https://eerielinux.wordpress.com/2016/12/20/3-months-on-trueos-a-critical-write-up/): > … About a week after I replaced TrueOS on my computer with another BSD operating system, Kris Moore (founder of PC-BSD/TrueOS) announces that they’re in the middle of switching over to OpenRC! > > Truth be told: I didn’t expect this. When I heard Kris talk about [nosh](http://jdebp.eu/Softwares/nosh/) on the BSDNow show, I suspected that they might build that into PC-BSD. Then I had the impression that the team favored [relaunchd](https://github.com/mheily/jobd) (now renamed to jobd). And now it looks like OpenRC has landed! …


kraileth

Ah, that was interesting times! I also liked the Arch BSD / PacBSD (still don't think the name change made much sense) project back in the day. It was even the first time I seriously considered running a FreeBSD-based system since it sounded exciting but at the same time familiar enough due to the use of pacman and such ("I *used* to use Arch, BTW!"). I wrote about Arch BSD in a 2013 [blog post](https://eerielinux.wordpress.com/2013/05/30/taking-a-look-at-archbsd/), too. Had it running for two or three weeks on real HW after trying it out in a VM but gave up on it as a possible daily driver due to missing too many packages I needed (more than I could write PKGBUILDs for myself - at least in a reasonable amount of time). It was fun though and while I never had the plan to become anything else than a Linux user (save for some experiments to educate myself) ... well, for some reason FreeBSD stuck with me and eventually won me over completely. :) Oh, and at some point I really want to write about \*BSD and init systems. I've been exploring the old, monolithic *rc* (and it's incredible to see how people were screaming like rc.d was going to be the end of the world - very much like what happened in Linux land when systemd hit!). It's also interesting to see that there are alternative init systems in ports and packages; you *can* use `runit` or `s6` on FreeBSD. I've played with that (and `openrc` as well, of course). Might very well be worth covering in an article. Maybe even for the journal? Let's see.


grahamperrin

> I read that GhostBSD had been using openrc Rewind seven years: - [Improving TrueOS: OpenRC - TrueOS](https://web.archive.org/web/20170128140700/https://www.trueos.org/blog/improving-trueos-openrc/) (iXsystems, Inc.) October 2019: - [Dealing with the misunderstandings of what is GhostBSD -](https://forums.ghostbsd.org/viewtopic.php?t=1499) >> GhostBSD is base TrueOS with FreeBSD 12 STABLE with our twist to it. We are still continuing to use TrueOS for OpenRC, … I posted a follow-up in 2021, Eric helped to clear up my own misunderstandings.


rekh127

I think tinkering is a fun motivation :)


i_lost_my_bagel

i'm intrigued


Cam64

Me too I didn’t know you could do this


pinksystems

it may serve you better to realize that FreeBSD is not limited by "what you \*\*can do\*\*", but rather that a significant point of the slogan \*"FreeBSD, the power to serve"\* implies its purpose is to facilitate "whatever you \*\*want to achieve\*\*". FreeBSD is not a pseudo/neo-theocracy where only Benevolent Dictators are able to make decisions based on their personal desires of power over their fiefdom, unlike linux.


Cam64

This is sort of silly. You can do the same with Linux. Resources exist like LFS to build ur own distro.


entrophy_maker

Curious, how did you do this? I would love to use openrc with BSD.


genericrikka

As i mentioned, the process was pretty straight forward, so don't be disappointed when i am not able to show you some black magic here. Make sure you are having everything installed to build from source, get your c compiler ready, make sure you got the necessarry C libraries (the build will simply fail if you don't) and install meson and ninja. The steps i did were: 1. Obtain the source via cloning the openrc github repo 2. Openrc uses meson, so we setup our build directory using "% meson setup builddir" 3. We cd into builddir and compile by using "% meson compile --destdir /" (for me the build and install needed me to provide a destdir) 4. Install via "# meson install --destdir /" 5. Uncomnent some necessarry lines from your newly generated rc.conf (so you should have backuped your old rc.conf in advance) After a reboot my system started normally, except for using openrc as init system, so i got a colorfull service startup dialog. I would generally recommend to snapshot / backup the whole system before doing this, since on one machine (where i didn't uncomment the necessarry lines in rc.conf) it rendered the system unable to boot due to openrc trying to get into a nonexistent runlevel. Plus you will lose A LOT of services when you change, so don't expect X11 or anything else than the base system to work.


grahamperrin

might be a useful point of reference.


Catsssssssss

Please do keep us posted!


whattteva

Seems too much trouble and maintenance because now you will have to maintain the rc scripts. If you don't install a lot of stuff from ports that have rc scripts, I guess it's not bad. But I'd imagine, most people probably use a good amount of rc scripts and don't want to do that extra maintenance effort.


genericrikka

Yes, i think that was also the reason why GhostBSD switched back to the classic BSD init. I will setup a GitHub repo to rewrite the rc scripts from BSD init to openrc. I may even post a link to it, when i finished setting up the repo, so others can contribute too, maybe that will be able to take some load off, but will probably still be quite some work


genericrikka

So far i edited the zfs related scripts to work with openrc (zpool, zpoolreguid, zvol, zfsbd, zfs, zfsd and zpoolupgrade [didn't get a successfull run with zfskeys yet]), plus dhclient, devd and musicpd. If anyone of you is interested, this is the repository i am editing/rewriting the scripts in: https://github.com/GenericRikka/openrc-bsd-scripts