Date: Mon, 2 Dec 2013 19:17:52 +0000 From: "Teske, Devin" <Devin.Teske@fisglobal.com> To: Colin Percival <cperciva@freebsd.org> Cc: Devin Teske <dteske@freebsd.org>, FreeBSD RC <freebsd-rc@FreeBSD.org> Subject: Re: RFC: support for re-sourcing /etc/rc.conf Message-ID: <9EF48D5E-2706-4628-BF7B-DBBD5D7E227F@fisglobal.com> In-Reply-To: <529CD535.5010903@freebsd.org> References: <529BEDDB.8010003@freebsd.org> <20131202.214853.1540734630471865242.hrs@allbsd.org> <529CD535.5010903@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 2, 2013, at 10:45 AM, Colin Percival wrote: > On 12/02/13 04:48, Hiroki Sato wrote: >> Colin Percival <cperciva@freebsd.org> wrote: >> cp> I'd like to commit the attached patch to /etc/rc. When SIGALRM is r= eceived, >> cp> it reloads /etc/rc.conf; this makes it possible for an rc.d script t= o perform >> cp> first-boot system configuration and have it reflected by other rc.d = scripts. >> cp> >> cp> In particular, this will allow me to provide EC2 user-data of >> cp> >>/etc/rc.conf >> cp> firstboot_pkgs_enable=3D"YES" >> cp> firstboot_pkgs_list=3D"apache22" >> cp> to an image with the sysutils/ec2-scripts and sysutils/firstboot-pkg= s ports >> cp> installed, and have a system running with apache22 installed moments= later. >>=20 >> I am not familiar with sysutils/firstboot-pkgs and its use case, but >> is it correct that packages are installed during /etc/rc and then >> rc.conf will be updated before rc.d scripts for the installed >> packages run from /etc/rc? Where and when SIGALRM is sent from? >=20 > No, the other way around -- a different script (part of ec2-scripts) upda= tes > /etc/rc.conf based on metadata provided at VM launch time. One use of th= is > would be to set firstboot_pkgs_* variables to control the behaviour of the > firstboot-pkgs port moments later in the boot process. >=20 sysrc(8) in 9.2+ base comes to mind. NB: Available as a port for older releases 4.8+ (sysutils/sysrc) > So: > 1. VM image is created with ec2-scripts and firstboot-pkgs installed. > 2. VM image is launched with user-data saying "I want apache22". "bsdconfig startup_rcvar" in 9.2+ base comes to mind. NB: Avaiable as a port for older releases 9.0+ (sysutils/bsdconfig) > 3. Early in the boot process, ec2-scripts reads that user-data, updates > /etc/rc.conf, and signals /etc/rc. > 4. /etc/rc re-sources /etc/rc.conf. Cool. How's the signaling in #3 done to get #4? Edit: Hiroki suggests using using /etc/rc.conf.d/{name} Edit: "sysrc -f /etc/rc.conf.d/{name} firstboot_pkgs_{blah}=3Detc" comes to= mind > 5. Later in the boot process, firstboot-pkgs (having the new /etc/rc.conf > settings loaded) installs the apache22 package. >=20 /usr/share/bsdconfig/packages/packages.subr in 9.2+ base comes to mind. Library for installing packages from a script (from any media device). In 11.0-CURRENT, you have realtime API documentation: bsdconfig includes packages/packages or more specifically... bsdconfig includes -dF package_add Will display full description of the API function, f_package_add(). In 9.2-R or 9-STABLE (after SVN r252995), it uses pkg-tools. In 10.0-BETA4 or 10-STABLE (after SVN r258420) or higher, it uses pkgng. FYI: I like the idea of firstboot_pkgs_* I also like Hiroki's idea of stashing it all into rc.conf.d --=20 Devin _____________ The information contained in this message is proprietary and/or confidentia= l. If you are not the intended recipient, please: (i) delete the message an= d all copies; (ii) do not disclose, distribute or use the message in any ma= nner; and (iii) notify the sender immediately. In addition, please be aware= that any message addressed to our domain is subject to archiving and revie= w by persons other than the intended recipient. Thank you.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9EF48D5E-2706-4628-BF7B-DBBD5D7E227F>