Commit Graph

39 Commits

Author SHA1 Message Date
khorben 257dd81b98 Let init be built easily with the CHROOT capability enabled.
This allows the ramdisk used in the incoming support for full-disk encryption to contain crunched binaries (much like sysinst) while booting a regular system (unlike sysinst).
2013-07-15 00:18:03 +00:00
lukem ef685eeea9 Enable WARNS=4 by default except for:
dump  dump_lfs  fsck_ffs  fsck_lfs  fsdb  mount_smbfs
	newfs_ext2fs  newfs_lfs  resize_lfs  setkey
2009-04-11 07:58:11 +00:00
christos 847a4f4ee5 warns=4 2007-02-04 20:54:02 +00:00
salo b0b7590bc7 Add support for running multi-user in a chroot() environment.
How it works:

- after successful execution of /etc/rc, check the value of "init.root"
  sysctl node, if it's different than "/", chroot() into its value and run
  /etc/rc inside the chroot(),

- in single-user, return back to the original / file system.

Allows running with / file system on e.g., cgd(4), vnd(4) or ccd(4) volumes.

Idea first discussed with Matt Thomas, implemented by Jachym Holecek <freza
(at) liberouter.org> with some nitpicks by me.  Successfully used by me for
almost a year with / on a cgd(4) volume (for more information about the setup
check ftp://ftp.NetBSD.org/pub/NetBSD/misc/salo/init-chroot/ ).
2006-04-18 11:40:26 +00:00
lukem 4dba64f5d3 Revert previous revert; we don't need RESCUEDIR handling here now
<bsd.prog.mk> has it.
2005-01-13 03:21:59 +00:00
lukem 33349ca906 Revert previous; init(8) still needs special case handling for RESCUEDIR
otherwise the path to mount_mfs(8) and the standard $PATH will be wrong...
2005-01-10 10:59:49 +00:00
christos 684fe4faed Remove RESCUEDIR hack; it will be done centrally. 2004-08-19 22:21:51 +00:00
lukem 35c2bddeea If RESCUEDIR is defined, use that as an alternate path to sh and mount_mfs,
and prepend RESCUEDIR to the default PATH.
(This replaces my _PATH_ALTSHELL mods from rev 1.52 of init.c)
2003-05-26 09:34:55 +00:00
lukem 6aeb2c119f if RESCUEDIR is defined, use ${RESCUEDIR}/sh as _PATH_ALTSHELL 2002-08-24 01:05:14 +00:00
lukem a14ac7834b now that we have working rescue tools, there's no need to force
LDSTATIC=-static for init(8) on people who want LDSTATIC=""
2002-08-24 01:00:18 +00:00
christos 0f38e42a7a fix typos that prevented us from cleaning utmpx. Noted by wiz 2002-08-02 14:03:22 +00:00
christos 06596adfbd add utmpx/wtmpx processing support. 2002-07-27 23:49:47 +00:00
lukem b7677f4e0e .ifdef SMALLPROG, compile without ALTSHELL and SECURE support 2002-02-03 02:40:14 +00:00
abs c48a08886b Rename MSDOSFS_ROOT to MFS_DEV_IF_NO_CONSOLE, and rework:
- Always attempt mfs dev if missing /dev/console
    - Save and run both MAKEDEV and MAKEDEV.local
    - After creating the mfs dev, mknod() and freopen() /dev/console.
    - If MAKEDEV is missing do not fail out early, but still create the mfs,
      /dev/console.
    - If we hit any errors fail out to single user.
This change _only_ affects systems booting without /dev/console.
2002-01-21 15:57:40 +00:00
lukem efcc9a4c9d * Add user-controlled mk.conf variables
- SHLIBDIR	Location to install shared libraries if ${USE_SHLIBDIR}
			is "yes".  Defaults to "/usr/lib".

	- USE_SHLIBDIR	If "yes", install shared libraries in ${SHLIBDIR}
			instead of ${LIBDIR}.  Defaults to "no".
			Sets ${_LIBSODIR} to the appropriate value.
			This may be set by individual Makefiles as well.

	- SHLINKDIR	Location of shared linker.  Defaults to "/usr/libexec".
			If != "/usr/libexec", change the dynamic-linker
			encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
	libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
	libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
  to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

  1.)	If nothing is set or changed, there is no change from the
	current behaviour:
		- Static /bin, /sbin, and bits of /usr/*
		- Dynamic rest
		- Shared linker is /usr/libexec/ld*so

  2.)	If the following make variables are set:
		LDSTATIC=
		SHLINKDIR=/lib
		SHLIBDIR=/lib
	Then the behaviour becomes:
		- Dynamic tools
		- .so libraries used by /bin and /sbin are installed to /lib,
		  with symlinks from /usr/lib/lib*so to -> /lib/lib*so
		  where appropriate
		- Shared linker is /lib/ld*so

  3.)	As per 2.), but add the following variable:
		USE_SHLIBDIR=yes
	This forces all .so's to be instaleld in /lib (with compat
	symlinks), not just those tagged by their Makefiles to be.
	Again, compat symlinks are installed
2001-12-28 01:32:37 +00:00
simonb 9b22175a26 Remove INSTALLFLAGS=-fschg, as per change to usr.bin/ssh/ssh/Makefile. 2000-10-18 00:24:18 +00:00
soren b742cb0638 The mode 0544 workaround has not been necessary since the first BSDi import. 2000-03-19 23:22:55 +00:00
mycroft af65e81265 Make these executables world-readable. 1997-10-11 11:05:28 +00:00
christos e230a48b57 CFLAGS->CPPFLAGS 1997-10-10 19:47:50 +00:00
lukem 2ddc10a0ab define WARNS?=1 for all of sbin/* 1997-09-15 12:45:47 +00:00
christos 374857e89f Support root on msdos filesystems by creating an mfs on /dev and running
MAKEDEV all to create the devices. Idea by Chris Demetriou.
1997-07-30 03:43:19 +00:00
perry 3f2367bf01 add WARN=1 1997-07-19 19:00:58 +00:00
perry 2cb2701a4e rename DEBUGSHELL to ALTSHELL 1997-07-19 18:12:47 +00:00
cgd 0114e805ce convert to new RCS Id conventions; reduce my headache 1995-03-18 14:54:19 +00:00
cgd 06e2955ff1 specify man pages the new way. 1994-12-22 10:44:04 +00:00
mycroft c250a07889 Fix up RCS ids. 1994-06-11 07:50:42 +00:00
pk ed2fab3b01 Update to 4.4-lite (basically some copyright changes) + local changes. 1994-06-10 18:06:09 +00:00
cgd 4b30c543a0 always use libcrypt 1993-10-07 02:16:39 +00:00
cgd f08e3f34a5 merge in changes from netbsd-0-9-ALPHA2 1993-08-07 07:42:13 +00:00
mycroft cda4f8f6ee Add RCS identifiers. 1993-08-01 05:37:30 +00:00
cgd 6fe7777e0e get rid of the bogus changes i made to init. note that /etc/ttys
*must* have an entry for "console", though it should be "off",
prolly.
1993-07-08 01:47:31 +00:00
cgd c15a7d06cd a couple of local mods; always ask for shell in single user, use -lcrypt,
use root's shell rather that /bin/sh when going to single-user, etc.
1993-06-18 21:16:25 +00:00
cgd a63ff5217e incorporate bsdi's version of init; this is their version, w/no local changes
other than adding Id strings as appropriate
1993-06-18 20:51:45 +00:00
cgd b907fbcbb9 add preliminary support for devfs (e.g. MOUNT_DEVFS #define, etc.) 1993-06-10 01:02:59 +00:00
cgd 6ebc3bcac9 changed to use new libcrypt scheme. 1993-04-26 14:54:38 +00:00
cgd adfcb79c96 added secure init patch 1993-03-23 08:17:35 +00:00
cgd 06be60083d changed "Id" to "Header" for rcsids 1993-03-23 00:22:59 +00:00
cgd 346aa5dd48 added rcs ids to all files 1993-03-22 08:04:00 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00