mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 21:05:08 +00:00
Add additional release makefile for bsdinstall-based media, along with
support files. This does not change the default behavior of anything. To make bsdinstall-based media, pre-build world and GENERIC, then run the release target in Makefile.bsdinstall.
This commit is contained in:
parent
6079fdbede
commit
8cfdf36d27
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=219181
53
release/Makefile.bsdinstall
Normal file
53
release/Makefile.bsdinstall
Normal file
|
@ -0,0 +1,53 @@
|
|||
# $FreeBSD$
|
||||
|
||||
WORLDDIR?= ${.CURDIR}/..
|
||||
DISTDIR?= ${DESTDIR}/usr/freebsd-dist
|
||||
PORTSDIR?= /usr/ports
|
||||
|
||||
TARGET_ARCH?= ${MACHINE_ARCH}
|
||||
.if ${TARGET_ARCH} == ${MACHINE_ARCH}
|
||||
TARGET?= ${MACHINE}
|
||||
.else
|
||||
TARGET?= ${TARGET_ARCH}
|
||||
.endif
|
||||
IMAKE= ${MAKE} TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}
|
||||
|
||||
packagesystem:
|
||||
-mkdir -p ${DISTDIR}
|
||||
cd ${WORLDDIR} && ${IMAKE} distributeworld distributekernel DISTDIR=${DISTDIR}
|
||||
# Set up mergemaster root database
|
||||
sh ${.CURDIR}/scripts/mm-mtree.sh -F "TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}" -D "${DISTDIR}/base"
|
||||
cd ${WORLDDIR} && ${IMAKE} packageworld packagekernel DISTDIR=${DISTDIR}
|
||||
-mkdir -p ${DISTDIR}/usr
|
||||
# Package up src and ports trees
|
||||
ln -fs ${WORLDDIR} ${DISTDIR}/usr/src
|
||||
ln -fs ${PORTSDIR} ${DISTDIR}/usr/ports
|
||||
.if !defined(NOPORTS)
|
||||
cd ${DISTDIR} && tar cLvJf ${DISTDIR}/ports.txz --exclude usr/ports/distfiles --exclude usr/ports/packages --exclude 'usr/ports/INDEX*' usr/ports
|
||||
.endif
|
||||
.if !defined(NOSRC)
|
||||
cd ${DISTDIR} && tar cLvJf ${DISTDIR}/src.txz --exclude .svn --exclude CVS usr/src
|
||||
.endif
|
||||
|
||||
system:
|
||||
# Install system
|
||||
-mkdir ${DISTDIR}/release
|
||||
cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution DESTDIR=${DISTDIR}/release
|
||||
-rm ${DISTDIR}/release/boot/kernel/*.symbols
|
||||
# Copy distfiles
|
||||
mkdir ${DISTDIR}/release/usr/freebsd-dist
|
||||
cp ${DISTDIR}/*.txz ${DISTDIR}/release/usr/freebsd-dist
|
||||
# Set up installation environment
|
||||
ln -s /tmp/bsdinstall_etc/resolv.conf ${DISTDIR}/release/etc/resolv.conf
|
||||
echo sendmail_enable=\"NONE\" > ${DISTDIR}/release/etc/rc.conf
|
||||
echo hostid_enable=\"NO\" >> ${DISTDIR}/release/etc/rc.conf
|
||||
touch ${DISTDIR}/release/etc/fstab
|
||||
cp rc.local ${DISTDIR}/release/etc
|
||||
|
||||
cdrom:
|
||||
echo kernel_options=\"-C\" > ${DISTDIR}/release/boot/loader.conf
|
||||
sh /usr/src/release/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${DISTDIR}/release.iso ${DISTDIR}/release
|
||||
rm ${DISTDIR}/release/boot/loader.conf
|
||||
|
||||
release: packagesystem system cdrom
|
||||
|
33
release/rc.local
Executable file
33
release/rc.local
Executable file
|
@ -0,0 +1,33 @@
|
|||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
: ${DIALOG_OK=0}
|
||||
: ${DIALOG_CANCEL=1}
|
||||
: ${DIALOG_HELP=2}
|
||||
: ${DIALOG_EXTRA=3}
|
||||
: ${DIALOG_ITEM_HELP=4}
|
||||
: ${DIALOG_ESC=255}
|
||||
|
||||
TERM=xterm; export TERM # XXX: serial consoles
|
||||
|
||||
dialog --backtitle "FreeBSD Installer" --title "Welcome" --extra-button --extra-label "Shell" --ok-label "Install" --cancel-label "Live CD" --yesno "Welcome to FreeBSD! Would you like to begin an installation or use the live CD?" 0 0
|
||||
|
||||
case $? in
|
||||
$DIALOG_OK) # Install
|
||||
BSDINSTALL_CONFIGCURRENT=yes; export BSDINSTALL_CONFIGCURRENT
|
||||
trap true SIGINT # Ignore cntrl-C here
|
||||
bsdinstall
|
||||
dialog --backtitle "FreeBSD Installer" --title "Complete" --msgbox "Installation of FreeBSD complete! The system will now reboot." 0 0
|
||||
reboot
|
||||
;;
|
||||
$DIALOG_CANCEL) # Live CD
|
||||
exit 0
|
||||
;;
|
||||
$DIALOG_EXTRA) # Shell
|
||||
clear
|
||||
echo "When finished, type 'exit' to return to the installer."
|
||||
/bin/sh
|
||||
. /etc/rc.local
|
||||
;;
|
||||
esac
|
||||
|
Loading…
Reference in a new issue