diff options
-rw-r--r-- | release/Makefile | 16 | ||||
-rw-r--r-- | release/scripts/doFS.sh | 15 |
2 files changed, 27 insertions, 4 deletions
diff --git a/release/Makefile b/release/Makefile index 5444397..0346ca4 100644 --- a/release/Makefile +++ b/release/Makefile @@ -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 diff --git a/release/scripts/doFS.sh b/release/scripts/doFS.sh index da4e179..5b5b6b0 100644 --- a/release/scripts/doFS.sh +++ b/release/scripts/doFS.sh @@ -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} |