Hi, This is a headup about a certain thing that I've been breeding inbetween sending patches to dracut mailing list ;) Current crux scripts are kind of ... [too] minimal. While certainly they are trivial to expand, they de-facto (or at least that was my experience so far) require expanding (and often pretty thorough one) for anything more than most simple installations. I kind of grew tired of redoing the same thing all over again (a bit differently all the time), so decided to do it once and flexibly enough. Then I thought that it would benefit the crux in general (hoping for 2.8, if you accept this at all of course). The obvious idea (not to redo the same stuff during every fresh install) was to provide solid and modern frame-of-sorts (with usual set of rc scripts and rc.conf configuration) mixed with user configurable hooks (so akin to rc.local, but taken a bit further, think about much simpler dracut). Both easily expandable (excluding shell scripting illiterates, but that's not say ... target crux's audience ;) ) What do I mean modern - userland is, judging from everything around, galloping forward. First thing that comes to mind is udev, which just sprints, without bothering to look back [too much]. Simple stuff that worked fine a decade ago - say 'umount -a', killall5 - are not really the best idea anymore. Some things must not be killed (e.g. mdmon), some shouldn't (udevd), most special filesystems (with interesting submounts) are pointles to be unmounted. Lots of small details expect, so to speak, more delicate approach. From stuff that would be provided by default: - udev handling moved to rc scripts - poor man's (still wondering about better method, for "no-initramfs" folks) udev retrigger with late /usr mount - some more thorough logging - careful/configurable umounting (2 stages, hook) - more thorough fsck - immortal processes (e.g. mdmon, udev) - initramfs handover aware + mount sanitization - console mode/settings cleaned up, with clean utf8/ascii choice (for the record, linux consoles have been by default utf8 since 2.6.24) - plethora of hooks to customize behaviour, rarely forcing to reedit actual rc stuff (at least that's the plan) - move to /run and mtab symlink - common functions shared between runlevels (services' killing, processes' killing, etc.), so actually some scripts actually did became smaller :) Some of the above is still work in progress, though it's slowly finalizing its looks. The old "frame" known from current minimal rc is immediately visible (I think), though the actual functions doing the stuff are necessarily more complex. One thing I dropped comparing to old rc, is kind-of-stick-to-posix-shell de-facto approach, while every script has blatant bash shebang. I don't run my imagination as wild as with dracut stuff, but I didn't shyly avoid its features either (to make a point: =~ is hella faster than piping through egrep, ^^/,, than piping through tr, and so on), so while we stick to this bloat of a shell, let's use it more .. thoroughly ;) Though the time is always pressing, I'll prepare some simple git pull once I feel it's ready. Unless of course you're completely against the idea of changing this part of crux. Any thoughts ? +/-, maybe some ideas that would be good to have considered.
On Sat, Oct 15, 2011 at 10:46:03PM +0200, Michal Soltys wrote:
Hi,
Hello Michal,
This is a headup about a certain thing that I've been breeding inbetween sending patches to dracut mailing list ;)
thanks for sharing your ideas and your work. I'm currently a bit overloaded, but hope that I'll find the time to answer with some comments next week. best regards Juergen
On 11-10-18 18:44, Juergen Daubert wrote:
On Sat, Oct 15, 2011 at 10:46:03PM +0200, Michal Soltys wrote:
thanks for sharing your ideas and your work. I'm currently a bit overloaded, but hope that I'll find the time to answer with some comments next week.
Oki, I'll have fully working version by next week - I'll prep git to pull.
participants (2)
-
Juergen Daubert
-
Michal Soltys