Commit Graph

906 Commits

Author SHA1 Message Date
Ruslan Ermilov
4963cb9355 Assert that /dev/null is a character device in a chroot early. Otherwise,
we might get surprises later, like /dev/null having error in the 4th line
reported by make(1).  :-)

Tested by:	Dmitriy Kirhlarov (who attempted to make release in a jail)
2006-03-23 07:48:58 +00:00
Sam Leffler
cbfec51a4b make sure install scripts are executable
Submitted by:	Ceri Davies
2006-03-21 15:50:08 +00:00
Ruslan Ermilov
5740a2b62d Convert NO_PROFILE and NO_LIB32 to new style. 2006-03-18 21:37:05 +00:00
Ruslan Ermilov
e1fe3dba5c Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
2006-03-17 18:54:44 +00:00
Ruslan Ermilov
11a07768f7 Remove NO_SENDMAIL leaked from the days when building non-crypto
stuff for release was evil.
2006-03-17 09:43:39 +00:00
Sam Leffler
fdb71eeeff fix handling of default kernels
Reviewed by:	ru
2006-03-11 18:59:16 +00:00
Ruslan Ermilov
eb765a4d80 Fix this to what I've actually submitted. 2006-03-09 17:55:08 +00:00
Sam Leffler
d336d34dba handle KERNELS as before
Submitted by:	ru, andrew
2006-03-09 17:11:17 +00:00
Sam Leffler
9fe7600bbe Revamp base system packaging of kernels to enable up/smp selection
at runtime and to support distributing additional kernels:
o remove kernel from the base tarball
o add new kernel tarballs
o build + package both SMP and GENERIC kernels when an <arch>/conf/SMP
  config file is present
o add sysinstall support for multiple kernels
o update sysinstall to probe for the number of cpus on a system
  and auto-select smp/up kernel accordingly
o add a post-kernels install hook to fixup /boot/kernel
o add -ldevinfo to boot crunch for sysinstall's cpu probing logic

Notes:
1. On HEAD this code is not currently used because GENERIC kernels
   include SMP.  This work is mainly intended for RELENG_6 where the
   GENERIC kernel is UP.  If HEAD changes to match then just enable
   WITH_SMP in sysinstall/Makefile.
2. The cpu probing support is done with acpi and MPTable; this means
   some systems will require work for auto-detection to work.
3. The handling of /boot/kernel may need to be revisited; for now
   we rename one kernel at the last moment (SMP if installed, otherwise
   GENERIC).  There are other, possibly better, approaches.

Lots of help from ru, emaste, scottl, and jhb.
2006-03-08 18:02:32 +00:00
Hiroki Sato
4a457aa663 Fix a bug which puts an incorrect checksum of CHECKSUM.MD5
into the CHECKSUM.MD5 file itself.

Approved by:	re (scottl)
MFC after:	3 days
2006-02-08 11:18:29 +00:00
Ken Smith
65030cb84d Enable splitting up the MFSROOT floppy on amd64, the contents now overflow
one floppy's worth of space.
2006-01-30 14:24:31 +00:00
Marcel Moolenaar
9bc245fb48 Fix the missing CD_VOLUME=1 in the cdrom.inf file on disc1 for the
livecd != disc1 case (i.e. ia64). The line was appended to the
non-existing cdrom.inf file, which was created only later. Move the
line to after the file is created.

MFC after: 1 day
2006-01-29 20:16:25 +00:00
John Baldwin
c5245e57e6 Enable boot floppies for amd64. I just copied the needed variables over
from i386.

Tested by:	Markus Trippelsdorf markus at trippelsdorf dot de
Approved by:	scottl
MFC after:	1 week
2006-01-04 18:02:56 +00:00
Yoshihiro Takahashi
fcb9ab1e8e Add EXTPORTSDIR like EXTSRCDIR and EXTDOCDIR.
PR:		misc/83287
Submitted by:	Gabor Kovesdan
MFC after:	1 week
2006-01-02 13:29:58 +00:00
Yoshihiro Takahashi
91dda5000a Request boot floppy after loading mfsroot floppy because beastie.4th exists
in boot floppy.

Submitted by:	Nobuyuki Koganemaru < n-kogane at syd dot odn dot ne dot jp >
MFC after:	1 week
2006-01-02 07:29:22 +00:00
Ian Dowse
25298bc2b6 Remove one more reference to usbd.conf. 2005-12-15 01:14:35 +00:00
Ruslan Ermilov
f9b5f9c1cf Be cross-arch friendly. 2005-11-03 07:27:50 +00:00
Ruslan Ermilov
d24864f785 Refactor (some more) installation of kernel and module objects.
Try to make everyone happy: David (to have debug kernels installed
by default), Warner (to be able to override that), and myself (for
actually making it all work and to be consistent).

Now, if kernel was configured for debugging (through DEBUG=-g in
the kernel config file or "config -g"), doing "make install" will
install debug versions of kernel and module objects with their
canonical names,

	kernel.debug -> /boot/kernel/kernel
	if_fxp.ko.debug -> /boot/kernel/if_fxp.ko

Installing a kernel not configured for debugging, or debug kernel
with INSTALL_NODEBUG variable defined, will install non-debug
kernel and module objects.

Also, restore the install.debug and reinstall.debug targets that
are part of the existing API (they cause some additional gdb(1)
scripts to be installed).
2005-10-25 09:05:07 +00:00
Ken Smith
0f12c50ed7 Add SHA256 checksums to the release build.
Requested by:		cperciva (so)
Reviewed/improved by:	ru
MFC after:		2 days
2005-09-28 12:39:00 +00:00
Marcel Moolenaar
1e36c0be6d Unbreak release builds. Now that NO_INFO also affects the installation
of texinfo and we need makeinfo to build world, we cannot have NO_INFO
anymore when we populate the chroot.
2005-09-07 04:34:11 +00:00
Ken Smith
4900836a01 Adjust for HEAD being 7.0 now.
Approved by:	re (implicit)
2005-07-11 15:50:29 +00:00
Scott Long
091040346a Adapt the mfsroot environment of sysinstall to the needs of the new dhclient.
This involves having passwd bits available so that seteuid("_dhcp") work,
and creating /var/empty so that chroot(_VAR_EMPTY) works.  My gut feeling
is that the better solution is to make privsep and chroot optional in
dhclient, but this works well for now and is low-risk.

Approved by: re
2005-07-11 03:59:25 +00:00
Ruslan Ermilov
ece6831d38 Provide 32-bit runtime support on amd64 as a separate distribution, lib32.
Prodded by:	obrien
Nodded by:	peter
Approved by:	re
2005-06-16 18:16:14 +00:00
Peter Grehan
24aade12eb Make the liveCD separate ala ia64 - the combined live/install is
too large.
2005-05-23 03:14:56 +00:00
Ruslan Ermilov
b6bdead975 Strip the initial world some more. 2005-05-17 14:24:33 +00:00
Marcel Moolenaar
9bae572bd7 Allow specifying which INDEX file to use by setting PKG_INDEX. By default
the INDEX file is taken from the package source tree as defined by the
PKG_TREE variable. This change allows using the (possibly incomplete)
packages on pointyhat.

MFC after: 2 days
2005-05-03 04:11:56 +00:00
John Baldwin
a1b193b540 - Move the doc project docs over to disc2 to free up some room for future
bloat on disc1.
- Output a message letting the user know that we are generating MD5 sums
  during the long pause after the last mkisofs invocation in the iso.1
  target.

MFC after:	3 days
2005-03-31 16:19:26 +00:00
John Baldwin
b22009642f 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
Tai-hwa Liang
0cdbdea6e4 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
John Baldwin
e738d1ea3d 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
Bruce A. Mah
52957bbfd8 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
John Baldwin
f16d1c7c6a 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
John Baldwin
92f6e2c87f 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
John Baldwin
3b090ef7d3 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
Ruslan Ermilov
37966461c0 Safer version of the chflags command. 2005-01-13 08:29:51 +00:00
Ruslan Ermilov
f45a5bbda4 NOCLEAN -> NO_CLEAN
NOCLEANDIR -> NO_CLEANDIR
2004-12-21 12:21:26 +00:00
Ruslan Ermilov
582ef25f94 NOHTML -> NO_HTML 2004-12-21 12:05:11 +00:00
Ruslan Ermilov
39a855c2a1 NOGAMES -> NO_GAMES 2004-12-21 10:36:54 +00:00
Ruslan Ermilov
83c7ade90a NOSHARED -> NO_SHARED 2004-12-21 09:59:45 +00:00
Ruslan Ermilov
ab7a294721 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
Ruslan Ermilov
e653b48c80 Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
Ruslan Ermilov
b51a042e9a 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
Ruslan Ermilov
d885836c32 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
Ken Smith
88f69650e5 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
Ken Smith
485b926865 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
Bruce A. Mah
39fa2d282b Don't attempt to install the (obsolete and disconnected) Early Adopters
Guide on release media.
2004-09-17 21:46:17 +00:00
Giorgos Keramidas
6b6ec8eb57 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 Davis
3f332bb341 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 Davis
f09470addf 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
Ruslan Ermilov
37c3815396 Correct a typo in a comment.
Submitted by:	Xin LI
2004-09-08 06:05:19 +00:00