Commit Graph

51 Commits

Author SHA1 Message Date
Craig Rodrigues
69627a0de1 Add -s option to config.
This option allows for specifying the directory to use as the location for
kernel source files. This option was ported from NetBSD.

GitHub Pull Request:   https://github.com/freebsd/freebsd/pull/18
Submitted by:          Steve Kiernan <stevek@juniper.net>, Simon Gerraty <sjg@juniper.net>
Obtained from:         Juniper Networks, Inc.
Reviewed by:           imp
Differential Revision: https://reviews.freebsd.org/D1722
Relnotes:              yes
2015-01-29 22:49:30 +00:00
Joel Dahl
f8d7aff9dd mdoc: kill EOL whitespace. 2014-07-29 19:49:27 +00:00
Alan Somers
ae0944614d Fix kern/187712: config(8) does not respect KERNCONFDIR.
The impact of this bug is that you cannot build a kernel if both of the
following are true:
1) The kernel config file is in a non-default location
2) The kernel config file uses the "include" statement from config(5).

usr.sbin/config/main.c
usr.sbin/config/config.8
usr.sbin/config/config.h
usr.sbin/config/lang.l
	Added a "-I path" option to config(8).  By analogy to cc(1), it adds
	an extra path in which the "include" statement will search for
	files.

Makefile.inc1
	Pass "-I ${KERNCONFDIR}" to config(8).

PR:		kern/187712
Reviewed by:	will, imp (previous version)
MFC after:	3 weeks
Sponsored by:	Spectra Logic Corporation
2014-03-20 17:30:09 +00:00
Eitan Adler
50d675f7a9 Remove trailing whitespace per mdoc lint warning
Disussed with:	gavin
No objection from:	doc
Approved by:	joel
MFC after:	3 days
2012-03-29 05:02:12 +00:00
Nathan Whitehorn
9b047d4a9a Enhance config to handle MACHINEs with multiple architectures:
- Passing -m to config will now print the MACHINE and MACHINE_ARCH
  given in the passed kernel configuration file and then exit.
- If an option is defined in options.MACHINE with the same name as the
  architecture of the kernel being configured, that option will be
  considered set. This allows conditional compilation based on CPU
  architecture.

Config version is now 600010.

Reviewed by:	imp
2010-07-13 04:08:08 +00:00
Warner Losh
50a4596585 Delete commented out ancient history. 2009-01-26 21:45:33 +00:00
Wojciech A. Koszek
744b947ef8 Improve INCLUDE_CONFIG_FILE support.
This change will let us to have full configuration of a running kernel
available in sysctl:

	sysctl -b kern.conftxt

The same configuration is also contained within the kernel image. It can be
obtained with:

	config -x <kernelfile>

Current functionality lets you to quickly recover kernel configuration, by
simply redirecting output from commands presented above and starting kernel
build procedure. "include" statements are also honored, which means options
and devices from included files are also included.

Please note that comments from configuration files are not preserved by
default. In order to preserve them, you can use -C flag for config(8). This
will bring configuration file and included files literally; however,
redirection to a file no longer works directly.

This commit was followed by discussion, that took place on freebsd-current@.
For more details, look here:

	http://lists.freebsd.org/pipermail/freebsd-current/2007-March/069994.html
	http://lists.freebsd.org/pipermail/freebsd-current/2007-May/071844.html

Development of this patch took place in Perforce, hierarchy:

	//depot/user/wkoszek/wkoszek_kconftxt/

Support from:	freebsd-current@ (links above)
Reviewed by:	imp@
Approved by:	imp@
2007-05-12 19:38:18 +00:00
Ruslan Ermilov
fffa30fb6d Comment out the first paragraph; while it tells the true (we're using
the old BSD config(8) utility in FreeBSD), it does not look good.

PR:		docs/100328
2006-10-21 20:09:51 +00:00
David E. O'Brien
71d8a448ac Add an option to tell what version of config(8) this is. 2005-08-10 06:36:44 +00:00
Ruslan Ermilov
59a3c79da6 Sort sections. 2005-01-18 20:02:45 +00:00
Ruslan Ermilov
fff666a6f8 The ioconf.c is no longer generated.
Submitted by:	Craig Rodrigues
2004-12-16 09:52:41 +00:00
Warner Losh
23717fc46a Per letter dated July 22, 1999, delete clause 3 from code directly
from Berkeley.
2004-08-07 04:19:37 +00:00
Simon L. B. Nielsen
3b5e70922f Add a reference to config(5) in the SEE ALSO section.
Suggested by:	dcs
Approved by:	ceri (mentor)
2003-08-06 21:41:35 +00:00
Christian Brueffer
c2f1217b0c Grammar fix
PR:		51164
Submitted by:	Jeff Ito <jeffi@rcn.com>
MFC after:	3 days
2003-04-20 13:11:11 +00:00
Ceri Davies
7f373b5b93 Bring the suggested command for extracting a configuration file from the
kernel into line with that suggested in LINT.

PR:		bin/48157
Submitted by:	naddy
MFC After:	4.8
2003-02-18 21:04:55 +00:00
Ruslan Ermilov
8d5d039f80 Uniformly refer to a file system as "file system".
Approved by:	re
2002-12-12 17:26:04 +00:00
Ruslan Ermilov
a654c53e16 mdoc(7) police: Removed redundant .Ns calls. 2002-08-13 16:07:28 +00:00
Philippe Charnier
490d5836b5 The .Nm utility 2002-07-14 14:47:15 +00:00
Tom Rhodes
67c8020f12 Consistancy check: s/file system/filesystem/g 2002-05-16 02:28:39 +00:00
Ruslan Ermilov
66d4a748cf mdoc(7) police:
- Bump document date.
- Remove hard sentence breaks.
- Fix markup.
2001-10-26 11:16:18 +00:00
Ruslan Ermilov
753d686d34 mdoc(7) police: s/BSD/.Bx/ where appropriate. 2001-08-14 10:01:54 +00:00
Dima Dorfman
f247324df7 Remove whitespace at EOL. 2001-07-15 08:06:20 +00:00
Ruslan Ermilov
a4c37c816b mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
Warner Losh
b0fa8b5b3b Bring FILES section up to date.
submitted by: Mark Peek <mark-ml@whistle.com>
2001-07-04 18:48:50 +00:00
Warner Losh
971470c36c Move kernel compile directory from sys/compile/FOO to
sys/compile/${MACHINE}/FOO.

Reviewed by: obrien, peter and the USENIX terminal room secret kernel cabal
2001-06-30 06:28:12 +00:00
Peter Wemm
b8e39fd14a Clean up some obsolete stuff. config -r has not been needed since around
FreeBSD 3.x or so when the 'make depend' picked up the opt_foo.h files.
Convert warnings into actual errors in the hope that buildkernel users
will pay more attention. :-(
2001-01-22 07:03:06 +00:00
Ben Smithurst
1cb88f4274 .Nm Config -> .Nm, there is no such program "Config" in FreeBSD.
PR:		23404
Submitted by:	Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2000-12-11 10:14:58 +00:00
Ruslan Ermilov
e97407b4f2 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
Ruslan Ermilov
b5c508fba3 Use Fx macro wherever possible. 2000-11-14 11:20:58 +00:00
Ruslan Ermilov
726b61ab5f Avoid use of direct troff requests in mdoc(7) manual pages. 2000-11-10 17:46:15 +00:00
Sheldon Hearn
f2e366a105 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 14:09:25 +00:00
Philippe Charnier
d67724c7c9 Use Ns and Sx. -current is 4 not 3. 2000-01-23 20:16:21 +00:00
Peter Wemm
9414269597 Apply the axe to some more cruft in config(8). In particular:
- redo the "at" configuration system so that it just syntax checks
  to make sure the device you're configuring something "at" appears to
  exist.  Nuke a bunch of complexity that was responsible for creating
  "clones" of wildcard devices and some wierd stuff in a few places
  including the scbus config tables etc.
- merge "controller" and "device" - there is no difference as far as
  the kernel is concernend, it's just something there to make life
  difficult for config file writers.  "controller" is now an alias for
  "device".
- emit full scsi config into the resource tables.  We could trivially
  change cam to use that rather than it's own "special" table for wiring
  and static configuration.  ATA could use this too for static wiring.
- try and emulate some of the quirks of the old system where it made
  sense.  Some were too strange though and I'd be very suprised if they
  were features and not outright bugs.  nexus handling is still strange.
  One thing in particular is that some of the wierd entries in the
  newbus devtables is now gone as it was a quirk side effect of the
  wildcard/question-mark cloning above.

GENERIC and LINT still build etc.
2000-01-08 15:57:22 +00:00
Marcel Moolenaar
c1454d67ec Add option "-d destdir" which instructs config to use another output
directory than the default one. If the option is not given, then the
output of config is exactly as before. Only when an alternate output
directory has been specified will config modify its behavior.

Additional changed:
o  Remove the now conflicting and unused NODEV define. It
   conflicts with NODEV in sys/param.h.
o  Rename the now conflicting MACHINE token to ARCH. It
   conflicts with MACHINE in sys/param.h.
o  Fix some easy style bugs.
o  Fix some easy grammar bugs in the manpage.

Approved by: peter, archie
1999-10-30 10:55:48 +00:00
Peter Wemm
1b00e6b51a Zap references to 'major' token, it's not used.
Zap references to devices.i386 - it's not used. (neither is devices.pc98
or devices.alpha)
1999-10-08 06:20:43 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Chris Costello
f437b38cf7 Fix a bunch of broken cross-references 1999-08-18 05:55:22 +00:00
Nik Clayton
414a35e60a Add $Id$, to make it simpler for members of the translation teams to
track.

The Id line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:12:29 +00:00
Greg Lehey
4357ca882d Back out default debug kernel. The flags revert to historical behaviour.
Requested-by:	ache
		bde
		dg

Modify targets for debug kernels:  when -g was specified, make will
now build a debug kernel called kernel.debug, and create a stripped
version called kernel at the same time.  The two targets install and
install.debug are otherwise unchanged.

Requested-by:	dillon

Update man page accordingly.
1999-04-11 03:40:11 +00:00
Andrey A. Chernov
fb6a9d37a0 add -s to synopsis 1999-04-10 01:56:20 +00:00
Greg Lehey
84676b86e6 1. Modify config to issue different code for debugging.
2.  Config complains if you use -g:

    Debugging is enabled by default, there is no ned to specify the -g option

3.  Config warns you if you don't use -s:

    Building kernel with full debugging symbols.  Do
    "config -s BSD" for historic partial symbolic support.
    To install the debugging kernel, do make install.debug

    (BSD was the name of the config file I used; I print out the same
    name).

4.  Modify Makefile.i386, Makefile.alpha, Makefile.pc98 and config to
    work if a kernel name other than 'kernel' is specified.  This is
    not absolutely necessary, but useful, and it was relatively easy.
    I now have a kernel called /crapshit :-)

5.  Modify Makefile.i386, Makefile.alpha, Makefile.pc98 "clean" target
    to remove both the debug and normal kernel.

6.  Modify all to install the stripped kernel by default and the debug
    kernel if you enter "make install.debug".

7.  Update version number of Makefiles and config.
1999-04-07 09:42:29 +00:00
Eivind Eklund
b272cc1e22 Make '-n' the default, and introduce a new flag '-r' to get old
behaviour.  Also indicate which option(s) are unknown if there are any
old-style options.
1998-02-18 04:15:04 +00:00
Philippe Charnier
d58316915f Use err(3), add usage(). -Wall clean. 1997-09-15 06:37:10 +00:00
Bruce Evans
3ec03428c3 Don't say that swapping is configured by config. 1997-09-07 10:35:17 +00:00
Jordan K. Hubbard
43b74d6191 Bring back the `config file in the kernel' feature from the 1.x days. This
is conditionalized by the INCLUDE_CONFIG_FILE option in your kernel config
file and is not turned on by default.

Submitted-By: Bill Pechter <pechter@shell.monmouth.com>
1996-06-08 23:27:16 +00:00
Bruce Evans
912e603778 Implemented non-statistical kernel profiling. This is based on
looking at a high resolution clock for each of the following events:
function call, function return, interrupt entry, interrupt exit,
and interesting branches.  The differences between the times of
these events are added at appropriate places in a ordinary histogram
(as if very fast statistical profiling sampled the pc at those
places) so that ordinary gprof can be used to analyze the times.

gmon.h:
Histogram counters need to be 4 bytes for microsecond resolutions.
They will need to be larger for the 586 clock.
The comments were vax-centric and wrong even on vaxes.  Does anyone
disagree?

gprof4.c:
The standard gprof should support counters of all integral sizes
and the size of the counter should be in the gmon header.  This
hack will do until then.  (Use gprof4 -u to examine the results
of non-statistical profiling.)

config/*:
Non-statistical profiling is configured with `config -pp'.
`config -p' still gives ordinary profiling.

kgmon/*:
Non-statistical profiling is enabled with `kgmon -B'.  `kgmon -b'
still enables ordinary profiling (and distables non-statistical
profiling) if non-statistical profiling is configured.
1995-12-29 15:30:05 +00:00
Jordan K. Hubbard
b5909509ee Make good on my promise to finally clean up the config clobbering.
If you invoke config with the `-n' flag or have NO_CONFIG_CLOBBER in
your environment, config will behave the same way it used to.  This is
now _documented_ as well.  Rip out all the CONFIG_DONT_CLOBBER cruft;
some of it wasn't even correct anyway.
1995-02-22 15:37:32 +00:00
Garrett Wollman
5ddd6b6a1a Fix Sharnoff complaint #121 (cross-reference to config.new which does not
exist on the i386 platform).
1995-01-14 20:25:02 +00:00
David Greenman
5ced58e474 Support for Bruce Evans' new dynamic interrupt support.
Submitted by:	Bruce Evans
1994-08-18 05:11:32 +00:00
Rodney W. Grimes
4eaaddb7ff Upgrade config to be compatible with our i386 port, pull in 95% of the
changes that have been made in FreeBSD 1.x, except for possibly the nfs
diskless support this is a completed config.
1994-05-26 13:24:02 +00:00