LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > General
User Name
Password
General This forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!

Notices


Reply
  Search this Thread
Old 03-20-2013, 03:51 AM   #1
bendib
Member
 
Registered: Feb 2009
Location: I'm the rat in your couch.
Distribution: Fedora on servers, Debian on PPC Mac, custom source-built for desktops
Posts: 174

Rep: Reputation: 40
Lightbulb Anyone interested in a systemd alternative?


Before I get your hopes up, keep in mind there is a chance this could all become vaporware, but I'd like to extend my thoughts on my intent to write a very lightweight systemd alternative for Linux in C. I plan to depend on nothing other than libc, a Linux OS (until BSD support is added, which will be in the roadmap), and it's own shared "libshadowfax". (Shadowfax will be the name)

It will support multithreading, but processes will be able to be started linearly as well. My idea for configuration included /etc/shadowfax/ as the location, and .conf files for each stage of the boot sequence, such as preboot.conf and services.conf, and for service IDs, service-ids.conf. The services would share a common ASCII ID and share the same config files. Adding services from scratch would be possible with, for example, shadowfax additem service <ID> <Loading method> "<command>" "<command>" "<command>".

It will not depend on udev or procfs or sysfs, and it will support emergency shutdown with a key binding, disabled by default.

All configuration data will be copied to RAM upon execution for boot up, and reloaded and resaved upon editing from the program itself.

Does anyone find such concepts intriguing? Ideas? Suggestions?
 
Old 03-20-2013, 10:03 AM   #2
pan64
LQ Addict
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 21,686

Rep: Reputation: 7274Reputation: 7274Reputation: 7274Reputation: 7274Reputation: 7274Reputation: 7274Reputation: 7274Reputation: 7274Reputation: 7274Reputation: 7274Reputation: 7274
why do you want to do that? is there any benefits?
 
Old 03-20-2013, 01:43 PM   #3
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,198

Rep: Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307
I don't like the name. I got totally burned out on LOTR about a decade ago.
 
Old 03-21-2013, 01:08 AM   #4
bendib
Member
 
Registered: Feb 2009
Location: I'm the rat in your couch.
Distribution: Fedora on servers, Debian on PPC Mac, custom source-built for desktops
Posts: 174

Original Poster
Rep: Reputation: 40
The big benefit is an efficient, lightweight, configurable, capable boot system that fits both full size and minimalist distributions like a glove. It's designed to use very little resources and put as much power in the hands of the administrator as possible without bloat, while also providing an efficient, multi-core/thread optimized boot system.

I am also considering the name "Lazarus".

I want this because systemd is too big and becoming too integrated with the OS and various libraries, and the OS and other software too integrated and dependent on it. It is unsuitable for very minimalist sub-100MB distributions and has too many dependencies. I like many of it's features, but not the bloat that accompanies them.

Thoughts?

Last edited by bendib; 03-21-2013 at 01:12 AM.
 
Old 03-21-2013, 11:23 AM   #5
jens
Senior Member
 
Registered: May 2004
Location: Belgium
Distribution: Debian, Slackware, Fedora
Posts: 1,463

Rep: Reputation: 299Reputation: 299Reputation: 299
Quote:
Originally Posted by bendib View Post
The big benefit is an efficient, lightweight, configurable, capable boot system that fits both full size and minimalist distributions like a glove. It's designed to use very little resources and put as much power in the hands of the administrator as possible without bloat, while also providing an efficient, multi-core/thread optimized boot system.
That's actually what Lennart Poettering said about systemd as well (he seems to be a nice person, did you contact him?).

Could you you explain the "less bloat" part a little more (how...?, less options? how is that "more powerful" for admins?).

Last edited by jens; 03-21-2013 at 11:25 AM.
 
Old 03-24-2013, 10:24 PM   #6
bendib
Member
 
Registered: Feb 2009
Location: I'm the rat in your couch.
Distribution: Fedora on servers, Debian on PPC Mac, custom source-built for desktops
Posts: 174

Original Poster
Rep: Reputation: 40
Cool

I plan to make my code concise and readable, with generic functions that are often more efficient than what is found in stdlib. The admin will be given sure and immediate control over the services and boot sequence of the system, to customize to his liking with little effort. On one front, all config files are to be universal and easily edited, with options well placed and obvious, and on another front, the executable "shadowfax" will contain options for full control over services and all the options specified in the config files. All configuration will be in a unified location with a unified format and will prove uniform across all UNIX platforms. It will support starting services and boot items as threads but will not mandate them to be done this way. It will leave efficiency and priority to the user. Services may specify how they would like to be started but can not object to modification. A file based interface will be used for shutdown messages to the primary "init" instance.

It's all going to be elegant, mostly because of it's simplicity.
 
Old 04-01-2013, 05:21 PM   #7
bendib
Member
 
Registered: Feb 2009
Location: I'm the rat in your couch.
Distribution: Fedora on servers, Debian on PPC Mac, custom source-built for desktops
Posts: 174

Original Poster
Rep: Reputation: 40
Does everyone give so little a crap? :^|
 
Old 04-01-2013, 05:50 PM   #8
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,198

Rep: Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307Reputation: 5307
Quote:
Originally Posted by bendib View Post
Does everyone give so little a crap? :^|
You have deduced correctly.

That will change when, and not before, you release it.
 
Old 04-01-2013, 06:01 PM   #9
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
Quote:
Originally Posted by bendib View Post
Does everyone give so little a crap? :^|
There are already several init systems out there (systemd, Upstart, SystemV, OpenRC, ...), so interest in another one will logically not be very high. This may change if you just go for it and come up with some working code for your concept.
 
Old 04-01-2013, 06:06 PM   #10
bendib
Member
 
Registered: Feb 2009
Location: I'm the rat in your couch.
Distribution: Fedora on servers, Debian on PPC Mac, custom source-built for desktops
Posts: 174

Original Poster
Rep: Reputation: 40
Working code? Ok, I can do that.

http://github.com/Subsentient/shadowfax/

;^)
 
Old 04-01-2013, 06:40 PM   #11
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
Blog Entries: 2

Rep: Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886Reputation: 4886
Quote:
Originally Posted by bendib View Post
Working code? Ok, I can do that.

http://github.com/Subsentient/shadowfax/

;^)
With working code I actually meant: Show that your code is capable of booting a distro in the way you declare your project to work, so may be a live-CD with your init system.
 
Old 04-02-2013, 06:05 AM   #12
bendib
Member
 
Registered: Feb 2009
Location: I'm the rat in your couch.
Distribution: Fedora on servers, Debian on PPC Mac, custom source-built for desktops
Posts: 174

Original Poster
Rep: Reputation: 40
That will take more time, but I could probably push out a prototype with core functionality within two weeks. No promises.
 
Old 04-12-2013, 10:26 AM   #13
bendib
Member
 
Registered: Feb 2009
Location: I'm the rat in your couch.
Distribution: Fedora on servers, Debian on PPC Mac, custom source-built for desktops
Posts: 174

Original Poster
Rep: Reputation: 40
Talking Something has been accomplished!

I've completed threading support for services in libShadowFax, making it very easy to write a core boot system that uses ShadowFax's libraries. I've tested execution, it's effectively possible to boot a Linux system with ShadowFax, though MUCH more work must be done before it's called semi-stable. Just thought that might be nice.

https://github.com/Subsentient/shadowfax
 
Old 04-28-2013, 04:23 PM   #14
bendib
Member
 
Registered: Feb 2009
Location: I'm the rat in your couch.
Distribution: Fedora on servers, Debian on PPC Mac, custom source-built for desktops
Posts: 174

Original Poster
Rep: Reputation: 40
Talking Status update

Dependency support is almost done. Threaded object support is complete, the code has just had it's memory footprint nearly erased, and the library is stable and valgrind reports no outstanding issues (besides BS that will NEVER actually execute that way by design), and once I have completed dependency support, I'll provide a test executable with statically linked libShadowFax that will be suitable for booting up, but not shutting down, since that chunk of code is yet to be implemented. A few "God objects" may be broken apart, but we'll see, since I see no serious performance issues with them. Soon a CLI interface and the FileBus (means of smaller ShadowFax executables such as poweroff to communicate in a cross platform way) will be written. The project is very much active with much additions and refinements coming in all the time. Stay tuned folks!
 
Old 04-28-2013, 07:45 PM   #15
unSpawn
Moderator
 
Registered: May 2001
Posts: 29,415
Blog Entries: 55

Rep: Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600Reputation: 3600
Quote:
Originally Posted by bendib View Post
(..) once I have completed dependency support, I'll provide a test executable with statically linked libShadowFax that will be suitable for booting up (..)
Interesting. Once you do I'll throw it on a vm just to see if it works.
 
  


Reply

Tags
boot, init, linux, shadowfax, systemd


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Systemd Brandon9000 Linux - General 3 09-18-2012 02:45 PM
[SOLVED] slackware and systemd fl0 Slackware 512 08-29-2012 11:07 AM
Cgroups and Systemd omriar Linux - Server 0 10-06-2011 11:15 AM
Systemd custangro Fedora 2 08-01-2011 07:54 AM
Boot Delay 30min: systemd-analyze blame systemd-tmpfiles-setup.service BGHolmes Fedora 0 07-27-2011 09:02 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > General

All times are GMT -5. The time now is 06:20 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration