[Toybox] service

Rob Landley rob at landley.net
Sun Jan 4 15:57:16 PST 2015


On 01/02/2015 12:57 PM, Isaac Dunham wrote:
> On Fri, Jan 02, 2015 at 01:20:11PM +1000, David Seikel wrote:
>> On Thu, 1 Jan 2015 10:22:46 -0800 Isaac Dunham <ibid.ag at gmail.com>
>> If I remember correctly, it includes most of the good stuff systemd
>> claims, fast boot if all/most of the "scripts" are written in C,
>> dependency tracking, parallel "script" running, etc.
> 
> I'm...fascinated and revolted.

I'm researching init systems. I want to solve this problem _properly_
and provide generic infrastructure that actually does, in a non-crazy
way, what users are trying to get init systems to do.

Alas, one of the biggest use cases I have to look at is android init,
and the last time I did that they had a config file that _looked_ like a
shell script, but wasn't. So, I need to look at that until I understand
all of it.

And I need to read the old linux weekly news article series on what
upstart was trying to do, and track down the maintainer's blog posts
desribing the rewrite he's decided not to do (are there any?), AND read
the the lwn.net series Lennart "Ulrich Drepper TNG" Pottering wrote on
how systemd works, and I need to read up on how lxc's init process
works, and I need to read about MacOS X launchd which is what upstart
and systemd both started out by copying. (And take another stab at
figuring out what openrc was actually trying to _do_.)

And I'm not currently doing _any_ of that because there are a half dozen
things higher priority and I need to _focus_ on a project like that to
tease out the common elements.

Toybox contains a number of sub-issues that would each be a project in
themselves for somebody sane.

> The problem with doing init scripts in C is that *when* it breaks (and 
> it will, since flawless hardware, drivers, kernel, libc, init, *and* 
> networking services exist nowhere), it will require either a rebuild
> by someone who knows C, or a *replacement* by a user who only knows
> shell.  And writing a shell script to replace an init script while
> fixing a bug is a lot more work than fixing a bug in a shell script.
> 
> However, having the tools required for init scripts done in C is
> a significant improvement; killproc,

I need a kill -r that takes out all the descendant processes. It's on
the todo list...

> pidofproc,

What would "pidofpric" do that toys/lsb/pidof.c doesn't?

> etc. should not be 
> done in shell (as many init scripts do); they could probably be 
> implemented along with pkill/killall/... and pidof.
> 
>> Rob hasn't decided yet how to tackle this sort of thing, other than his
>> oneit toy, which is a very basic init system.  I hope that when he
>> does tackle it, "scripts" written in C as part of toybox would be
>> supported.
>>
>> It's likely bit rotted horribly, but for the curious -
>>
>> https://sourceforge.net/projects/urunlevel/
>>
>> I'd be happy to port it to toybox.

Someday I need to dredge up http://dvpn.sf.net/old and... I dunno, port
it to dropbear maybe?

Waaaaaaay down on the todo list...

Rob

 1420415836.0


More information about the Toybox mailing list