Commit Graph

42 Commits

Author SHA1 Message Date
brooks
02891f1c55 To allow /etc to be as minimal as possible in a diskless setup, we need
to run initdiskless before we run rcorder on /etc/rc.d.  To allow this,
move /etc/rc.d/initdiskless to /etc/rc.initdiskless and run it directly
from /etc/rc.

Remove /etc/rc.d/preseedrandom as it is no longer necessicary (we start
with entropy unblocked) and was only used by initdiskless when it
was needed.

Discussed on:	freebsd-rc
Repocopy by:	peter
2005-04-29 23:02:56 +00:00
obrien
d6633b851a Use utils from /rescue vs. /stand. Also use pax rather than cpio & gzip. 2004-12-12 08:04:26 +00:00
mtm
1feafc679b - Make the header conform to standard rc.d style.
- The 'before ipfw' directive seems bogus, and should instead
  be 'before rcconf'.
2004-11-05 07:35:31 +00:00
mtm
39d3f406ce Remove the requirement for the FreeBSD keyword as it no longer
makes any sense.

Discussed with: dougb, brooks
MFC after: 3 days
2004-10-07 13:55:26 +00:00
schweikh
91f34482ca Removed whitespace at BOF, EOL & EOF. 2004-06-06 11:46:29 +00:00
phk
beede09a6d Initdiskless must run before ipfw, or people will not be able to
use the conf/* stuff for their firewall configuration.

Running ipfw before could seem to make sense in that it would allow
one to setup access to the NFS server on a "default-deny" kernel,
but it is pretty obvious to the casual observer that such a configuration
never makes it far enough to mount the NFS-root in the first place.
2004-04-28 13:18:22 +00:00
ru
cb5b33962a Replace shell's positional parameters safely. 2004-04-28 09:09:27 +00:00
phk
6289df2735 When using this in non-NFSroot circumstances, mount -t nfs may
return empty.  Add a dummy element to prevent the alternate action
of the shell builtin "set"
2004-04-27 15:42:34 +00:00
brooks
5ba6f20e07 Band-aid diskless booting by running a new preseedrandom script before
initdiskless.  The output of several commands and if available the
contents of /entropy are feed into /dev/random to kickstart the PRNG.
/etc/rc.d/initrandom is left alone to maintain the previous behavior as
much as possiable.

Further work in this area is probably needed.

Discussed with:	markm
2004-04-15 17:52:53 +00:00
luigi
839847403e Extensive documentation changes to the script, but only
comments and empty lines have been touched.

All of this should go in the diskless(8) manpage, now if we had
some kind of 'literate programming' tool to extract the comments
from the script and put them in a reasonable nroff format, it
would be a lot easier to keep code and docs in sync
2004-03-31 08:43:20 +00:00
luigi
b8eaf31fc9 Minor changes mostly as discussed on the lists a few days ago:
+ SUBDIR.cpio.gz prevents files from SUBDIR/ to be copied when
   priming the memory filesystems. This restores the old behaviour
   and makes the copy process a lot more efficient

 + look for templates also in the list of directories supplied by
   bootp/dhcp via the T134 option aka kern.bootp_cookie

 + keep track of directories temporarily mounted with "remount"
   or "diskless_remount" commands and unmount them once we are done
   with them (at the end of this script).
2004-03-31 07:24:15 +00:00
brooks
eaef20db03 If /conf/diskless_remount exists, use it to remount the entire /conf
directory.  This allows multiple roots (say for different architectures)
to share the same set of /conf files.
2004-03-12 04:40:16 +00:00
phk
ae10eb5198 Make this file more generally usable:
Trigger not only on diskless booting sysctls being set, but also
on the existence of the file "/etc/diskless".  But do not try to
extract IP# related keywords in that case.

Add a general "remount" facility to allow non-NFS remounting.
2004-03-09 23:06:50 +00:00
pjd
798e9a1d99 Mark scripts as not usable inside a jail by adding keyword 'nojail'.
Some suggestions from:	rwatson, Ruben de Groot <mail25@bzerk.org>
2004-03-08 12:25:05 +00:00
dougb
a75a7409ef Remove trailing whitespace 2003-10-13 08:20:55 +00:00
dougb
b68b14f378 Update references to rc.diskless[12] 2003-10-13 08:18:05 +00:00
kris
cb8b38ab31 Bump default /etc size from 2MB to 5MB to deal with bloat^Wgrowth in
the size of /etc.
2003-10-12 00:19:45 +00:00
fjoe
52ad355d5d Correct typo in Matt's name. 2003-08-07 21:06:32 +00:00
brooks
b8db4ad194 Allow diskless_remount files to contain path beginning with / which will
be mounted relative to the NFS root mountpoint.

Reviewed by:	dillon at backplane.com
MFC After:	3 days
2003-06-30 21:47:06 +00:00
jhay
b671096f55 Add another backslash ('\'). 2003-02-15 16:29:20 +00:00
dillon
59db35bde2 Do not unconditionally load the configuration files for the RCNG case.
Instead, load them as part of the rc.d system.  This allows us to prioritize
the initidiskless script so it runs before the configuration files are loaded
and allows us to get rid of the exit 2 hack in /etc/rc.  The exit 2 never
worked anyway since it did not unset the prior configuration, causing the
diskless code to not operate properly.

Do a major cleanup and revamping of the diskless code for RCNG.  This will
be backported to the non-RCNG scripts as well as -stable.

With suggestions from: Mike Makonnen <mtm@identd.net>
MFC after:	7 days
2002-12-22 22:18:41 +00:00
schweikh
b7d8725365 Fix style bugs:
* Space -> tabs conversion.
* Removed blanks before semicolon in "if ... ; then".
* Proper indentation of misindented lines.
* Put a full stop after some comments.
* Removed whitespace at end of line.

Approved by:	silence from gordon
2002-10-12 10:31:31 +00:00
dd
850da56a49 In a diskless setup, rc.d/initdiskless may overwrite parts of /etc on
a per-machine or per-cluster (with different ways of expressing what's
part of a cluster) basis.  In order for this to be effective, rc.conf
has to be reread after initdiskless is finished.  Implement this by
adding a hook to etc/rc which rereads rc.conf by request.  This can
also be implemented by renaming initdiskless to initdiskless.sh and
sourcing rc.conf there manually, but it was decided that, that would
be uglier than a hook in etc/rc.

Developed in concert with:	gordon
2002-10-02 00:59:14 +00:00
phk
f9ed339e30 Use mdmfs(8) rather than rolling our own RAM-disks.
Sponsored by:	DARPA & NAI Labs.
2002-09-22 09:48:02 +00:00
dd
67306baf36 Stock -current has more than 300 files in /etc, so 255 inodes for the
/etc filesystem isn't enough; consequently, add "-i 4096" to the newfs
command for /etc.  This results in 1022 inodes, which should be enough
for the forseeable future (although I don't know why we would ever
have more than 1000 files in a default /etc).

Silence by:	-current
2002-07-28 03:41:53 +00:00
gordon
259601fa05 Merge in all the changes that Mike Makonnen has been maintaining for a
while. This is only the script pieces, the glue for the build comes next.

Submitted by:   Mike Makonnen <makonnen@pacbell.net>
Reviewed by:    silence on -current and -hackers
Prodded by:     rwatson
2002-07-18 05:00:17 +00:00
obrien
0b358fe827 Utilize dhcp information in the kernel environment if we don't have
hostname and DNS information already.

Submitted by:	Danny Braniss <danny@cs.huji.ac.il>
2002-04-22 21:42:18 +00:00
obrien
d1962c6a7d The usage of 'newaliases' needs to be after we know for sure that /usr
is mounted.

Submitted by:	rizzo
2002-02-23 01:49:20 +00:00
obrien
119bc74831 The existing bazaar and site-specific policy in rc.diskless1 is Just Wrong;
and looks like no other Unix diskless configuration I've ever seen.
Thus allow a more traditional /etc.

Note, the use of an MFS /var should also be settable.
Otherwise installing ports(packages) is just a total PITA.
2002-02-22 19:05:22 +00:00
rwatson
04bc01ee42 o Improve the line-wrapping of additional comments, some of which appeared
to be wrapped around 60, others around 40 columns.
2002-01-17 00:10:28 +00:00
rwatson
700ac91f0d o Remove a somewhat less comprehensible comment about modifying /etc/rc.
o Improve line-wrapping of another comment for consistency.
2002-01-17 00:08:44 +00:00
rwatson
bedbb44330 Remove incorrect comments about the population of /etc: no attempt is
made to copy the NFS-mounted on to /tmp/etc, instead, it is populated
entirely from /conf/default, then overriden from /conf/IP.
2001-12-26 17:00:55 +00:00
bsd
3cc4938297 * Simplify the population of the /etc memory filesystem. To avoid
the null mount, we currently create a temporary mfs on /tmp, copy
    /etc to /tmp, then mount /etc as mfs and copy everything back from
    /tmp, then delete the /tmp mfs.

    The patch eliminates the temporary /tmp mfs and the subsequent
    copying and simply populates the /etc mfs by copying from
    /conf/default/etc.  This requires that /conf/default/etc contain a
    complete copy of all the /etc stuff instead of just overrides.  I
    don't think that is too much of an extra step in setting up a
    diskless environment.

  * Provide the ability to make /tmp a memory filesystem independent
    of /var.  This removes the requirement that /tmp be a symlink to
    /var/tmp and this makes the diskless code work with the default
    filesystem layout.  If a seperate /tmp memory filesystem is
    created, the 'tmpsize' environment variable is used to determine
    its size (default to 10 Meg).

  * Reduce diffs between the -current and -stable versions of these
    files to a bare minimum.  Only the definition of the shell
    function 'mount_md' is different.

Not Objected to by: -arch@, -small@

MFC after: 2 days
2001-05-09 15:13:51 +00:00
imp
fa79914eba Move to using md.
o create a simple wrapper function mount_md that makes it easy to
  move from mount_mfs.

# NOTE: you will need to MAKEDEV md[0123] in order for this to work.

Reviewed by: bsd, keichii
2001-04-25 05:46:40 +00:00
bsd
56674cdf8f Eliminate the null mount for /etc for diskless clients. 2001-04-20 23:10:11 +00:00
bsd
2ea2c1f6d8 Change the order in which /etc files are copied into place; copy
default first, then network-specific files, then host-specific files.
I think this was the original intent, as Matt indicated the previous
code appeared to be a bug.
2001-04-03 00:24:01 +00:00
obrien
6700db6a71 Add copyright notices. Other systems have been barrowing our /etc files
w/o giving any credit.
2000-10-08 19:20:36 +00:00
luigi
a924d4cf00 Cleanup diskless support in current, mostly aligning it to the one
in the 3.x branch. Also remove the dependency on /usr to find the
boot address/interface.
Mostly-submitted-abd-tested-by: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
2000-01-06 18:17:38 +00:00
peter
e3c81c54e1 Add/adjust some $FreeBSD$ tags.
Noted by:	Doug <Doug@gorean.org>
1999-09-13 17:09:08 +00:00
sheldonh
d8a93d30ec Apply a consistent style to most of the etc scripts. Particularly, use
case instead of test where appropriate, since case allows case is a sh
builtin and (as a side-effect) allows case-insensitivity.

Changes discussed on freebsd-hackers.

Submitted by:	Doug Barton <Doug@gorean.org>
1999-09-13 15:44:20 +00:00
sheldonh
8cec588c44 Style clean-up:
* All variables are now embraced: ${foo}

	* All comparisons against some value now take the form:
	  [ "${foo}" ? "value" ]
	  where ? is a comparison operator

	* All empty string tests now take the form:
	  [ -z "${foo}" ]

	* All non-empty string tests now take the form:
	  [ -n "${foo}" ]

Submitted by:	jkh
1999-08-25 16:01:45 +00:00
dillon
a99e9a02df Revamp rc.diskless. Split into rc.diskless1 and rc.diskless2. provide
more opportunities for overriding.  Clean up /etc/rc ( remove conf_dir,
    remove startup mount special cases, remove other special cases )
1999-02-09 17:17:18 +00:00