I have two operating systems installed on a machine (industrial application legacy software modern hardware, I'd tell you the details but you don't have three weeks and probably don't care). The main one is Devaun Jessie and the chroot is running Siemens Industrial Linux 8 (don't be surprised if you never heard of it, neither has the local Siemens distributor). I have made init link files to get the right programs started in the right runlevels in both. The only issue is there is an administrative program in the chroot that needs to change runlevels. what is the best way to notify the main init that a runlevel change request is needed from the chroot?
Changing the runlevel with SysVinit is done by sending the order through a named pipe, which was
/dev/initctl in older versions and is
/run/initctl under jessie.
You can use a bind mount to make the directory containing this named pipe visible in the chroot. To avoid exposing everything else in that directory, make a hard link to the pipe in a directory specially created for this purpose on the same filesystem.