One of the nasty hacks left in OpenRC is that the init.sh script (ie, the sysinit runlevel) runs a lot of hardcoded stuff at boot, such as udev and mounting of various bits in /sys, /dev/pts and /dev/shm.Later today I'll be comitted a VERY big patch that allows the running of ALL these bits as seperate init scripts in a real sysinit runlevel. The only required change outside of OpenRC is a new init script for udev which I'll link here when comitted. Scripts for devfsd and mdev will also be required, but it will be up to others to make them.EDIT: This is now committed. You can grab a udev script and comment on Gentoo Bug #240984This is have the side effect of removing the concept of coldplugging and we're just left with hotplugging.Coldplugging can still be done, but it will be a pure udev configure option and not an OpenRC one.The patch also make a few changes internally to librc where we now return an empty list object instead of a NULL when nothing exists.This makes the code a lot smaller elsewhere, and easier to read. Interestingly we actually malloc slightly less through the running of rc than prior versions.Also, some cosmetic changes will be made as well with more to come later.The last thing to do is then look into a shutdown runlevel for handling the hardcoded power monitoring stuff, or an alternative solution.Then we can finally think about making this sucker stable!

Next Post Previous Post