:: Re: [DNG] Different philosophies
Top Page
Delete this message
Reply to this message
Author: Steve Litt
Date:  
To: dng
Subject: Re: [DNG] Different philosophies
On Fri, 10 Nov 2017 16:27:07 +0000
jack da <picamanic@???> wrote:

> Thanks for your comments. I wrote "disparate" not "desparate",
> although having looked it up, I should have used "diverse".
>
> The first paper I wrote on Alternative Init Systems for Devuan was
> published in
>
> https://talk.devuan.org/t/an-alternative-init-system-for-devuan/205


This paper is a must-read for any DIY Linux person. It's a shame it's
not better publicized.


> However, that version was not busybox-based.


If you have a system that inits via busybox, please, please, PLEASE
document it. IIRC Karl Hammar alternate-initted a machine with a
busybox setup, but I don't think he documented it.

> As "talk.devuan.org"
> has been frozen, pending destruction, I struggle to find a new forum
> for writing about my work.


If nothing else, put a Creative Commons license on it and I'll put it
on Troubleshooters.Com, with appropriate and sufficient pointers.

Long term, I'd suggest you put it on your own personal website with a
domain name you own. I think Devuan's role should be to provide links
to these things, not to contain them. And I think these documents
should be authored in ways other than a forum. If anybody responds to
anything in this paragraph, please change the subject line, because
this thread is primarily technical.

I have some comments on your document...

* Let everyone know that sinit is Suckless Init from Suckless Tools and
give the URL. It's obvious to us, but not to all readers. You might
mentione that Suckless Init is an enhancement of Rich Felker's 16
line PID1.

* In your shutdown script, I think it's customary to put a sleep in the
neighborhood of 3 seconds to 5 seconds between killall5 -15 and
killall5 -9. Doing so makes it much less likely that a process taking
a long time to politely kill itself will be murdered half way through.


>
> The only other specific reference I can think of is for the 100-line
> initrd:
>
> http://nairobi-embedded.org/initramfs_tutorial.html


Very nice!

I see little wrong with a **tiny** initramfs that's written and
compiled manually, whose only purpose is to mount /. Once / is mounted,
you can switch_root and run an rc file in /etc to complete the rest of
the boot. When I do this I'm going to try very hard either to not use
udev in the initramfs, or to use a throwaway copy of udev, kill it
before switch_root, and then run the permanent udev from the rc file.
Testpoints outside initramfs are real testpoints: Inside initramfs you
need some convoluted voltmeter probes.

>
> The complete sh-script is towards the end of this paper. However, I
> added a bit to run fsck [e2fsck].


Good idea. That's necessary, and I could never figure out how to do it.

>
> The caveat to any of the code you can find on-line from these
> references is that some effort is needed to get them working
> reliably; however, I do use these on all my computers, everyday.
> Whilst I use Salix for the most part, they have run on Void and
> Devuan in earlier times.


Your way isn't for everyone. But for the DIYers among us, it provides
a teachable moment, a lifting of the helplessness brought on by
complex inits and initramfs', and real ammunition to correctly assess
and debate the init process.

This is excellent documentation that should be pointed to much more
prominently.

SteveT

Steve Litt
October 2017 featured book: Rapid Learning for the 21st Century
http://www.troubleshooters.com/rl21