Commit Graph

879 Commits

Author SHA1 Message Date
jhb
d9e318f46b What should be the last major changes to the ISO layout:
- When a separate livefs ISO is used, change the name of the tree directory
  to be R/cdrom/livefs and change the name of the iso to livefs.iso rather
  than using disc2.  Instead, disc2 is now always going to be the packages
  disc regardless of the presence of a separate livefs which makes things
  simpler.
- Build a very simple disc2 tree under R/cdrom that just includes the
  cdrom.inf file that the packages need.  Also, build a disc2.iso image
  in the iso.1 target.  Disc 2's volume label is "FreeBSD_Packages".
- Retire CD_EXTRA_BITS and replace it with CD_PACKAGE_TREE.  CD_EXTRA_BITS
  was specific to disc1, but CD_PACKAGE_TREE instead should point to a
  directory that has disc1 and disc2 subdirectories that contain the extra
  bits for each image.
- Rename the bootonly volume label to "FreeBSD_bootonly" and just hardcode
  the disc1 and livefs volume names and iso suffixes.
2005-03-23 15:01:54 +00:00
avatar
ac3022cbb0 The live CD itself no longer has /stand since a long time ago; however,
there are still a couple of places under src/release such like fixit.profile
assumed that system binary can be retrivied from /stand(ex: boot with the
live CD and run "disklabel -e" in the fixit CD shell).

Since /stand is still functional in fixit floppy, and there are more than
one places in src/release needs to be updated(document for example) if we
want to make use of something like /mnt2/rescue/vi.  This commit try to
deal with aforementioned inconsistency with minimal effort by simply
create a symbolic link to /rescue.

Reviewed by:	jhb, sam (mentor)
2005-03-23 02:51:19 +00:00
jhb
d2bfc9bfca Add a new package splitting mechanism to replace print-cdrom-packages.sh.
The new system tries to be more automated so that there is less work for
the re's to do.  It also no longer uses a /usr/ports tree as its input,
but uses the generated package build including its INDEX file as its input.
It parses the INDEX file, determines which packages should go on which ISO
images, and then builds full-fledged trees of packages that can be added
as an argument to mkisofs along with the tree built by 'make release' to
build a full CD image.  The INDEX files in the populated trees are
generated with volume media number to make use of sysinstall's multiple
volume support so that the user is kindly prompted to insert the
appropriate disc for a package if it is not on the current disc.  There is
still some more tweaking to be done here, but this part needs to be
committed.  This stuff will all be used to prep the 5.4 release as well.

Tested by:	kensmith, others on re@
Reviewed by:	re
2005-03-21 19:17:48 +00:00
bmah
ee2d4fb50e When building release documentation for release builds or for
release documentation snapshots, force URLS_ABSOLUTE.  This
allows us to relocate HTML renderings anywhere without worrying
about breaking relative links to pages on the Web site.  This can
happen when we use &base; as part of a URL.

I wonder if we should do this for all release documentation builds,
but I'm not quite sure what all the cases are.
2005-03-20 17:59:17 +00:00
jhb
4878202727 Always use a separate disc for the livefs on ia64 since the merged image
doesn't fit on one disc.

Tested by:	marcel
X-MFC after:	30 seconds
2005-03-04 20:37:20 +00:00
jhb
57512eae36 Rework how we layout the CD/DVD ISO images for releases. Note that this
is only the first stage and does not yet handle packages (which will move
to their own disc(s)).
- By default, include the live filesystem on disc1, so that disc1 is now
  both an install disc and a fixit disc.  The images can still be split
  into two separate discs by specifying SEPARATE_LIVEFS=yes.
- Remove /usr/ports from the live filesystem disc as the merged images
  do not fit on even i386 otherwise.  Also, the merged image already
  contains a tarball of the entire ports tree, so /usr/ports was a
  duplicate anyway.
- Stop building port READMES for the release sinc they are no longer used
  (/usr/ports in the live filesystem was the last remaining user).
- Split cdrom.1 into three targets.  cdrom.1 builds the live filesystem
  image.  cdrom.2 builds the disc1 image.  Note that if SEPARATE_LIVEFS
  is not specified these both write to the same area.  cdrom.3 builds
  the bootonly image and the UFS miniroot.
- The various distribution directories are now in a <buildname>
  subdirectory of disc1 rather than being in the root so that the merged
  image's root is not quite as cluttered.
- The disc1 image is now called disc1.iso and we no longer build a
  miniinst.iso image.  If CD_EXTRA_BITS is defined, then the iso.1 target
  will simply include those bits in the disc1 image that it builds.

MFC after:	1 day
Requested by:	re (scottl, etc.)
2005-03-02 22:46:07 +00:00
jhb
f44acad97a Use the shiny, new top-level 'distribution' target when populating the
chroot area.  This fixes make release of HEAD on systems that have a
/usr/src with bsd.endian.mk and a matching /usr/obj but haven't installed
the world in /usr/obj and thus have no bsd.endian.mk /usr/share/mk.
2005-03-02 14:57:45 +00:00
ru
96e87c85bd Safer version of the chflags command. 2005-01-13 08:29:51 +00:00
ru
29be3c915e NOCLEAN -> NO_CLEAN
NOCLEANDIR -> NO_CLEANDIR
2004-12-21 12:21:26 +00:00
ru
8f62cc9941 NOHTML -> NO_HTML 2004-12-21 12:05:11 +00:00
ru
f6f8222630 NOGAMES -> NO_GAMES 2004-12-21 10:36:54 +00:00
ru
c1a820195c NOSHARED -> NO_SHARED 2004-12-21 09:59:45 +00:00
ru
74176cc161 NODOCCOMPRESS -> NO_DOCCOMPRESS
NOINFO -> NO_INFO
NOINFOCOMPRESS -> NO_INFOCOMPRESS
NOLINT -> NO_LINT
NOPIC -> NO_PIC
NOPROFILE -> NO_PROFILE
2004-12-21 09:33:47 +00:00
ru
cec60429bb Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
ru
d50fa43a38 Actually put hint.atkbd.0.flags="0x1" in /boot/device.hints on CD-ROMs.
(Brought to my attention by Brooks while sitting together on the floor
in "Kairo".)
2004-11-02 11:59:27 +00:00
ru
dec08d0a5b Pass WORLD_FLAGS down to the distributeworld target, so it's
possible to build releases with customizations such as with
NOPROFILE.

Problem found and fix tested by Roman Neuhauser.
2004-10-21 08:54:10 +00:00
kensmith
58eb051f4e It turns out the ia64 architecture's disc2 overflows if we put the
ports/ tree on it.  This makes putting the ports/ tree on disc2 at
all dependent on the NOPORTREADMES knob as well as the NOPORT knob
(at the moment NOPORT may be set while NOPORTREADMES isn't, that
should probably be revisited).  And it hardcodes ia64 for NOPORTREADMES
by request the ia64 release builder.

While here really get rid of the temp file 'make index' leaves behind.

Tested by:	i386 and ia64 'make release'
Reviewed by:	marcel
MFC after:	1 day
2004-09-30 22:59:47 +00:00
kensmith
cc56649e91 Fix-ups for a few problems reported with how ports are handled in the
release:

	- run 'make index' as part of release build, INDEX* files in
	  CVS no longer updated and likely to be removed from CVS soon
	- don't include README.html files in ports.tgz tarball because
	  they cause cvsup problems for users later
	- put a copy of /usr/ports on disc2 that does include README.html
	  files so users have access to them

Reviewed by:	ru (found one bug, several clean-up suggestions)
Tested by:	'make release'
MFC before:	BETA6 build (this isn't likely to be tested in -current
		anyway...)
2004-09-24 02:10:06 +00:00
bmah
07dc724ee0 Don't attempt to install the (obsolete and disconnected) Early Adopters
Guide on release media.
2004-09-17 21:46:17 +00:00
keramida
c8d8ad2a23 The early-adopter doesn't exist in HEAD anymore. The source is there,
but it's disconnected from the build.  Remove it from the architecture
independent release documentation set, because it breaks "make release"
when NODOC is undefined.

Reviewed by:	hrs
2004-09-17 19:28:46 +00:00
brooks
9eb29202ee Use "cp -f" instead of "rm" and "cp" to break the hardlink to
device.hints.

Submitted by:	ru
2004-09-15 05:14:21 +00:00
brooks
2f1bcffbef Add 'hint.atkbd.0.flags="0x1"' back to /boot/device.hints on the
install media on i386 and amd64.  While the current default is very
useful in server environments, the ability to use USB keyboards is
vastly more important then the ability to use PS/2 keyboards the admin
forgot to plug in during the install process.

PR:		kern/71443
2004-09-14 04:01:57 +00:00
ru
5448c0081f Correct a typo in a comment.
Submitted by:	Xin LI
2004-09-08 06:05:19 +00:00
ru
9199fa2a94 Document the following knobs: CD_EXTRA_BITS, EXTRA_SRC, HTTP_PROXY
and FTP_PROXY.  Removed bitrot (BOOT_CONFIG).

PR:		misc/71465
Submitted by:	Jon Passki <cykyc@yahoo.com>
2004-09-07 14:26:02 +00:00
obrien
1c315f997f Start the de-orbital burn of our previous FreeBSD version compat libs
living in usr/src.  We need to use them from ports to record dependencies.

Discussed with:	re(scottl)
2004-08-29 18:27:00 +00:00
ru
c38b893154 Fixed the shell arithmetic to work with 4.x /bin/sh.
Tested by:	make release of HEAD on 4.10-STABLE
2004-08-26 19:15:20 +00:00
ru
f1adbb6c14 Meet the new era of 6.0-CURRENT. 2004-08-19 10:34:59 +00:00
grehan
4f3bc0e658 PPC definitions required for 'make release'
Reviewed by:	ru
Submitted by:	ssouhlal
2004-08-18 11:11:46 +00:00
obrien
2eca8469bb Bring back 'NO_FLOPPIES', but as a user external knob.
The internal logic knob remains MAKE_FLOPPIES.

Suggested by:	ru
2004-08-16 10:25:43 +00:00
obrien
52ad97705f Follow 'MAKE_ISOS' in naming and s/FLOPPIES/MAKE_FLOPPIES/g
Submitted by:	ru
2004-08-16 08:56:50 +00:00
obrien
9feb070742 Accept the fact that floppies either aren't applicable or relevant on most
platforms.  So make the floppy logic easier to read.
2004-08-16 08:28:58 +00:00
marcel
f67e913347 Now that make(1) passes variables that were given on the command line
to subordinate make(1) invocations through MAKEFLAGS, we cannot add
CFLAGS onto the make(1) command line. This will conflict with the
individual makefiles wanting to append to it, which is not respected
when CFLAGS is given on the command line. Hence build breakage.
So, put CFLAGS in the environment instead.
2004-08-06 17:07:40 +00:00
ru
9cf4005018 Clean up after mechanical renumbering. 2004-08-06 10:04:06 +00:00
cperciva
e98b8f1445 Crypto is now part of the "base" distribution, and the old "release.3"
target no longer exists.  Renumber the old release.[4-9] targets to
release.[3-8].

Reminded by:	ru
2004-08-06 08:49:51 +00:00
cperciva
e629b37603 Join the 21st century: Cryptography is no longer an optional component
of releases.  The -DNOCRYPT build option still exists for anyone who
really wants to build non-cryptographic binaries, but the "crypto"
release distribution is now part of "base", and anyone installing from a
release will get cryptographic binaries.

Approved by:	re (scottl), markm
Discussed on:	freebsd-current, in late April 2004
2004-08-06 07:27:08 +00:00
jhb
f0c929d4ea Remove some serious foot-shooting potential from the release Makefile. For
some unknown reason, when LOCAL_PATCHES and LOCAL_SCRIPT were originally
added, they were silently ignored if the actual file did not exist.  As a
result, if one mistyped the pathname to a patch or script, then the release
silently succeeded.  However, it was not built with the desired changes and
no warning was given to inform the builder either.  This commit explicitly
checks to see that all of the defined patches and scripts exist up front
and bails if any of them do not exist.  I lost several hours of valuable
sleeping time this evening due to this "feature" so I've finally gone and
ripped out.  I've tripped over this in the past several other times as
well.

Glanced at by:	scottl
2004-07-15 04:52:57 +00:00
brian
29ce6f2a2a Die if make buildworld fails -- don't wait 'till installworld can't find
what it needs.
2004-06-10 19:33:26 +00:00
hrs
5aafe84060 Add URLS_ABSOLUTE=YES into the doc.1 target. 2004-05-05 13:06:40 +00:00
kensmith
8c50fd4dbe Sorry for doing this backwards, but as with most release related stuff
we only pay attention to it during release time and at the moment it's
a -stable release in progress.

This is a MFS I guess, moving rev 1.536.2.113 to HEAD.  I ran out of
time to follow through with doing this last night.  Sorry for the delay.

Adding a couple of variables to make tweaking the CD-ROM label and .iso
filenames easier.
2004-04-30 13:52:09 +00:00
jhb
75ae6199e5 - Only build a fixit floppy on i386 and pc98.
- Reenable boot floppies for Alpha.
2004-03-25 20:37:59 +00:00
jhb
0000067319 - Use a stock loader with forth support on the boot floppies.
- Use the regular forth scripts including the stock device.hints file on
  the boot floppies.
- gzip all the various text files on the boot floppy that are larger than
  one sector to save on space.
- Generate a loader.conf to load the kernel, acpi.ko, and mfsroot making
  use of the 'module_before' variables to prompt for a floppy to be entered
  when required and use a stock loader.rc.  This enables the beastie menu
  on i386.
- PC98 has been changed to split the mfsroot for now so that the floppies
  fit.  When the PC98 bootstrap is updated to work with ELF files (which
  needs to happen anyway), then SPLIT_MFSROOT can be turned off for PC98.
2004-02-03 22:05:55 +00:00
jhb
db743def74 - Tweak order of arch fs options to stick all floppy options together and
all MFS root options together and in the same order on all archs.
- Drop support for using the no longer existing 2.88 floppy image for CD
  booting on i386 via the EMUL_BOOT variable.
- Use a stock loader on the boot floppy rather than one without forth.
- Force the gzip of the mfsroot in release.9 to succeed.  This is useful
  when doing lots of rereleases when testing floppy changes.
- If an acpi kernel module exists, stick it on the boot floppy and for
  now always load it after the kernel.
2004-01-29 19:01:58 +00:00
ru
bcac273a5d Two nits from rev. 1.835:
- Fixed spelling of NO_FLOPPIES to unbreak snapshot building on
  architectures that don't support them (as installation source).

- Don't rely on CVS setting execution bits on the shell script.
  (This is also consistent with the rest of this makefile.)

Reviewed by:	jhb
2004-01-29 16:21:00 +00:00
nyan
02d5f9e710 The name of small boot floppy should be boot-small.flp to avoid conflicting
normal size floppy.

Reviewed by:	jhb
2004-01-29 15:14:59 +00:00
ru
6140792ae0 Revert revision 1.833 -- the reinstallkernel.debug target calls the
installkernel.debug target (in the kernel build directory) which is
only defined if the kernel was configured for debugging which it is
not the case for GENERIC kernels on release branches.
2004-01-28 09:19:16 +00:00
ru
dccf9ab43f Only i386 and Alpha have the compat4x distribution. 2004-01-28 09:12:00 +00:00
jhb
7d32bca156 Overhaul our boot floppy generation system so that it scales better and
requires minimal care and feeding for future releases.
- Consolidate multitude of floppy related constants down to a normal
  FLOPPY set for 1.44 floppies and on PC98 a SMALLFLOPPY set for 1.2
  floppies.  Also, cleanup the i386 arch section by not duplicating
  constants that are the same on both machine types (i386 and pc98).
- Update the ZIPNSPLIT macro to generate a file chunks that will actually
  fit onto 1.44 floppies formatted with UFS1.  Unfortunately, split(1)
  seems to be somewhat buggy, so the files generated are slightly larger
  than the argument passed to split.
- Split the release.10 target into 3 targers: floppies.1, floppies.2 and
  floppies.3 that are added to EXTRAS only if NOFLOPPIES is defined.
  floppies.1 builds the install floppies, floppies.2 builds the fixit
  floppy, and floppies.3 generates the md5 sums and READMEs for the
  floppies/ directory.
- Drop the by now largely obsolete and less useful boot.flp picture.  This
  was more useful when the mfsroot lived inside the kernel rather than
  being loaded from a separate file by the loader.
- Only build a single mfsroot containing no modules that is used for all
  installation methods.
- Use split-file.sh to split up a gzipped GENERIC kernel into however many
  floppies it takes for the boot kernel.  Currently, a stock 5.2 GENERIC
  kernel including WITNESS, INVARIANTS, DDB, and other assorted bloat fits
  onto 2 additional floppies besides the boot floppy with some room to
  spare.
- If SPLIT_MFSROOT is defined, the mfsroot.gz file is similar split into
  however many floppies are needed.  Currently it is not defined as the
  mfsroot.gz fits onto the current boot.flp with room to spare.
- Add a 'makeFloppySet' target which builds a floppy set for a file that
  was split using split-file.sh.
- Rename the doMFSKERN target to 'buildBootFloppy' as that more closely
  matches what it does now.  We no longer build a custom BOOTMFS kernel for
  each boot floppy.
- We no longer build a 2.88 boot.flp image to use with emulated CD booting.
  The non-emulated cdboot works for almost everyone who boots off of CD and
  if it doesn't work on a particular machine, the user can always boot from
  the 1.44 floppy images.
- We no longer build a driver floppy or stick kernel modules in the mfsroot
  since we now use a stock kernel when booting from floppy.
2004-01-26 19:58:38 +00:00
ru
69fd34608d - Run makewhatis(1) in etc/Makefile at the end of "install".
- Removed redundant and undocumented NO_MAKEDB_RUN knob.
2004-01-22 08:18:37 +00:00
ru
098ec0a40f Use the reinstallkernel.debug target, now that we have it. 2004-01-21 08:24:44 +00:00
matusita
67527434e2 Fix "5.x release on 4.x box" support.
It is required to check /etc/rc.d/ldconfig before use, because
${CHROOT} sandbox is sometimes 4.x world.  If /etc/rc.d/ldconfig
is not there, run ldconfig(8) directly.

Discussed with: imp, obrien, ru
2004-01-19 13:35:46 +00:00