Will there be a new init for FreeBSD anytime soon?

Well, the boot speed improvements can be handy :)

Those will come almost automatically if parts of the rc(8) infrastructure is replaced by C/C++ code. Shell scripts are very inefficient because the interpreter doesn't use any of the tricks used by more recent scripting languages such as python that compiles the source code into a binary representation that is much faster to execute.
 
Well, the boot speed improvements can be handy :)
For servers the uptime is more important, the physical server boots for 10-20 minutes anyway, so saving 5 seconds upon operating system boot is pointless. Better solution is to implement KSPLICE alternative on BSD.

For laptops/workstations you do suspend/resume, so boot time does not affects You ...
 
  • Thanks
Reactions: Oko
For servers the uptime is more important, the physical server boots for 10-20 minutes anyway, so saving 5 seconds upon operating system boot is pointless. Better solution is to implement KSPLICE alternative on BSD.

For laptops/workstations you do suspend/resume, so boot time does not affects You ...

Boot speed increases can improve time to production when you're scaling hundreds of nodes, and for other "cloud-y" stuff. The faster you can get stuff up and running, the better. Businesses like that. As long as it doesn't affect stability, I don't see a problem increasing boot times.
 
Boot speed increases can improve time to production when you're scaling hundreds of nodes, and for other "cloud-y" stuff. The faster you can get stuff up and running, the better. Businesses like that. As long as it doesn't affect stability, I don't see a problem increasing boot times.
If You want to bring service back fast, You use a cluster ... or even fault tolerant solutions to eliminate downtime.
 
I couple of months to a year I remember some FreeBSD guy talking about how systemd was a great idea and that FreeBSD should have something like it, perhaps porting Upstart, Launchd, or that other Solaris init which everybody totally forgot about. Where did all that talk go and has there been anything so far?

What one may think is a great idea, others may object to. If FreeBSD will change its init system one day, I hope it only changes the init related part and that it won't be a huge, security neglecting and invasive solution like Systemd.
 
Faster boot times is obviously nice and clearly it's silly to completely deny we should have faster boot / parallel service start-up, but I do think there's a bit too much emphasis being put on this like it's some sort of holy grail.

If you're scaling hundreds of production nodes, I would hope your system has been designed that you can scale them gradually without actually taking any services offline. As mentioned, a decent server can take 5 -10 minutes to boot. The rc subsystem is a tiny part of this; Literally just the last bit of the FreeBSD boot where the text changes colour. On all of my systems, even a 50% increase in rc performance would probably make about 5% or less difference to overall boot. In any production setting where downtime was a problem, that improvement would be irrelevant.

I don't think shell slows it down that much either. C might make it quicker but again, for me, the majority of the time is spent actually starting the services themselves than the bits of shell glue in-between.

From what I'm aware a lot of the interest behind systems like systemd and launchd in recent years are partly to do without faster start-up, but much more to do with modernising the rc system, improving dependency handling, streamlining all the various process control services (rc/inetd/cron) & allowing services to actually only start when needed rather than on boot. That last one is a big one as it can have a massive impact on battery powered devices, which is a hot topic for operating systems at the moment (not so much in FreeBSD). Also why try and get your services to start faster on boot if you can just start them later when they're actually needed? (Both those last sentences are fairly irrelevant for servers).

One place where it would make a noticeable 'start-up' improvement would be jails/containers, which are pretty popular these days. All a jail really does when it starts is run the rc subsystem, so a 25% speed improvement would make the jail start nearly 25% faster.
 
I do think there's a bit too much emphasis being put on this like it's some sort of holy grail.
This is right for some advocates of the "more modern" startup systems. What I have heard is that certain parts of the embedded crowd are behind one of these, the reason being that modern car entertainment/navigation systems/takeover beachheads are booting too slow. These things start up once you come close enough to your fuel-to-noise converter for your keyless entry gadget to be in range so it is somewhat operational when you sit down and buckle the seat belt. That is the crowd needing faster boots times because the customers being presented with slower boot times are not the kind you can argue with about technology. They also want the crashed parts being restarted at once because no admin will be looking at things and check out why the mp3 player crashed. It crashed, restart at once.

That they create an unholy mess no user can manage in some years is of completely no concern to those.

Disclaimer - I have spent some years in that area, and boy did I see performance pigs being fed till they exploded...
 
Have You submited a BUG over here?
I can't get panic dump. And, actually, I'm assuming that that is the panic, as the screen remains black. According POST CODE, it hangs on E3 - "OS S3 wake vector call." If I do sysctl debug.acpi.resume_beep=1, it beeps endlessly.
 
I can't get panic dump. And, actually, I'm assuming that that is the panic, as the screen remains black. According POST CODE, it hangs on E3 - "OS S3 wake vector call." If I do sysctl debug.acpi.resume_beep=1, it beeps endlessly.
If You cant get more I would submit a bug anyway, with as much information You can, You lose nothing and maybe someone else will 'push' the work forward, someone with similar hardware or with similar problem.
 
Systemd is one of the main reasons why I've come back to FreeBSD from Linux after the last few years. That and I finally found directions for installing Crashplan that seem to work on FreeBSD. Well that and I rebooted Mint yesterday and I couldn't get back in for whatever reason.

I'm not personally comfortable with the way that Systemd is being extended to include all sorts of functionality that doesn't belong. The recent decision to add sudo like powers to it is very strange. The explanation read like the developer didn't understand how sudo is supposed to work.

P.S. It's amazing how much better FreeBSD is than it was a few years ago when I last had and install and 15 or so years ago when I first installed 4.2. I'm looking forward to finishing my migration.
 
someone with similar hardware or with similar problem.
*raises hand* Similar hardware, I don't know, Similar problem, yes. I had gotten suspend & resume working some time ago, but now it (again) hangs on resume or simply reboots. Since this seems to be related to ACPI, the mess is likely not part of FreeBSD but more in the BIOS part. Working around bugs in ACPI implementations is something I would like to avoid.
 
*raises hand* Similar hardware, I don't know, Similar problem, yes. I had gotten suspend & resume working some time ago, but now it (again) hangs on resume or simply reboots. Since this seems to be related to ACPI, the mess is likely not part of FreeBSD but more in the BIOS part. Working around bugs in ACPI implementations is something I would like to avoid.

Then also submit a BUG, without BUG submitted FreeBSD developers do not even know that something does not work.
 
Keep rc.d as simple and stupid, so easy to work with.

Do not repeat the same error as it was done with the new pkg system = dependency: sqlite, no more ascii files (The UNIX Way)...
 
First: you're responding to a thread which is roughly 3 year old, figured I'd mention it because there really isn't that much point to it.

Further more: what pkg mistake are you talking about? You mention an SQLite dependency, how did you come up with that weird idea? I mean...

Code:
peter@unicron:/usr/ports/ports-mgmt/pkg $ ls
Makefile        distinfo        files/          pkg-descr       pkg-plist
peter@unicron:/usr/ports/ports-mgmt/pkg $ make all-depends-list |wc -l
       0

Not to mention:

Code:
peter@unicron:/home/peter $ ldd `which pkg` | grep sqlite
peter@unicron:/home/peter $
There really is no error what so ever here. Sure, your package database is stored in /var/db/pkg/local.sqlite but so what? It's still mostly an ASCII file (go view it), and this database format is much better where storage is concerned (you are aware of block sizes I hope? So that 10 files which claim to be 10k each could actually take up 64kb per file?), and most of all: you shouldn't be messing with the system package files in the first place.

If you need information from the package database then use pkg, that's what it was made for. And if you insist on accessing the database directly, then go use sqlite. Couldn't be easier.
 
Back
Top