Add releasetools/pkgsrc_cdimage.sh

This script uses the image generation framework to create a pkgsrc CD
image, useful for MINIX installations without Internet connectivity.

Change-Id: Ife037f6b6958e38986afad0632f37999ecbb2b55
This commit is contained in:
Jean-Baptiste Boric 2017-04-11 18:19:55 +02:00 committed by David van Moolenbroek
parent 0884854a38
commit 66e071a40c

52
releasetools/pkgsrc_cdimage.sh Executable file
View File

@ -0,0 +1,52 @@
#!/usr/bin/env bash
set -e
#
# This script creates a bootable image and should at some point in the future
# be replaced by the proper NetBSD infrastructure.
#
: ${ARCH=i386}
: ${OBJ=../obj.${ARCH}}
: ${TOOLCHAIN_TRIPLET=i586-elf32-minix-}
: ${BUILDSH=build.sh}
: ${IMG=minix_pkgsrc.iso}
: ${SETS=}
: ${CREATE_IMAGE_ONLY=1}
if [ ! -f ${BUILDSH} ]
then
echo "Please invoke me from the root source dir, where ${BUILDSH} is."
exit 1
fi
# set up disk creation environment
. releasetools/image.defaults
. releasetools/image.functions
echo "Building work directory..."
build_workdir "$SETS"
echo "Bundling packages..."
bundle_packages "$BUNDLE_PACKAGES"
echo "Creating specification files..."
cat > ${WORK_DIR}/extra.base <<EOF
. type=dir uid=0 gid=0 mode=0755
./usr type=dir uid=0 gid=0 mode=0755
EOF
create_input_spec
create_protos
# Clean image
if [ -f ${IMG} ] # IMG might be a block device
then
rm -f ${IMG}
fi
echo "Writing ISO..."
${CROSS_TOOLS}/nbmakefs -t cd9660 -F ${WORK_DIR}/input -o "rockridge,label=MINIX_PKGSRC" ${IMG} ${ROOT_DIR}
echo ""
echo "ISO image at `pwd`/${IMG}"