Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Glen Barber 2016-01-05 21:12:49 +00:00
commit 1a5c9277ca
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/projects/release-pkg/; revision=293225
21 changed files with 185 additions and 50 deletions

View File

@ -1317,27 +1317,43 @@ packagekernel:
.if defined(NO_ROOT) .if defined(NO_ROOT)
.if !defined(NO_INSTALLKERNEL) .if !defined(NO_INSTALLKERNEL)
cd ${DESTDIR}/${DISTDIR}/kernel; \ cd ${DESTDIR}/${DISTDIR}/kernel; \
tar cvf - @${DESTDIR}/${DISTDIR}/kernel.meta | \ tar cvf - --exclude '*.debug' \
@${DESTDIR}/${DISTDIR}/kernel.meta | \
${XZ_CMD} > ${PACKAGEDIR}/kernel.txz ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz
.endif .endif
cd ${DESTDIR}/${DISTDIR}/kernel; \
tar cvf - --include '*/*/*.debug' \
@${DESTDIR}/${DISTDIR}/kernel.meta | \
${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz
.if ${BUILDKERNELS:[#]} > 1 .if ${BUILDKERNELS:[#]} > 1
.for _kernel in ${BUILDKERNELS:[2..-1]} .for _kernel in ${BUILDKERNELS:[2..-1]}
cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
tar cvf - @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \ tar cvf - --exclude '*.debug' \
@${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \
${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz
cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
tar cvf - --include '*/*/*.debug' \
@${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \
${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz
.endfor .endfor
.endif .endif
.else .else
.if !defined(NO_INSTALLKERNEL) .if !defined(NO_INSTALLKERNEL)
cd ${DESTDIR}/${DISTDIR}/kernel; \ cd ${DESTDIR}/${DISTDIR}/kernel; \
tar cvf - . | \ tar cvf - --exclude '*.debug' . | \
${XZ_CMD} > ${PACKAGEDIR}/kernel.txz ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz
.endif .endif
cd ${DESTDIR}/${DISTDIR}/kernel; \
tar cvf - --include '*/*/*.debug' $$(eval find .) | \
${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz
.if ${BUILDKERNELS:[#]} > 1 .if ${BUILDKERNELS:[#]} > 1
.for _kernel in ${BUILDKERNELS:[2..-1]} .for _kernel in ${BUILDKERNELS:[2..-1]}
cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
tar cvf - . | \ tar cvf - --exclude '*.debug' . | \
${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz
cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
tar cvf - --include '*/*/*.debug' $$(eval find .) | \
${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz
.endfor .endfor
.endif .endif
.endif .endif

View File

@ -36,7 +36,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
/* Default search path. */ /* Default search path. */
#define _PATH_DEFPATH "/usr/bin:/bin" #define _PATH_DEFPATH "/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
/* All standard utilities path. */ /* All standard utilities path. */
#define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin" #define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin"
/* Locate system binaries. */ /* Locate system binaries. */
@ -108,7 +108,7 @@ __END_DECLS
#ifdef RESCUE #ifdef RESCUE
#undef _PATH_DEFPATH #undef _PATH_DEFPATH
#define _PATH_DEFPATH "/rescue:/usr/bin:/bin" #define _PATH_DEFPATH "/rescue:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
#undef _PATH_STDPATH #undef _PATH_STDPATH
#define _PATH_STDPATH "/rescue:/usr/bin:/bin:/usr/sbin:/sbin" #define _PATH_STDPATH "/rescue:/usr/bin:/bin:/usr/sbin:/sbin"
#undef _PATH_SYSPATH #undef _PATH_SYSPATH

View File

@ -28,7 +28,7 @@
.\" @(#)exec.3 8.3 (Berkeley) 1/24/94 .\" @(#)exec.3 8.3 (Berkeley) 1/24/94
.\" $FreeBSD$ .\" $FreeBSD$
.\" .\"
.Dd December 12, 2015 .Dd January 5, 2016
.Dt EXEC 3 .Dt EXEC 3
.Os .Os
.Sh NAME .Sh NAME
@ -161,7 +161,7 @@ the default path is set according to the
definition in definition in
.In paths.h , .In paths.h ,
which is set to which is set to
.Dq Ev /usr/bin:/bin . .Dq Ev /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin .
For For
.Fn execvP , .Fn execvP ,
the search path is specified as an argument to the function. the search path is specified as an argument to the function.

View File

@ -34,7 +34,7 @@
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\" .\"
.Dd June 17, 2011 .Dd January 5, 2016
.Dt POSIX_SPAWN 3 .Dt POSIX_SPAWN 3
.Os .Os
.Sh NAME .Sh NAME
@ -126,7 +126,7 @@ the default path is set according to the
definition in definition in
.In paths.h , .In paths.h ,
which is set to which is set to
.Dq Ev /usr/bin:/bin . .Dq Ev /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin .
.Pp .Pp
If If
.Fa file_actions .Fa file_actions

View File

@ -1144,13 +1144,13 @@ digest_dynamic1(Obj_Entry *obj, int early, const Elf_Dyn **dyn_rpath,
* is mapped read-only. DT_MIPS_RLD_MAP is used instead. * is mapped read-only. DT_MIPS_RLD_MAP is used instead.
*/ */
#ifndef __mips__
case DT_DEBUG: case DT_DEBUG:
if (!obj->writable_dynamic)
break;
if (!early) if (!early)
dbg("Filling in DT_DEBUG entry"); dbg("Filling in DT_DEBUG entry");
((Elf_Dyn*)dynp)->d_un.d_ptr = (Elf_Addr) &r_debug; ((Elf_Dyn*)dynp)->d_un.d_ptr = (Elf_Addr) &r_debug;
break; break;
#endif
case DT_FLAGS: case DT_FLAGS:
if (dynp->d_un.d_val & DF_ORIGIN) if (dynp->d_un.d_val & DF_ORIGIN)
@ -1331,6 +1331,8 @@ digest_phdr(const Elf_Phdr *phdr, int phnum, caddr_t entry, const char *path)
break; break;
case PT_DYNAMIC: case PT_DYNAMIC:
if (ph->p_flags & PROT_WRITE)
obj->writable_dynamic = true;
obj->dynamic = (const Elf_Dyn *)(ph->p_vaddr + obj->relocbase); obj->dynamic = (const Elf_Dyn *)(ph->p_vaddr + obj->relocbase);
break; break;

View File

@ -264,6 +264,7 @@ typedef struct Struct_Obj_Entry {
bool valid_hash_sysv : 1; /* A valid System V hash hash tag is available */ bool valid_hash_sysv : 1; /* A valid System V hash hash tag is available */
bool valid_hash_gnu : 1; /* A valid GNU hash tag is available */ bool valid_hash_gnu : 1; /* A valid GNU hash tag is available */
bool dlopened : 1; /* dlopen()-ed (vs. load statically) */ bool dlopened : 1; /* dlopen()-ed (vs. load statically) */
bool writable_dynamic : 1; /* PT_DYNAMIC is writable */
struct link_map linkmap; /* For GDB and dlinfo() */ struct link_map linkmap; /* For GDB and dlinfo() */
Objlist dldags; /* Object belongs to these dlopened DAGs (%) */ Objlist dldags; /* Object belongs to these dlopened DAGs (%) */

View File

@ -176,7 +176,7 @@ disc1: packagesystem
MK_DEBUG_FILES=no MK_DEBUG_FILES=no
# Copy distfiles # Copy distfiles
mkdir -p ${.TARGET}/usr/freebsd-dist mkdir -p ${.TARGET}/usr/freebsd-dist
for dist in MANIFEST $$(ls *.txz | grep -v -- '-dbg'); \ for dist in MANIFEST $$(ls *.txz | grep -vE -- '(base|lib32)-dbg'); \
do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ do cp $${dist} ${.TARGET}/usr/freebsd-dist; \
done done
# Copy documentation, if generated # Copy documentation, if generated
@ -225,7 +225,7 @@ dvd: packagesystem
MK_TESTS=no MK_DEBUG_FILES=no MK_TESTS=no MK_DEBUG_FILES=no
# Copy distfiles # Copy distfiles
mkdir -p ${.TARGET}/usr/freebsd-dist mkdir -p ${.TARGET}/usr/freebsd-dist
for dist in MANIFEST $$(ls *.txz | grep -v -- '-dbg'); \ for dist in MANIFEST $$(ls *.txz | grep -v -- '(base|lib32)-dbg'); \
do cp $${dist} ${.TARGET}/usr/freebsd-dist; \ do cp $${dist} ${.TARGET}/usr/freebsd-dist; \
done done
# Copy documentation, if generated # Copy documentation, if generated

View File

@ -56,5 +56,5 @@ NAME="$1"; shift
publisher="The FreeBSD Project. http://www.FreeBSD.org/" publisher="The FreeBSD Project. http://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab" echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab"
makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@" makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@"
rm "$1/etc/fstab" rm -f "$1/etc/fstab"
rm -f efiboot.img rm -f efiboot.img

View File

@ -42,4 +42,4 @@ NAME="$1"; shift
publisher="The FreeBSD Project. http://www.FreeBSD.org/" publisher="The FreeBSD Project. http://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab" echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab"
makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@" makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@"
rm "$1/etc/fstab" rm -f "$1/etc/fstab"

View File

@ -42,4 +42,4 @@ NAME="$1"; shift
publisher="The FreeBSD Project. http://www.FreeBSD.org/" publisher="The FreeBSD Project. http://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab" echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab"
makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@" makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@"
rm "$1/etc/fstab" rm -f "$1/etc/fstab"

View File

@ -64,6 +64,6 @@ NAME="$1"; shift
publisher="The FreeBSD Project. http://www.FreeBSD.org/" publisher="The FreeBSD Project. http://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab" echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab"
makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@" makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@"
rm "$1/etc/fstab" rm -f "$1/etc/fstab"
rm /tmp/hfs-boot-block rm -f /tmp/hfs-boot-block
rm -rf "$1/ppc" rm -rf "$1/ppc"

View File

@ -9,18 +9,64 @@
# #
# $FreeBSD$ # $FreeBSD$
desc_base="Base system (MANDATORY)" base="Base system"
desc_kernel="Kernel (MANDATORY)" doc="Additional Documentation"
desc_doc="Additional documentation" kernel="Kernel"
doc_default=off ports="Ports tree"
desc_lib32="32-bit compatibility libraries" src="System source tree"
desc_ports="Ports tree" lib32="32-bit compatibility libraries"
desc_src="System source code" tests="Test suite"
desc_tests="Test suite"
src_default=off
tests_default=off
for i in $*; do desc_base="${base} (MANDATORY)"
echo "`basename $i` `sha256 -q $i` `tar tvf $i | wc -l | tr -d ' '` `basename $i .txz` \"`eval echo \\\$desc_$(basename $i .txz)`\" `eval echo \\\${$(basename $i .txz)_default:-on}`" desc_base_dbg="${base} (Debugging)"
desc_doc="${doc}"
desc_kernel="${kernel} (MANDATORY)"
desc_kernel_dbg="${kernel} (Debugging)"
desc_kernel_alt="Alternate ${kernel}"
desc_kernel_alt_dbg="Alternate ${kernel} (Debugging)"
desc_lib32="${lib32}"
desc_lib32_dbg="${lib32} (Debugging)"
desc_ports="${ports}"
desc_src="${src}"
desc_tests="${tests}"
default_doc=off
default_src=off
default_tests=off
default_base_dbg=off
default_lib32_dbg=off
default_kernel_alt=off
default_kernel_dbg=on
default_kernel_alt_dbg=off
for i in ${*}; do
dist="${i}"
distname="${i%%.txz}"
distname="$(echo ${distname} | tr '-' '_')"
distname="$(echo ${distname} | tr 'kernel.' 'kernel_')"
hash="$(sha256 -q ${i})"
nfiles="$(tar tvf ${i} | wc -l | tr -d ' ')"
default="$(eval echo \${default_${distname}:-on})"
desc="$(eval echo \"\${desc_${distname}}\")"
case ${i} in
kernel-dbg.txz)
desc="${desc_kernel_dbg}"
;;
kernel.*-dbg.txz)
desc="$(eval echo \"${desc_kernel_alt_dbg}\")"
desc="${desc}: $(eval echo ${i%%-dbg.txz} | cut -f 2 -d '.')"
default="$(eval echo \"${default_kernel_alt_dbg}\")"
;;
kernel.*.txz)
desc="$(eval echo \"${desc_kernel_alt}\")"
desc="${desc}: $(eval echo ${i%%.txz} | cut -f 2 -d '.')"
default="$(eval echo \"${default_kernel_alt}\")"
;;
*)
;;
esac
printf "${dist}\t${hash}\t${nfiles}\t${distname}\t\"${desc}\"\t${default}\n"
done done

View File

@ -38,7 +38,7 @@ BASEBITSDIR="$1"
publisher="The FreeBSD Project. http://www.FreeBSD.org/" publisher="The FreeBSD Project. http://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$BASEBITSDIR/etc/fstab" echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$BASEBITSDIR/etc/fstab"
makefs -t cd9660 -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME.tmp" "$@" makefs -t cd9660 -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME.tmp" "$@"
rm "$BASEBITSDIR/etc/fstab" rm -f "$BASEBITSDIR/etc/fstab"
if [ "x$BOPT" != "x-b" ]; then if [ "x$BOPT" != "x-b" ]; then
mv "$NAME.tmp" "$NAME" mv "$NAME.tmp" "$NAME"

View File

@ -24,7 +24,7 @@
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\" .\"
.Dd December 17, 2015 .Dd January 5, 2016
.Dt IOAT 4 .Dt IOAT 4
.Os .Os
.Sh NAME .Sh NAME
@ -65,6 +65,8 @@ In
.Fn ioat_put_dmaengine "bus_dmaengine_t dmaengine" .Fn ioat_put_dmaengine "bus_dmaengine_t dmaengine"
.Ft int .Ft int
.Fn ioat_get_hwversion "bus_dmaengine_t dmaengine" .Fn ioat_get_hwversion "bus_dmaengine_t dmaengine"
.Ft size_t
.Fn ioat_get_max_io_size "bus_dmaengine_t dmaengine"
.Ft int .Ft int
.Fn ioat_set_interrupt_coalesce "bus_dmaengine_t dmaengine" "uint16_t delay" .Fn ioat_set_interrupt_coalesce "bus_dmaengine_t dmaengine" "uint16_t delay"
.Ft uint16_t .Ft uint16_t

View File

@ -744,6 +744,15 @@ ioat_get_hwversion(bus_dmaengine_t dmaengine)
return (ioat->version); return (ioat->version);
} }
size_t
ioat_get_max_io_size(bus_dmaengine_t dmaengine)
{
struct ioat_softc *ioat;
ioat = to_ioat_softc(dmaengine);
return (ioat->max_xfer_size);
}
int int
ioat_set_interrupt_coalesce(bus_dmaengine_t dmaengine, uint16_t delay) ioat_set_interrupt_coalesce(bus_dmaengine_t dmaengine, uint16_t delay)
{ {

View File

@ -70,6 +70,7 @@ void ioat_put_dmaengine(bus_dmaengine_t dmaengine);
/* Check the DMA engine's HW version */ /* Check the DMA engine's HW version */
int ioat_get_hwversion(bus_dmaengine_t dmaengine); int ioat_get_hwversion(bus_dmaengine_t dmaengine);
size_t ioat_get_max_io_size(bus_dmaengine_t dmaengine);
/* /*
* Set interrupt coalescing on a DMA channel. * Set interrupt coalescing on a DMA channel.

View File

@ -2041,7 +2041,6 @@ iwm_mvm_load_ucode_wait_alive(struct iwm_softc *sc,
sc->sc_uc_current = ucode_type; sc->sc_uc_current = ucode_type;
error = iwm_start_fw(sc, ucode_type); error = iwm_start_fw(sc, ucode_type);
iwm_fw_info_free(&sc->sc_fw);
if (error) { if (error) {
sc->sc_uc_current = old_type; sc->sc_uc_current = old_type;
return error; return error;
@ -4937,6 +4936,7 @@ iwm_suspend(device_t dev)
static int static int
iwm_detach_local(struct iwm_softc *sc, int do_net80211) iwm_detach_local(struct iwm_softc *sc, int do_net80211)
{ {
struct iwm_fw_info *fw = &sc->sc_fw;
device_t dev = sc->sc_dev; device_t dev = sc->sc_dev;
int i; int i;
@ -4953,6 +4953,10 @@ iwm_detach_local(struct iwm_softc *sc, int do_net80211)
for (i = 0; i < nitems(sc->txq); i++) for (i = 0; i < nitems(sc->txq); i++)
iwm_free_tx_ring(sc, &sc->txq[i]); iwm_free_tx_ring(sc, &sc->txq[i]);
/* Free firmware */
if (fw->fw_fp != NULL)
iwm_fw_info_free(fw);
/* Free scheduler */ /* Free scheduler */
iwm_free_sched(sc); iwm_free_sched(sc);
if (sc->ict_dma.vaddr != NULL) if (sc->ict_dma.vaddr != NULL)

View File

@ -1080,15 +1080,9 @@ vop_stdadvise(struct vop_advise_args *ap)
bsize = vp->v_bufobj.bo_bsize; bsize = vp->v_bufobj.bo_bsize;
startn = ap->a_start / bsize; startn = ap->a_start / bsize;
endn = ap->a_end / bsize; endn = ap->a_end / bsize;
for (;;) { error = bnoreuselist(&bo->bo_clean, bo, startn, endn);
error = bnoreuselist(&bo->bo_clean, bo, startn, endn); if (error == 0)
if (error == EAGAIN)
continue;
error = bnoreuselist(&bo->bo_dirty, bo, startn, endn); error = bnoreuselist(&bo->bo_dirty, bo, startn, endn);
if (error == EAGAIN)
continue;
break;
}
BO_RUNLOCK(bo); BO_RUNLOCK(bo);
VOP_UNLOCK(vp, 0); VOP_UNLOCK(vp, 0);
break; break;

View File

@ -1669,7 +1669,8 @@ bnoreuselist(struct bufv *bufv, struct bufobj *bo, daddr_t startn, daddr_t endn)
ASSERT_BO_LOCKED(bo); ASSERT_BO_LOCKED(bo);
for (lblkno = startn;; lblkno++) { for (lblkno = startn;;) {
again:
bp = BUF_PCTRIE_LOOKUP_GE(&bufv->bv_root, lblkno); bp = BUF_PCTRIE_LOOKUP_GE(&bufv->bv_root, lblkno);
if (bp == NULL || bp->b_lblkno >= endn) if (bp == NULL || bp->b_lblkno >= endn)
break; break;
@ -1677,11 +1678,14 @@ bnoreuselist(struct bufv *bufv, struct bufobj *bo, daddr_t startn, daddr_t endn)
LK_INTERLOCK, BO_LOCKPTR(bo), "brlsfl", 0, 0); LK_INTERLOCK, BO_LOCKPTR(bo), "brlsfl", 0, 0);
if (error != 0) { if (error != 0) {
BO_RLOCK(bo); BO_RLOCK(bo);
return (error != ENOLCK ? error : EAGAIN); if (error == ENOLCK)
goto again;
return (error);
} }
KASSERT(bp->b_bufobj == bo, KASSERT(bp->b_bufobj == bo,
("bp %p wrong b_bufobj %p should be %p", ("bp %p wrong b_bufobj %p should be %p",
bp, bp->b_bufobj, bo)); bp, bp->b_bufobj, bo));
lblkno = bp->b_lblkno + 1;
if ((bp->b_flags & B_MANAGED) == 0) if ((bp->b_flags & B_MANAGED) == 0)
bremfree(bp); bremfree(bp);
bp->b_flags |= B_RELBUF; bp->b_flags |= B_RELBUF;

View File

@ -115,7 +115,8 @@ bsdinstall hostname || error "Set hostname failed"
export DISTRIBUTIONS="base.txz kernel.txz" export DISTRIBUTIONS="base.txz kernel.txz"
if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then
DISTMENU=`awk -F'\t' '!/^(kernel|base)/{print $4,$5,$6}' $BSDINSTALL_DISTDIR/MANIFEST` DISTMENU=`awk -F'\t' '!/^(kernel\.txz|base\.txz)/{print $1,$5,$6}' $BSDINSTALL_DISTDIR/MANIFEST`
DISTMENU="$(echo ${DISTMENU} | sed -E 's/\.txz//g')"
exec 3>&1 exec 3>&1
EXTRA_DISTS=$( eval dialog \ EXTRA_DISTS=$( eval dialog \
@ -129,16 +130,20 @@ if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then
done done
fi fi
LOCAL_DISTRIBUTIONS="MANIFEST"
FETCH_DISTRIBUTIONS="" FETCH_DISTRIBUTIONS=""
for dist in $DISTRIBUTIONS; do for dist in $DISTRIBUTIONS; do
if [ ! -f $BSDINSTALL_DISTDIR/$dist ]; then if [ ! -f $BSDINSTALL_DISTDIR/$dist ]; then
FETCH_DISTRIBUTIONS="$FETCH_DISTRIBUTIONS $dist" FETCH_DISTRIBUTIONS="$FETCH_DISTRIBUTIONS $dist"
else
LOCAL_DISTRIBUTIONS="$LOCAL_DISTRIBUTIONS $dist"
fi fi
done done
LOCAL_DISTRIBUTIONS=`echo $LOCAL_DISTRIBUTIONS` # Trim white space
FETCH_DISTRIBUTIONS=`echo $FETCH_DISTRIBUTIONS` # Trim white space FETCH_DISTRIBUTIONS=`echo $FETCH_DISTRIBUTIONS` # Trim white space
if [ -n "$FETCH_DISTRIBUTIONS" -a -n "$BSDINSTALL_CONFIGCURRENT" ]; then if [ -n "$FETCH_DISTRIBUTIONS" -a -n "$BSDINSTALL_CONFIGCURRENT" ]; then
dialog --backtitle "FreeBSD Installer" --title "Network Installation" --msgbox "No installation files were found on the boot volume. The next few screens will allow you to configure networking so that they can be downloaded from the Internet." 0 0 dialog --backtitle "FreeBSD Installer" --title "Network Installation" --msgbox "Some installation files were not found on the boot volume. The next few screens will allow you to configure networking so that they can be downloaded from the Internet." 0 0
bsdinstall netconfig || error bsdinstall netconfig || error
NETCONFIG_DONE=yes NETCONFIG_DONE=yes
fi fi
@ -299,6 +304,7 @@ esac
if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then
ALL_DISTRIBUTIONS="$DISTRIBUTIONS" ALL_DISTRIBUTIONS="$DISTRIBUTIONS"
WANT_DEBUG=
# Download to a directory in the new system as scratch space # Download to a directory in the new system as scratch space
BSDINSTALL_FETCHDEST="$BSDINSTALL_CHROOT/usr/freebsd-dist" BSDINSTALL_FETCHDEST="$BSDINSTALL_CHROOT/usr/freebsd-dist"
@ -310,15 +316,65 @@ if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then
DISTDIR_IS_UNIONFS=1 DISTDIR_IS_UNIONFS=1
mount_nullfs -o union "$BSDINSTALL_FETCHDEST" "$BSDINSTALL_DISTDIR" mount_nullfs -o union "$BSDINSTALL_FETCHDEST" "$BSDINSTALL_DISTDIR"
else else
export DISTRIBUTIONS="$ALL_DISTRIBUTIONS" export DISTRIBUTIONS="$FETCH_DISTRIBUTIONS"
export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST" export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST"
fi fi
export FTP_PASSIVE_MODE=YES export FTP_PASSIVE_MODE=YES
bsdinstall distfetch || error "Failed to fetch distribution" # Iterate through the distribution list and set a flag if debugging
# distributions have been selected.
for _DISTRIBUTION in $DISTRIBUTIONS; do
case $_DISTRIBUTION in
*-dbg.*)
[ -e $BSDINSTALL_DISTDIR/$_DISTRIBUTION ] \
&& continue
WANT_DEBUG=1
DEBUG_LIST="\n$DEBUG_LIST\n$_DISTRIBUTION"
;;
*)
;;
esac
done
# Fetch the distributions.
bsdinstall distfetch
rc=$?
if [ $rc -ne 0 ]; then
# If unable to fetch the remote distributions, recommend
# deselecting the debugging distributions, and retrying the
# installation, since failure to fetch *-dbg.txz should not
# be considered a fatal installation error.
msg="Failed to fetch remote distribution"
if [ ! -z "$WANT_DEBUG" ]; then
# Trim leading and trailing newlines.
DEBUG_LIST="${DEBUG_LIST%%\n}"
DEBUG_LIST="${DEBUG_LIST##\n}"
msg="$msg\n\nPlease deselect the following distributions"
msg="$msg and retry the installation:"
msg="$msg\n$DEBUG_LIST"
fi
error "$msg"
fi
export DISTRIBUTIONS="$ALL_DISTRIBUTIONS" export DISTRIBUTIONS="$ALL_DISTRIBUTIONS"
fi fi
if [ ! -z "$LOCAL_DISTRIBUTIONS" ]; then
# Download to a directory in the new system as scratch space
BSDINSTALL_FETCHDEST="$BSDINSTALL_CHROOT/usr/freebsd-dist"
mkdir -p "$BSDINSTALL_FETCHDEST" || error "Could not create directory $BSDINSTALL_FETCHDEST"
# Try to use any existing distfiles
if [ -d $BSDINSTALL_DISTDIR ]; then
DISTDIR_IS_UNIONFS=1
mount_nullfs -o union "$BSDINSTALL_FETCHDEST" "$BSDINSTALL_DISTDIR"
export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST"
fi
env DISTRIBUTIONS="$LOCAL_DISTRIBUTIONS" \
BSDINSTALL_DISTSITE="file:///usr/freebsd-dist" \
bsdinstall distfetch || \
error "Failed to fetch distribution from local media"
fi
bsdinstall checksum || error "Distribution checksum failed" bsdinstall checksum || error "Distribution checksum failed"
bsdinstall distextract || error "Distribution extract failed" bsdinstall distextract || error "Distribution extract failed"
bsdinstall rootpass || error "Could not set root password" bsdinstall rootpass || error "Could not set root password"

View File

@ -17,7 +17,7 @@
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\" .\"
.Dd April 28, 2012 .Dd January 5, 2016
.Dt CRONTAB 5 .Dt CRONTAB 5
.Os .Os
.Sh NAME .Sh NAME
@ -74,7 +74,7 @@ is set to
.Pa /bin/sh , .Pa /bin/sh ,
.Ev PATH .Ev PATH
is set to is set to
.Pa /usr/bin:/bin , .Pa /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin ,
and and
.Ev LOGNAME .Ev LOGNAME
and and