In the case of a read-only root (such as diskless boot with NFS, as on a cluster I am building) the apparent assumption of write to /lib64/rc/cache is spurious. Assumption lives in the file init.d/savecache.in Similar to the test against clock skew, a test for write could be performed similarly to the following (not tested). # check if either: # - cache file exists and is writable # - cache file doesn't exist, but $RC_LIBEXECDIR exists and is writable if [ -w "$RC_LIBEXECDIR"/cache || [ ! -e "$RC_LIBEXECDIR"/cache && -w "$RC_LIBEXECDIR" ] ]; then # ... existing code here else eerror "Not saving deptree cache" return 1 fi
A fix for this has been implemented in commit a087744.
Same issue might exist for other directories, too: https://bugzilla.redhat.com/show_bug.cgi?id=537969#c17 I got several messages similar to: mkdir `/lib64/rc/init.d/starting': Read-only file system I do not remember the OpenRC version, though. Probably the latest ppc64 or ~ppc64 version.