Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Jan 2007 11:51:22 +0200
From:      "Erik Udo" <erik.udo@gmail.com>
To:        freebsd-hackers@freebsd.org
Subject:   Re: Init.c, making it chroot
Message-ID:  <6e3d78920701030151o3bcbf129yeff694d9f064985f@mail.gmail.com>
In-Reply-To: <4592C91C.2040801@gmail.com>
References:  <4592C91C.2040801@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_120572_3556868.1167817882653
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I just made patch. It's supposed to run /etc/rc before chrooting. This is
the NetBSD "way" of doing it. All i can say is that it compiled. So if
anyone can look at it before i get to test it becouse i might be forgetting
something. (i can't even test it now)

diff attached.

On 12/27/06, Erik Udo <erik.udo@gmail.com> wrote:
>
> How can i make init chroot after executing /etc/rc, and executing
> /etc/rc again in the chrooted enviroment?
>
> For this to work, i'd like to know at what point do i call chroot(),
> becouse init.c uses fork() at the point where it runs the rc script.
>
> The thing is, i want to run a whole system in a chrooted enviroment in
> this livecd i'm making. But the command "chroot /mnt/root /etc/rc"
> returns after the /etc/rc has been run, dropping me back from the
> chrooted enviroment. And if it doesn't, init never starts the multiuser
> mode.
>
> So how can i go to the multiuser mode in a chrooted enviroment? I guess
> the only way to do that is to modify init.c
>
> Any help/feedback is appreciated.
>
> Cheers, Erik
>
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
>

------=_Part_120572_3556868.1167817882653
Content-Type: application/octet-stream; name=init.diff
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ewhkki9n
Content-Disposition: attachment; filename="init.diff"

LS0tIGluaXQuYy5vcmlnCVdlZCBKYW4gIDMgMDk6MTc6MzMgMjAwNworKysgaW5pdC5jCVdlZCBK
YW4gIDMgMTA6MDg6MzggMjAwNwpAQCAtNjcsNiArNjcsNyBAQAogI2luY2x1ZGUgPHVuaXN0ZC5o
PgogI2luY2x1ZGUgPHN5cy9yZWJvb3QuaD4KICNpbmNsdWRlIDxlcnIuaD4KKyNpbmNsdWRlIDxr
ZW52Lmg+CiAKICNpbmNsdWRlIDxzdGRhcmcuaD4KIApAQCAtMTE1LDYgKzExNiw3IEBACiAKIHN0
YXRlX2Z1bmNfdCBzaW5nbGVfdXNlcih2b2lkKTsKIHN0YXRlX2Z1bmNfdCBydW5jb20odm9pZCk7
CitzdGF0ZV9mdW5jX3QgcnVuZXRjcmMoaW50IHRyeWNocm9vdCk7CiBzdGF0ZV9mdW5jX3QgcmVh
ZF90dHlzKHZvaWQpOwogc3RhdGVfZnVuY190IG11bHRpX3VzZXIodm9pZCk7CiBzdGF0ZV9mdW5j
X3QgY2xlYW5fdHR5cyh2b2lkKTsKQEAgLTE3NSwxMiArMTc3LDE3IEBACiAKIHZvaWQgY2xlYXJf
c2Vzc2lvbl9sb2dzKHNlc3Npb25fdCAqKTsKIAoraW50IHNob3VsZGNocm9vdCh2b2lkKTsKK2No
YXIgaW5pdF9jaHJvb3RbUEFUSF9NQVhdOworaW50IGRpZF9tdWx0aXVzZXJfY2hyb290OworCiBp
bnQgc3RhcnRfc2Vzc2lvbl9kYih2b2lkKTsKIHZvaWQgYWRkX3Nlc3Npb24oc2Vzc2lvbl90ICop
Owogdm9pZCBkZWxfc2Vzc2lvbihzZXNzaW9uX3QgKik7CiBzZXNzaW9uX3QgKmZpbmRfc2Vzc2lv
bihwaWRfdCk7CiBEQiAqc2Vzc2lvbl9kYjsKIAorCiAvKgogICogVGhlIG1vdGhlciBvZiBhbGwg
cHJvY2Vzc2VzLgogICovCkBAIC03MTgsNiArNzI1LDM4IEBACiBzdGF0ZV9mdW5jX3QKIHJ1bmNv
bSh2b2lkKQogeworCXN0YXRlX2Z1bmNfdCBuZXh0X3N0ZXA7CisKKwkvKiBSdW4gL2V0Yy9yYyBh
bmQgY2hvb3NlIG5leHQgc3RhdGUgZGVwZW5kaW5nIG9uIHRoZSByZXN1bHQuICovCisJbmV4dF9z
dGVwID0gcnVuZXRjcmMoMCk7CisJaWYgKG5leHRfc3RlcCAhPSAoc3RhdGVfZnVuY190KSByZWFk
X3R0eXMpCisJCXJldHVybiAoc3RhdGVfZnVuY190KSBuZXh0X3N0ZXA7CisKKwlpZiAoc2hvdWxk
Y2hyb290KCkpIHsKKwkJbmV4dF9zdGVwID0gcnVuZXRjcmMoMSk7CisJCWlmIChuZXh0X3N0ZXAg
IT0gKHN0YXRlX2Z1bmNfdCkgcmVhZF90dHlzKQorCQkJcmV0dXJuIChzdGF0ZV9mdW5jX3QpIG5l
eHRfc3RlcDsKKworCQlkaWRfbXVsdGl1c2VyX2Nocm9vdCA9IDE7CisJfSBlbHNlIHsKKwkJZGlk
X211bHRpdXNlcl9jaHJvb3QgPSAwOworCX0KKworCS8qCisJICogUmVnYXJkbGVzcyBvZiB3aGV0
aGVyIGluIGNocm9vdCBvciBub3QsIHdlIGJvb3RlZCBzdWNjZXNzZnVseS4KKwkgKiBJdCdzIHRp
bWUgdG8gc3Bhd24gZ2V0dHlzIChpZS4gbmV4dF9zdGVwJ3MgdmFsdWUgYXQgdGhpcyBwb2ludCku
CisJICovCisJcnVuY29tX21vZGUgPSBBVVRPQk9PVDsJCS8qIHRoZSBkZWZhdWx0ICovCisJbG9n
d3RtcCgifiIsICJyZWJvb3QiLCAiIik7CisJcmV0dXJuIChzdGF0ZV9mdW5jX3QpIHJlYWRfdHR5
czsKK30KKworLyoKKyAqIFJ1biB0aGUgc3lzdGVtIHN0YXJ0dXAgc2NyaXB0LgorICovCitzdGF0
ZV9mdW5jX3QKK3J1bmV0Y3JjKGludCB0cnljaHJvb3QpCit7CiAJcGlkX3QgcGlkLCB3cGlkOwog
CWludCBzdGF0dXM7CiAJY2hhciAqYXJndls0XTsKQEAgLTc0Myw2ICs3ODIsMTIgQEAKIAogCQlz
aWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJnNhLnNhX21hc2ssIChzaWdzZXRfdCAqKSAwKTsKIAor
CQlpZiAodHJ5Y2hyb290KQorCQkJaWYgKGNocm9vdChpbml0X2Nocm9vdCkgIT0gMCkgeworCQkJ
CXdhcm5pbmcoImZhaWxlZCB0byBjaHJvb3QgdG8gYCVzJzogJW0iLAorCQkJCSAgICBpbml0X2No
cm9vdCk7CisJCQkJX2V4aXQoMSk7IAkvKiBmb3JjZSBzaW5nbGUgdXNlciBtb2RlICovCisJCQl9
CiAjaWZkZWYgTE9HSU5fQ0FQCiAJCXNldHByb2NyZXNvdXJjZXMoUkVTT1VSQ0VfUkMpOwogI2Vu
ZGlmCkBAIC04MDMsOSArODQ4LDYgQEAKIAlpZiAoV0VYSVRTVEFUVVMoc3RhdHVzKSkKIAkJcmV0
dXJuIChzdGF0ZV9mdW5jX3QpIHNpbmdsZV91c2VyOwogCi0JcnVuY29tX21vZGUgPSBBVVRPQk9P
VDsJCS8qIHRoZSBkZWZhdWx0ICovCi0JLyogTkI6IHNob3VsZCBzZW5kIGEgbWVzc2FnZSB0byB0
aGUgc2Vzc2lvbiBsb2dnZXIgdG8gYXZvaWQgYmxvY2tpbmcuICovCi0JbG9nd3RtcCgifiIsICJy
ZWJvb3QiLCAiIik7CiAJcmV0dXJuIChzdGF0ZV9mdW5jX3QpIHJlYWRfdHR5czsKIH0KIApAQCAt
MTYzMywzICsxNjc1LDIyIEBACiAJfQogfQogI2VuZGlmCisKKworaW50IHNob3VsZGNocm9vdCh2
b2lkKSB7CisJY2hhciBpY25hbWVbXSA9ICJpbml0X2Nocm9vdCI7CisJKmluaXRfY2hyb290ID0g
J1wwJzsKKworCWlmKGtlbnYoS0VOVl9HRVQsIGljbmFtZSwgaW5pdF9jaHJvb3QsIAorICAgICAg
ICAgICBzaXplb2YoaW5pdF9jaHJvb3QpKSA9PSAtMSkgeworCQl3YXJuaW5nKCJDYW4ndCBmZXRj
aCBpbml0X2Nocm9vdCBmcm9tIGtlbnYoKTogJW0iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYg
KGNoZGlyKGluaXRfY2hyb290KSAhPSAwIHx8IGNocm9vdCgiLiIpICE9IDApIHsKKwkJd2Fybmlu
ZygiQ2FuJ3QgY2hyb290IHRvICVzOiAlbSIsIGluaXRfY2hyb290KTsKKwkJcmV0dXJuIDA7CisJ
fQorCisJcmV0dXJuIDE7Cit9Cg==
------=_Part_120572_3556868.1167817882653--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6e3d78920701030151o3bcbf129yeff694d9f064985f>