Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Nov 2003 17:00:54 +0200
From:      Peter Pentchev <roam@ringlet.net>
To:        Reinier Kleipool <Reinier@Kleipool.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: kernel enviroment in sysctl MIB
Message-ID:  <20031112150054.GA453@straylight.oblivion.bg>
In-Reply-To: <001701c3a875$836b1960$5201a8c0@ovs.kleipool.org>
References:  <001701c3a875$836b1960$5201a8c0@ovs.kleipool.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--WIyZ46R2i8wDzkSu
Content-Type: text/plain; charset=windows-1251
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 11, 2003 at 06:01:55PM +0100, Reinier Kleipool wrote:
> Hello,
>=20
>   I am investigating the possiblilies for looking at the kernel boot
> parameters from within a userland utility. (Possibly a new FreeBSD install
> facility) The idea is that by looking at sysctl kern.environment.* you
> should be able to see the BTX variables. An install program could use this
> to see an INSTALL_SERVER=3Dinstall.company.com variable (etc...) to use as
> install server. The BTX loader could provide these variables at install b=
oot
> time, thus enableing fully automated installs.
[snip]
> My question is this: When looking at kern/kern_environmet.c I see routines
> that install a SYSCTL_NODE kern.environment. The sysctl_kernenv routine
> handles this node. What I do not understand is how the environment is
> returned from this routine.

Take a look at the kenv(1) utility - its source is in the
src/usr.bin/kenv/kenv.c file.  There is a weird comment at line 74,
where the kern.environment sysctl is accessed in a really 'magic &
undocumented' way.  Look at what it does - basically enumerating oid's
=66rom a given starting point, the starting point being obtained in said
'magic & undocumented' way - and see if you could use the same approach.
Alternatively, you could just invoke kenv(1) with your variables as
command-line parameters from your program/script, although this might
incur a performance cost.

G'luck,
Peter

--=20
Peter Pentchev	roam@ringlet.net    roam@sbnd.net    roam@FreeBSD.org
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
=2Esiht ekil ti gnidaer eb d'uoy ,werbeH ni erew ecnetnes siht fI

--WIyZ46R2i8wDzkSu
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQE/sksm7Ri2jRYZRVMRAhVSAJ45V7VhY38gXM1+maZIzPgCS7dobACfRECD
QxO7LVMh/kYGcVKycCXU4SQ=
=XzeM
-----END PGP SIGNATURE-----

--WIyZ46R2i8wDzkSu--



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