Although there is plenty of legacy support for SysVinit, chroot isn’t one of them and the blog post describes why…
Whereas in SysVinit the processes are <all> children of Parent(s), that’s not the case in systemd… In systemd, there is one enormous pool of “equal opportunity, full citizen” processes which run as configurable Units, again every Unit is “equal.”
The result is that whereas in traditional chroot you can hope that child processes might be “managed” through the parent/child relationships, in systemd processes are “just there” and invoked or torn down as needed without the hierarchical structure found in SysVinit.
For that reason although I’m still a bit unclear what happens when invoking traditional chroot and would still want to test, definitely when you invoke using systemd-nspawn the chrooted child processes should be isolated, running in a parent cgroup. After all, you don’t <really> want your chroot Users granted access to Host and other chroots, do you?
On a slight tangent, IIRC there is a way to enable Host credentials in the chroot and login as such, but I’d have to look that up… If you want to break security. But of course that won’t and shouldn’t be default.
As for the journal and tradiional system logging, at least for all current distro versions the journal messages are being piped to the legacy syslogs, so although there would not be any change how difficult it is to find events in the traditional syslog you should see everything that is also in the journal. So, this is still usable in openSUSE 12.3 just like previous versions
tail -n 300 /var/log/messages
Regarding whether the Unit suffix is required (eg .service), this is supposed to be a recent “improvement” and may not be fully debugged. Recommend submitting a bug if you believe the syntax is not consistent as you expected. But for me, I’m just used to typing the entire name including suffix, like in coding it’s better to be safe than to be sorry.
As I noted before, if systemctl is not available in your environment, there is no need to hack the C code and risk your system. I’d recommend you just open up a text editor and modify the Unit config. To be safe, leave the original Unit untouched, copy the Unit to /etc/systemd/ before making your changes.
IMO and HTH,
TSU