The most complicated step is compiling the lmainit.so loadable object for the bash. I used bash-2.05b this is the minimum version required since specific bash-2.05b features are used. Did I tell you that this is for linux only (although other unices might work, I expect _some_ porting work). I have a few prebuilt .so files in the package, the 2.04 one should work till 2.05a. I have bundled the necessary headerfiles from my bash-2.05b installation into include. For best results you have to copy your own bash header files to that location, i.e. cp ~my/bash-2.04/*.h ~my/bash-2.04/*/*.h shinit/include After that you can do "make clean all install", which will create a /etc/rc.d and copy various files into it. The most important ones are /etc/rc.d/bcheckrc should be run on sysinit /etc/rc.d/brc should be run on boot /etc/rc.d/rc should be run on any runlevel change See the inittab in the distribution for an example. Also, all programs required for booting (hdparm for example) must be in some hardcoded locaiton, either /sbin or /bin. Some distributions disagree and put programs required for booting into /usr, which means you cannot have a seperate root partition... watch out. The most important file is rc.values, which gets copied to /etc. It contains your whole system configuration. The program "facility" (in sbin) dan be used to stop/start single services, e.g. facility -httpd +mysqld +httpd will stop httpd and start mysqld and httpd. You can customize all the predefined facilities by editing standard.fac and boot.fac. You can add your own facilities by creating a file /etc/rc.d/fac/.fac that should define the facility named . (needless to say, syntax and logic has suffered a lot from my previous perl implementation)