Add the necessary tweaks for FreeBSD/ia64 releases. Note that this is

in no way final. A typical ia64 wart is that there are no boot blocks.
Instead, we need to create disks with EFI partitions if we want auto
boot to work. All this functionality is not present yet.
This commit is contained in:
Marcel Moolenaar 2002-11-04 00:50:01 +00:00
parent fb584e4841
commit 710d4ca371
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=106391
2 changed files with 27 additions and 4 deletions

View File

@ -140,7 +140,7 @@ DIST_DOCS_ARCH_DEP= installation relnotes hardware
#
.if ${TARGET_ARCH} == "i386"
COMPAT_DISTS?= compat1x compat20 compat21 compat22 compat3x compat4x
.else
.elif ${TARGET_ARCH} != "ia64"
COMPAT_DISTS?= compat4x
.endif
OTHER_DISTS?= catpages manpages games proflibs dict info doc
@ -207,6 +207,13 @@ BOOTINODE= 8192
MFSINODE= 8192
BIGBOOTLABEL= auto
MFSLABEL= auto
.elif ${TARGET_ARCH} == "ia64"
BIGBOOTLABEL= fd120m
BIGBOOTSIZE= 123264
BOOTINODE= 15872
MFSINODE= 8192
MFSLABEL= auto
MFSSIZE= 8192
.endif
ZIPNSPLIT= gzip --no-name -9 -c | split -b 240640 -
@ -244,6 +251,9 @@ LOCALDIR= /usr/local/bin
.if ${TARGET_ARCH} == "sparc64"
CRUNCH_TARGETS= boot
FIXIT_TARGET=
.elif ${TARGET_ARCH} == "ia64"
CRUNCH_TARGETS= boot
FIXIT_TARGET=
.endif
.if !defined(CRUNCH_TARGETS)
@ -651,7 +661,9 @@ release.9:
.endif
-test -f ${.CURDIR}/install.cfg && cp ${.CURDIR}/install.cfg ${RD}/mfsfd
@mkdir -p ${RD}/mfsfd/boot
.if ${TARGET} != "ia64"
@cp ${RD}/trees/base/boot/boot* ${RD}/mfsfd/boot
.endif
.if ${TARGET} == "i386"
@cp ${RD}/trees/base/boot/mbr ${RD}/mfsfd/boot
.endif
@ -1000,6 +1012,8 @@ doMFSKERN:
@mkdir -p ${RD}/image.${FSIMAGE}/boot
.if ${TARGET} == "i386"
@kgzip -vo ${RD}/image.${FSIMAGE}/boot/loader /boot/loader
.elif ${TARGET} == "ia64"
@cp /boot/loader.efi ${RD}/image.${FSIMAGE}/boot
.else
@cp /boot/loader ${RD}/image.${FSIMAGE}/boot
.endif

View File

@ -21,7 +21,16 @@ FSPROTO=$1 ; shift
FSINODE=$1 ; shift
FSLABEL=$1 ; shift
BOOT1="-b ${RD}/trees/base/boot/boot1"
#
# We don't have any bootblocks on ia64. Note that -B implies -r,
# so we have to specifically specify -r when we don't have -B.
# disklabel fails otherwise.
#
if [ -f "${RD}/trees/base/boot/boot1" ]; then
BOOT1="-B -b ${RD}/trees/base/boot/boot1"
else
BOOT1="-r"
fi
if [ -f "${RD}/trees/base/boot/boot2" ]; then
BOOT2="-s ${RD}/trees/base/boot/boot2"
else
@ -54,7 +63,7 @@ dofs_vn () {
dd of=${FSIMG} if=/dev/zero count=${FSSIZE} bs=1k 2>/dev/null
vnconfig -s labels -c /dev/r${VNDEVICE} ${FSIMG}
disklabel -w -B ${BOOT1} ${BOOT2} ${VNDEVICE} ${FSLABEL}
disklabel -w ${BOOT1} ${BOOT2} ${VNDEVICE} ${FSLABEL}
newfs -i ${FSINODE} -o space -m 1 /dev/r${VNDEVICE}c
mount /dev/${VNDEVICE}c ${MNT}
@ -105,7 +114,7 @@ dofs_md () {
exit 1
fi
fi
disklabel -w -B ${BOOT1} ${BOOT2} ${MDDEVICE} ${FSLABEL}
disklabel -w ${BOOT1} ${BOOT2} ${MDDEVICE} ${FSLABEL}
newfs -i ${FSINODE} -o space -m 0 /dev/${MDDEVICE}c
mount /dev/${MDDEVICE}c ${MNT}