Commit Graph

117 Commits

Author SHA1 Message Date
dsl 934b882096 Stop make wingeing when the crunchgen binary can't be located. 2005-11-10 21:29:37 +00:00
dsl 8b08a3fc64 We need the absolute path of the crunchgen binary in order to make the
generated makefile depend on the binary.
Needed for USE_TOOLS=no builds
2005-11-07 22:19:34 +00:00
dsl 0437903aaf The 'padded by' number displayed for multi-floppy images has been out by 8k
per floppy for a while.  (The rest of the sums are ok).
Change the 'padded' size to include all the space in the last 8k block
of the tar file.
Similarly if the image doesn't fit, report the exact amount of overflow.
2005-09-10 18:05:51 +00:00
dsl c7c436e94e Fix breakage from yesterday!
Don't pass crunchgen the name of its own binary as an extra argument.
(make must have silently done this when the extra argument was .PHONY)
2005-09-05 20:14:08 +00:00
dsl 0132bc8a19 Report the exact number of free bytes in the install floppy images. 2005-09-04 19:29:31 +00:00
dsl 3047ebb391 Make ${CRUNCHBIN}.mk depend on ${TOOL_CRUNCHGEN:[-1]} instead of .PHONY.
Recreating the makefile when the crunchgen program has changed is probably
adequate, and it allows a lot of later optimisations to still apply.
In particular:
- the final link for ramdiskbin
- the create of the embedded filesystem
- the inclusion of the ramdisk into the kernel
- compressing the kernel
Unless something else actually requires one of the above.
2005-09-04 19:00:40 +00:00
dsl 1ac6a7dc0f Tell pax to use 8k (not 10k) buffers when generating the tar archive
of 'boot' and 'netbsd'.
This makes it possible for the tar archive to end at the end of the 2.88M
floppy, instead of either 4k before, or 6k after.
Gives us a whole extra 4k.
The very observant might realise that we don't need the final 1024 bytes
of nulls written to the floppy either, so they could be deleted!
2005-09-03 20:34:28 +00:00
xtraeme 2d8aae0f85 Copy the Spanish language file into the ramdisk. 2005-08-27 15:42:56 +00:00
dbj b39ff22204 add "fsimage" phony target to rebuild image.
delete the ${WORKBUILT} tag on cleanfsimage so it
will get properly rebuilt
2005-06-27 19:10:32 +00:00
lukem 172fad8aab Support MDSET_POST; apply the operation to every image.
Implement MDSET_NOGZIP & MDSET_NOGZIP.${FILENAME}, to prevent the gzip
of the final image.  This is useful if that image has already been
munged & gzipped by MDSET_POST* or MDSET_SUFFIXES*.
2005-05-31 16:23:37 +00:00
dsl 306d28231b When a boot floppy overran, the reported excess size was 8k too big. 2005-03-04 16:01:58 +00:00
jmc d177a1d5bf Make the crunchgen generated makefile regen on each run 2005-02-10 16:03:34 +00:00
lukem 8fa2b6b361 Use
${MAKE} ${CRUNCHENV} ...
instead of
	${CRUNCHENV} ${MAKE} ...
so that CRUNCHENV overrides any user-provided command-line make(1) variables.

This fixes /rescue build problems for people who pass settings such
as MKKERBEROS=yes in via the make(1) command-line.
2005-01-19 01:18:59 +00:00
lukem 46123551a0 Only support SMALLPROG_INET6 if ${USE_INET6} != "no".
Part of PR 28994.
2005-01-18 12:30:21 +00:00
snj 619df63ccc Typo police: sytem -> system. 2004-09-22 21:24:07 +00:00
dsl 3d7f966def The code to pad floppies could sometimes overwrite the end of the kernel
(causing the decompress to generate random data).
I've changed it to pad using:
	dd if=xx.fs of=xx.fs conv=sync conv=notrunc bs=${floppysize}b count=1
which isn't subject to rounding errors!
This might be the fix for PR/25552
2004-06-12 18:39:53 +00:00
dsl 64d44bfc5f Remove the .comment and .ident sections when stripping kernels.
Saves about 4k from all the install floppies
2004-06-06 21:44:52 +00:00
lukem 35a3ccf1af Remove "./dev type=dir" entry from generated devices.spec, as it
causes the ownership of ${.OBJDIR}/work/dev to be used in the image
instead of that from the earlier entry in work.spec.
2004-05-04 03:02:17 +00:00
lukem 6d46b6145e MAKEVERBOSE support 2004-05-04 02:52:05 +00:00
dsl da913444c4 Add /targetroot (used by sysinst) so that sysinst can work on sparc (etc)
systems booted off a readonly miniroot.
2004-04-29 19:44:11 +00:00
dsl 8fc0ae8d08 Add French, German and Polish sysinstmsgs to all ramdisks that include sysinst
expect those where at least one of the language variants isn't built,
and those that are known not to have enough space (i386 ramdisk-tiny).
Files added to list.sysinst, list.sysinst.en is used when these files
cannot be added.
This might hit a size limit on another build - but I have no (sane) way of
testing it.
2004-04-18 20:04:26 +00:00
he e49da78c8f Add a list of files which determine the kernel version as
DISTRIBVERDEP in Makefile.distrib, and make both sysinst and
distribution notes use that information so that they rebuild
if the kernel version changes.

Distribution notes didn't have this before, sysinst had a private
(now outdated, since sys/sys/param.h now determines version) copy
of this.
2004-02-02 18:43:39 +00:00
dsl 23c3ad7622 Run mdsetimage on a temporary copy of the kernel, then we retry if/when
it fails.
2004-01-17 20:17:44 +00:00
lukem ea188c8e82 When using "MAKEDEV -s" to generate a specfile, rewrite the paths from
"./" -> "./dev/".  Noted by Tetsuya Isaki <isaki@NetBSD.org> in private mail.
2004-01-01 14:34:24 +00:00
lukem fcdfdbba5c Rework MAKEDEV:
*	Use "mknod -F netbsd -r" to create nodes, instead of
	"rm ; mknod; chmod; chown".
	This means permissions & ownership of existing nodes will
	not be changed.
	This is up to 30% faster when populating an empty /dev,
	and nearly 2x faster when re-running on an existing /dev.

    *	New options:
    	-f		force change of permission & ownership of existing
			devices
    	-m mknod	override name/path of mknod program
			(which defaults to $TOOL_MKNOD, then "mknod").
	-s		generate mtree(8) specfile instead of creating devices

    *	Remove /usr/etc from $PATH; not needed anymore.

    *	Provide functions to create devices & directories:
	    mkdev name [b|c] major minor [mode{=600} [gid{=0} [uid{=0}]]]
		create device node `name' with the appropriate permissions
	    lndev src target
		create a symlink from src to target
	    makedir dir mode
		create directory with appropriate mode

    *	UIDs and GIDs are hardcoded in at MAKEDEV generation time.
	(Unfortunately there's not a simple way of determining a GID
	a la "id -n user" for determining a UID).

This was tested by generating MAKEDEV for each MACHINE,MACHINE_ARCH
combination and comparing the results of "MAKEDEV all" from the
previous version to the new one.
(This testing actually highlighted mistakes in the previous configuration!)


Simplify distrib/common/Makefile.makedev to use "MAKEDEV -s"
2003-12-21 17:37:26 +00:00
matt 9ada790a26 s/awk/${AWK} 2003-11-14 06:00:34 +00:00
lukem ed9fb819aa When calculating the number of disks, take into account that every
floppy needs an 8KB tar volume header, not just the first.
Fixes size calculation bug reported by Frank van der Linden.
2003-11-09 23:44:48 +00:00
lukem f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
lukem 20534790da Update for MAKEDEV.tmpl changes; use <.OBJDIR-of-etc>/MAKEDEV
instead of etc/etc.${MACHINE}/MAKEDEV
2003-10-25 04:29:24 +00:00
lukem 8be7e53735 Add MDSET_NOSTRIP and MDSET_NOSYMBOLS; global versions of the "per ${FILE}"
equivalents that currently exist.
2003-10-24 00:11:24 +00:00
lukem d7e5203947 Allow ${CRUNCHBIN} to be optional by defaulting to "." when doing the
"${.OODATE}" check.
Problem noticed in a build that uses Makefile.image but not Makefile.crunch.
2003-10-03 02:46:52 +00:00
lukem 94830d866e revert previous accidental commit (just whitespace tyop in this case) 2003-07-10 10:36:03 +00:00
lukem 001c68bd94 Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO".  The new variables are:
	TOOL_ASN1_COMPILE  TOOL_CAP_MKDB  TOOL_CAT  TOOL_CKSUM  TOOL_COMPILE_ET
	TOOL_CONFIG  TOOL_CRUNCHGEN  TOOL_CTAGS  TOOL_DB  TOOL_EQN  TOOL_FGEN
	TOOL_GENCAT  TOOL_GROFF  TOOL_HEXDUMP  TOOL_INDXBIB  TOOL_INSTALLBOOT
	TOOL_INSTALL_INFO  TOOL_M4  TOOL_MAKEFS  TOOL_MAKEINFO  TOOL_MAKEWHATIS
	TOOL_MDSETIMAGE  TOOL_MENUC  TOOL_MKCSMAPPER  TOOL_MKESDB
	TOOL_MKLOCALE  TOOL_MKMAGIC  TOOL_MKTEMP  TOOL_MSGC  TOOL_MTREE
	TOOL_PAX  TOOL_PIC  TOOL_PREPMKBOOTIMAGE  TOOL_PWD_MKDB  TOOL_REFER
	TOOL_ROFF_ASCII  TOOL_ROFF_DVI  TOOL_ROFF_HTML  TOOL_ROFF_PS
	TOOL_ROFF_RAW  TOOL_RPCGEN  TOOL_SOELIM  TOOL_SUNLABEL  TOOL_TBL
	TOOL_UUDECODE  TOOL_VGRIND  TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
	TOOL_FOO?=	foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
	TOOL_FOO=	${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
2003-07-10 10:33:58 +00:00
lukem 20b9064eac Don't force "make -j 1" any more, since David Laight appears to have
fixed the parallel-make issues in crunchgen generated Makefiles.
2003-05-18 11:25:33 +00:00
dsl adb2f69a2f Avoid building the xxx.mk file (etc) multiple times in a parralel build.
Change name of target build from xxx.mk from 'all' to xxx.crunched to avoid
picking up baggage from bsd.own.mk and bsd.prog.mk.
Fixes toolchain/21563 (with new crunchgen binary)
2003-05-15 17:52:32 +00:00
dsl 689ce9ee7c Force ramdiskbin.mk to be run to update the crunched binary.
Explicitly check times on built targets so to stop make rebuilding
the later targets.
nbmake in src/distrib/i386/floppies/ramdisk-big (etc) will now
pick up changes to source files that make the crunched binary.
2003-05-09 12:20:04 +00:00
lukem 8c75c09c1b pull in <bsd.sys.mk> for HOST_SH 2003-05-09 09:06:14 +00:00
lukem 4989a7a8c6 Don't bother building var/db/obsolete/* files for the install media;
this stuff is in the base.tgz distribution, and it's better to have
postinstall fix it up than use the (dodgy) code in sysinst.
2003-05-09 01:45:08 +00:00
christos 3d24ae7c3d Use ${HOST_SH} 2003-05-08 13:05:01 +00:00
christos 395450a2eb use ${HOST_SH} 2003-05-08 13:04:13 +00:00
fvdl 42614ed3f3 Add support for UFS2. UFS2 is an enhanced FFS, adding support for
64 bit block pointers, extended attribute storage, and a few
other things.

This commit does not yet include the code to manipulate the extended
storage (for e.g. ACLs), this will be done later.

Originally written by Kirk McKusick and Network Associates Laboratories for
FreeBSD.
2003-04-02 10:39:19 +00:00
lukem 1b0869163c Add MAKE to PARSELISTENV, and specifically set MAKE=${MAKE} in
list.sysinst.
(Better fix to previous, but thanks to Warner for committing a
fix which then prodded me to improve it :)
2003-03-25 23:07:29 +00:00
imp 7bd540a729 Fix cross building case where the host is not a NetBSD host. We need
to set MAKE for the subshell that's used to populate the work tree.
It needs to be the the correct make (in the cross build case: nbmake +
args) so that when makeobsolete is run it can pickup this value.
Otherwise makeobsolete defaults to the host's make is used which might
not understand some of NetBSD make's constructs.

This fixes, mostly, the build of NetBSD/hpcmips on a FreeBSD-current
system.
2003-03-25 18:37:59 +00:00
lukem 664f01402c add multiple-include protection.
clean up some comments.
2003-03-11 07:18:38 +00:00
lukem 00a162d001 Augment the `KERNEL' field of MDSETIMAGES; if it contains a `/'
character, use that as the path to the kernel to use, rather than
using the default of "${KERNOBJDIR}/${KERNEL}/netbsd".
(Using this feature means that FILENAME == "-" isn't useful. such is life...)
2003-03-11 05:14:58 +00:00
lukem 5c40b88236 a minor heads-up. (if i got bit by this, someone else might) 2003-03-10 23:42:45 +00:00
lukem 43dbccb5e3 Script to make a file system image (usually .iso) bootable by Sun
computers, by appending appropriate boot file systems to the image and
then creating a disklabel using sunlabel(8).

Inspired by distrib/utils/mksunbootcd, except that this is a shell script
instead of being a C program that would have needed to become a host tool.
2003-03-07 09:36:02 +00:00
lukem 85794c7b93 improve calculation to determine number of disks required 2003-03-07 09:33:53 +00:00
dsl 9817668a75 Report free space for unpadded floppies
(approved by christos)
2003-03-03 14:20:13 +00:00
lukem 4f6381b784 all:
Use /var/db/obsolete instead of /etc/obsolete

etc/Makefile:
	Create separate target "install-obsolete-files" to populate
	/var/db/obsolete, instead of using "install-etc-files".

Makefile:
	Add do-obsolete target, to run "cd etc && make install-obsolete-files",
	and add this to BUILDTARGETS.
	This moves the "obsolete files" creation from "distribution" to "build".


Per discussion with Andrew Brown.
2003-02-22 03:20:45 +00:00