Home | History | Annotate | Download | only in init
History log of /src/sbin/init/Makefile
RevisionDateAuthorComments
 1.41  03-Jun-2023  lukem bsd.own.mk: rename GCC_NO_* to CC_WNO_*

Rename compiler-warning-disable variables from
GCC_NO_warning
to
CC_WNO_warning
where warning is the full warning name as used by the compiler.

GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH

Using the convention CC_compilerflag, where compilerflag
is based on the full compiler flag name.
 1.40  13-Oct-2019  mrg introduce some common variables for use in GCC warning disables:

GCC_NO_FORMAT_TRUNCATION -Wno-format-truncation (GCC 7/8)
GCC_NO_STRINGOP_TRUNCATION -Wno-stringop-truncation (GCC 8)
GCC_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow (GCC 8)
GCC_NO_CAST_FUNCTION_TYPE -Wno-cast-function-type (GCC 8)

use these to turn off warnings for most GCC-8 complaints. many
of these are false positives, most of the real bugs are already
commited, or are yet to come.


we plan to introduce versions of (some?) of these that use the
"-Wno-error=" form, which still displays the warnings but does
not make it an error, and all of the above will be re-considered
as either being "fix me" (warning still displayed) or "warning
is wrong."
 1.39  15-Jul-2013  khorben branches: 1.39.28;
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).
 1.38  11-Apr-2009  lukem branches: 1.38.6; 1.38.12;
Enable WARNS=4 by default except for:
dump dump_lfs fsck_ffs fsck_lfs fsdb mount_smbfs
newfs_ext2fs newfs_lfs resize_lfs setkey
 1.37  04-Feb-2007  christos branches: 1.37.12; 1.37.22;
warns=4
 1.36  18-Apr-2006  salo 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/ ).
 1.35  13-Jan-2005  lukem Revert previous revert; we don't need RESCUEDIR handling here now
<bsd.prog.mk> has it.
 1.34  10-Jan-2005  lukem 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...
 1.33  19-Aug-2004  christos Remove RESCUEDIR hack; it will be done centrally.
 1.32  26-May-2003  lukem 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)
 1.31  24-Aug-2002  lukem if RESCUEDIR is defined, use ${RESCUEDIR}/sh as _PATH_ALTSHELL
 1.30  24-Aug-2002  lukem now that we have working rescue tools, there's no need to force
LDSTATIC=-static for init(8) on people who want LDSTATIC=""
 1.29  02-Aug-2002  christos fix typos that prevented us from cleaning utmpx. Noted by wiz
 1.28  27-Jul-2002  christos add utmpx/wtmpx processing support.
 1.27  03-Feb-2002  lukem .ifdef SMALLPROG, compile without ALTSHELL and SECURE support
 1.26  21-Jan-2002  abs 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.
 1.25  28-Dec-2001  lukem * 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
 1.24  18-Oct-2000  simonb Remove INSTALLFLAGS=-fschg, as per change to usr.bin/ssh/ssh/Makefile.
 1.23  19-Mar-2000  soren branches: 1.23.4;
The mode 0544 workaround has not been necessary since the first BSDi import.
 1.22  11-Oct-1997  mycroft Make these executables world-readable.
 1.21  10-Oct-1997  christos CFLAGS->CPPFLAGS
 1.20  15-Sep-1997  lukem define WARNS?=1 for all of sbin/*
 1.19  30-Jul-1997  christos Support root on msdos filesystems by creating an mfs on /dev and running
MAKEDEV all to create the devices. Idea by Chris Demetriou.
 1.18  19-Jul-1997  perry add WARN=1
 1.17  19-Jul-1997  perry rename DEBUGSHELL to ALTSHELL
 1.16  18-Mar-1995  cgd convert to new RCS Id conventions; reduce my headache
 1.15  22-Dec-1994  cgd specify man pages the new way.
 1.14  11-Jun-1994  mycroft Fix up RCS ids.
 1.13  10-Jun-1994  pk Update to 4.4-lite (basically some copyright changes) + local changes.
 1.12  07-Oct-1993  cgd always use libcrypt
 1.11  07-Aug-1993  cgd merge in changes from netbsd-0-9-ALPHA2
 1.10  01-Aug-1993  mycroft Add RCS identifiers.
 1.9  08-Jul-1993  cgd branches: 1.9.2;
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.
 1.8  18-Jun-1993  cgd 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.
 1.7  18-Jun-1993  cgd incorporate bsdi's version of init; this is their version, w/no local changes
other than adding Id strings as appropriate
 1.6  10-Jun-1993  cgd add preliminary support for devfs (e.g. MOUNT_DEVFS #define, etc.)
 1.5  26-Apr-1993  cgd changed to use new libcrypt scheme.
 1.4  23-Mar-1993  cgd added secure init patch
 1.3  23-Mar-1993  cgd changed "Id" to "Header" for rcsids
 1.2  22-Mar-1993  cgd added rcs ids to all files
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  13-Jun-1994  mycroft Import 4.4-Lite version.
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.9.2.1  30-Jul-1993  cgd get rid of -DDEBUGSHELL
 1.23.4.2  13-Feb-2002  he Pull up revision 1.26 (requested by abs):
Add support to try to set up an MFS based /dev file system if
/dev/console is missing.
Here: enable recently pulled up code to init.c.
 1.23.4.1  18-Oct-2000  tv Pull up 1.24 [simonb]:
Remove INSTALLFLAGS=-fschg.
 1.37.22.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.37.12.1  29-Mar-2008  mjf - etc/devfsd.conf: Add some rules to give nodes like /dev/tty and
/dev/null better default modes, i.e. 0666.

- sbin/init: Run devfsd -s before going to multiuser.

- sys/arch: Provide arm32, i386, sparc with a mem_init() function to request
device nodes for /dev/null, /dev/zero, etc.

- sys/dev: Convert rnd, wd, agp, raid, cd, sd, wsdisplay, wskbd, wsmouse,
wsmux, tty, bpf, swap to devfs New World Order.

- sys/fs/devfs: Make the visibility attribute of device nodes configurable.
Also provide a function to mount a devfs on boot.

- sys/kern: Add a new boot flag, -n. This disables devfs support. Unless
the -n flag is specified the kernel will mount a devfs file
system on boot.
 1.38.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.38.6.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.39.28.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411

RSS XML Feed