Subject: Re: PATCH: init(8) - multiuser under chroot
To: Jachym Holecek <freza@liberouter.org>
From: Simon J. Gerraty <sjg@crufty.net>
List: tech-userlevel
Date: 05/30/2005 12:28:38
>> background: i'd like to have the whole hard drive on my laptop
>> reside on cgd(4), including / file system. the idea is quite simple:
I do something very similar to run the system out of a CD image.
> * In multi-user boot, /etc/rc is run and waited for as usual.
> If value of the "init.root" sysctl node is not equal to "/" after
> that, /etc/rc will be run inside a chroot(2) indicated by sysctl.
> [That is: we'll run ${init.root}/etc/rc under chroot.]
This is an interesting idea.
> * Set up ttys as specified in ttys(5). If we did a successful chroot
> during multi-user boot, each getty(8) process will be run in the same
> chroot(2) path as /etc/rc did (that is, the value of ``init.root''
> sysctl is not re-read).
Not sure I like this bit though. Once etc/rc finishes successfully,
I make init chroot itself, keeps things nice and simple.
As you found, going back and forth b/w single/multi-user doesn't work well
so I don't even pretend that it will work. Boot single user or multi-user
end of story.
I haven't looked at the patch btw.
--sjg