Hi, this might not really be the place to ask this question, but I'll go ahead anyway. If this really belongs somewhere else, don't hesitate to point that out.
I'm building a small gentoo rootfs based on uclibc. After trying once with baselayout-lite (which kinda worked, but without any real init / rc support except for manually writing new rc scripts), I'm trying baselayout2 (2.0.0_rc6). The first problem I found was the absence of an inittab, but that makes sense since only busybox is providing init (so I should just write one myself...). The second problem, and that is the actual subject of this mail, is that the rc scripts (or more specifically the runscript binary) won't work. It will run and responds nicely to --help, but once I try to start something I get the following (and yes, I am root): / $ /etc/init.d/local start * ERROR: local has been started by something else Which is a rather cryptic message. After investigating the source, this message really means "Couldn't set state to `starting'". This is caused by the absence of a /lib/rc/init.d/starting directory. After creating this directory (and a /lib/rc/init.d/exclusive directory to solve the next error) everything works as expected. Even more, after a first succesful run, all the other directories in /lib/rc/init.d/ (started, stopping, etc.) are also created. Another look at the source is that as as side effect of dependency calculation, these directories are created if needed. But dependency checking is only done after marking the service as started, so this breaks on an empty system. Now, my real question: Who is supposed to create these directories? The most sensible thing IMHO would be having runscript create them on startup (which would require some code changes). If not, then the baselayout ebuild should provide them? Now, looking a bit closer, I might have found a solution. An easy way to solve the problem is simply forcing dependencies to be calculated, for example by running / $ /etc/init.d/local ineed This creates the needed directories without crashing. Now, if I would create a normal inittab, instead of trying to start single services without going through rc startup properly it might actually be that it starts with dependency calculation and the problem magically dissappears... I'll try that, and see what happens (though that would not fully invalidate this email if it works). Gr. Matthijs
signature.asc
Description: Digital signature
