The setup instructions of sys-apps/hprofile mention a file /etc/runlevels/<my_runlevel>/.critical which can hold a line containing the name of critical services to be started in a specific order in the respective runlevel. I had to find out that no matter where I put 'hprunlevel', 'checkroot' and 'modules' are run before. Found the cause in /sbin/rc belonging to sys-apps/baselayout-1.12.11.1 where the CRITICAL_SERVICES which can be set by the user via the mentioned '.critical' file, is somehow ignored to force running 'checkroot' and 'modules' first. Well, I had to patch the script to include 'hprofile' BEFORE 'modules', since that's one of the purposes hprofile is meant for, switching modules autoload file for example, BEFORE the modules script loads them. Can this 'hprofile' please be adopted here, like in the following patch please? Or,alternatively, solve this somehow still by the usage of the '.critical' file?
Created attachment 148988 [details, diff] patch to /sbin/rc includes 'hprofile' right after 'checkroot' and BEFORE 'modules' in the hard-coded order of critical scripts to be started in this order.
I no longer maintain hprofile (or use Linux) so I'm unable to help any further. Sorry.
the current limited behavior is set in stone. the idea of "critical services" has been tossed in the next major version of baselayout/openrc and the expected behavior of using depend() is used.