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:
parent
fb584e4841
commit
710d4ca371
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=106391
@ -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
|
||||
|
@ -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}
|
||||
|
Loading…
Reference in New Issue
Block a user