mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-28 19:52:44 +00:00
Add scripts and Makefile support for building ISO images automatically
as part of the release if MAKE_ISOS is set. Will also build the first CD with packages (in addition to the "minimal" CD) if CD_EXTRA_BITS points to them. This probably need a bit more work to get fully useful, but it at least covers the basics for now.
This commit is contained in:
parent
814c95264f
commit
2ef74d2289
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=80183
@ -219,6 +219,9 @@ EXTRAS= ftp.1
|
||||
.else
|
||||
EXTRAS= cdrom.1 ftp.1
|
||||
.endif
|
||||
.if defined(MAKE_ISOS)
|
||||
EXTRAS+= iso.1
|
||||
.endif
|
||||
|
||||
.if !defined(NODOC)
|
||||
DOCREL= doc.1 doc.2
|
||||
@ -336,6 +339,9 @@ rerelease release:
|
||||
.if defined(NOPORTS)
|
||||
echo "export NOPORTS=${NOPORTS}" >> ${CHROOTDIR}/mk
|
||||
.endif
|
||||
.if defined(MAKE_ISOS)
|
||||
echo "export MAKE_ISOS=${MAKE_ISOS}" >> ${CHROOTDIR}/mk
|
||||
.endif
|
||||
.if defined(DOMINIMALDOCPORTS)
|
||||
echo "export DOMINIMALDOCPORTS=${DOMINIMALDOCPORTS}" >> ${CHROOTDIR}/mk
|
||||
.endif
|
||||
@ -761,6 +767,9 @@ cdrom.1:
|
||||
@ln -f ${CD_DISC2}/boot/cdboot ${CD_DISC1}/boot
|
||||
@ln -f ${CD_DISC1}/boot/loader.rc ${CD_DISC2}/boot
|
||||
@ln -f ${CD_DISC1}/kernel ${CD_DISC2}/kernel
|
||||
.elif ${MACHINE_ARCH} == "i386"
|
||||
@mkdir -p ${CD_DISC2}/floppies
|
||||
@cp ${CD_DISC1}/floppies/boot.flp ${CD_DISC2}/floppies
|
||||
.endif
|
||||
.if !defined(NOPORTS)
|
||||
@-rm -rf /usr/ports/distfiles/*
|
||||
@ -771,6 +780,20 @@ cdrom.1:
|
||||
.endif
|
||||
touch cdrom.1
|
||||
|
||||
iso.1:
|
||||
@if [ -x ${.CURDIR}/${MACHINE_ARCH}/mkisoimages.sh ]; then \
|
||||
echo "Creating ISO images..."; \
|
||||
${.CURDIR}/${MACHINE_ARCH}/mkisoimages.sh -b fbsd_miniboot \
|
||||
${CD}/miniboot.iso ${CD_DISC1}; \
|
||||
${.CURDIR}/${MACHINE_ARCH}/mkisoimages.sh -b fbsd_livefs \
|
||||
${CD}/disc2.iso ${CD_DISC2}; \
|
||||
if [ "x${CD_EXTRA_BITS}" != "x" ]; then \
|
||||
${.CURDIR}/${MACHINE_ARCH}/mkisoimages.sh -b fbsd_boot \
|
||||
${CD}/disc1.iso ${CD_DISC1} ${CD_EXTRA_BITS}; \
|
||||
fi \
|
||||
fi
|
||||
touch iso.1
|
||||
|
||||
#
|
||||
# --==## Documentation Project files such as the Handbook and FAQ ##==--
|
||||
#
|
||||
|
51
release/alpha/mkisoimages.sh
Normal file
51
release/alpha/mkisoimages.sh
Normal file
@ -0,0 +1,51 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Module: mkisoimages.sh
|
||||
# Author: Jordan K Hubbard
|
||||
# Date: 22 June 2001
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# This script is used by release/Makefile to build the (optional) ISO images
|
||||
# for a FreeBSD release. It is considered architecture dependent since each
|
||||
# platform has a slightly unique way of making bootable CDs. This script
|
||||
# is also allowed to generate any number of images since that is more of
|
||||
# publishing decision than anything else.
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# mkisoimages.sh [-b] image-label image-name base-bits-dir [extra-bits-dir]
|
||||
#
|
||||
# Where -b is passed if the ISO image should be made "bootable" by
|
||||
# whatever standards this architecture supports (may be unsupported),
|
||||
# image-label is the ISO image label, image-name is the filename of the
|
||||
# resulting ISO image, base-bits-dir contains the image contents and
|
||||
# extra-bits-dir, if provided, contains additional files to be merged
|
||||
# into base-bits-dir as part of making the image.
|
||||
|
||||
if [ "x$1" = "x-b" ]; then
|
||||
bootable="yes"
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ $# -lt 3 ]; then
|
||||
echo Usage: $0 '[-b] image-label image-name base-bits-dir [extra-bits-dir]'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -x /usr/local/bin/mkhybrid ]; then
|
||||
echo The mkisofs port is not installed. Trying to get it now.
|
||||
if ! pkg_add -r mkisofs; then
|
||||
echo "Couldn't get it via pkg_add - please go install this"
|
||||
echo "from the ports collection and run this script again."
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
|
||||
LABEL=$1; shift
|
||||
NAME=$1; shift
|
||||
|
||||
mkhybrid -r -J -h -V $LABEL -o $NAME $*
|
||||
if [ "x$bootable" != "x" ]; then
|
||||
setcdboot $NAME /boot/cdboot
|
||||
fi
|
51
release/amd64/mkisoimages.sh
Normal file
51
release/amd64/mkisoimages.sh
Normal file
@ -0,0 +1,51 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Module: mkisoimages.sh
|
||||
# Author: Jordan K Hubbard
|
||||
# Date: 22 June 2001
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# This script is used by release/Makefile to build the (optional) ISO images
|
||||
# for a FreeBSD release. It is considered architecture dependent since each
|
||||
# platform has a slightly unique way of making bootable CDs. This script
|
||||
# is also allowed to generate any number of images since that is more of
|
||||
# publishing decision than anything else.
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# mkisoimages.sh [-b] image-label image-name base-bits-dir [extra-bits-dir]
|
||||
#
|
||||
# Where -b is passed if the ISO image should be made "bootable" by
|
||||
# whatever standards this architecture supports (may be unsupported),
|
||||
# image-label is the ISO image label, image-name is the filename of the
|
||||
# resulting ISO image, base-bits-dir contains the image contents and
|
||||
# extra-bits-dir, if provided, contains additional files to be merged
|
||||
# into base-bits-dir as part of making the image.
|
||||
|
||||
if [ "x$1" = "x-b" ]; then
|
||||
# This is highly x86-centric and will be used directly below.
|
||||
bootable="-b floppies/boot.flp -c floppies/boot.catalog"
|
||||
shift
|
||||
else
|
||||
bootable=""
|
||||
fi
|
||||
|
||||
if [ $# -lt 3 ]; then
|
||||
echo Usage: $0 '[-b] image-label image-name base-bits-dir [extra-bits-dir]'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -x /usr/local/bin/mkhybrid ]; then
|
||||
echo The mkisofs port is not installed. Trying to get it now.
|
||||
if ! pkg_add -r mkisofs; then
|
||||
echo "Couldn't get it via pkg_add - please go install this"
|
||||
echo "from the ports collection and run this script again."
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
|
||||
LABEL=$1; shift
|
||||
NAME=$1; shift
|
||||
|
||||
mkhybrid $bootable -r -J -h -V $LABEL -o $NAME $*
|
51
release/i386/mkisoimages.sh
Normal file
51
release/i386/mkisoimages.sh
Normal file
@ -0,0 +1,51 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Module: mkisoimages.sh
|
||||
# Author: Jordan K Hubbard
|
||||
# Date: 22 June 2001
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# This script is used by release/Makefile to build the (optional) ISO images
|
||||
# for a FreeBSD release. It is considered architecture dependent since each
|
||||
# platform has a slightly unique way of making bootable CDs. This script
|
||||
# is also allowed to generate any number of images since that is more of
|
||||
# publishing decision than anything else.
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# mkisoimages.sh [-b] image-label image-name base-bits-dir [extra-bits-dir]
|
||||
#
|
||||
# Where -b is passed if the ISO image should be made "bootable" by
|
||||
# whatever standards this architecture supports (may be unsupported),
|
||||
# image-label is the ISO image label, image-name is the filename of the
|
||||
# resulting ISO image, base-bits-dir contains the image contents and
|
||||
# extra-bits-dir, if provided, contains additional files to be merged
|
||||
# into base-bits-dir as part of making the image.
|
||||
|
||||
if [ "x$1" = "x-b" ]; then
|
||||
# This is highly x86-centric and will be used directly below.
|
||||
bootable="-b floppies/boot.flp -c floppies/boot.catalog"
|
||||
shift
|
||||
else
|
||||
bootable=""
|
||||
fi
|
||||
|
||||
if [ $# -lt 3 ]; then
|
||||
echo Usage: $0 '[-b] image-label image-name base-bits-dir [extra-bits-dir]'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -x /usr/local/bin/mkhybrid ]; then
|
||||
echo The mkisofs port is not installed. Trying to get it now.
|
||||
if ! pkg_add -r mkisofs; then
|
||||
echo "Couldn't get it via pkg_add - please go install this"
|
||||
echo "from the ports collection and run this script again."
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
|
||||
LABEL=$1; shift
|
||||
NAME=$1; shift
|
||||
|
||||
mkhybrid $bootable -r -J -h -V $LABEL -o $NAME $*
|
Loading…
Reference in New Issue
Block a user