summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2017-02-11 06:36:03 +0000
committerjsg <jsg@openbsd.org>2017-02-11 06:36:03 +0000
commit9f9c899158e3ee3fd9af469ce3118c4adf753b30 (patch)
tree79c1a342406a3eaddd247b6b64132d8adfbad94e
parentCorrect the entry point and base address calculations for an (diff)
downloadwireguard-openbsd-9f9c899158e3ee3fd9af469ce3118c4adf753b30.tar.xz
wireguard-openbsd-9f9c899158e3ee3fd9af469ce3118c4adf753b30.zip
Add an initial miniroot with bootaa64.efi on fat and bsd.rd on ffs.
-rw-r--r--distrib/arm64/Makefile4
-rw-r--r--distrib/arm64/miniroot/Makefile84
-rw-r--r--etc/etc.arm64/Makefile.inc4
3 files changed, 88 insertions, 4 deletions
diff --git a/distrib/arm64/Makefile b/distrib/arm64/Makefile
index fe1acca15c6..3f4adfcf7e1 100644
--- a/distrib/arm64/Makefile
+++ b/distrib/arm64/Makefile
@@ -1,5 +1,5 @@
-# $OpenBSD: Makefile,v 1.1 2017/01/23 02:24:00 patrick Exp $
+# $OpenBSD: Makefile,v 1.2 2017/02/11 06:36:03 jsg Exp $
-SUBDIR= ramdisk
+SUBDIR= ramdisk miniroot
.include <bsd.subdir.mk>
diff --git a/distrib/arm64/miniroot/Makefile b/distrib/arm64/miniroot/Makefile
new file mode 100644
index 00000000000..bae5163c9de
--- /dev/null
+++ b/distrib/arm64/miniroot/Makefile
@@ -0,0 +1,84 @@
+
+REV= ${OSrev}
+
+IMAGE= miniroot${REV}.fs
+
+MOUNT_POINT= /mnt
+
+VND?= vnd0
+VND_DEV= /dev/${VND}a
+VND_CDEV= /dev/${VND}c
+VND_IDEV= /dev/${VND}i
+VND_RDEV= /dev/r${VND}a
+VND_CRDEV= /dev/r${VND}c
+VND_RIDEV= /dev/r${VND}i
+PID!= echo $$$$
+
+DISKTYPE= miniroot
+NBLKS= 36864
+MSDOSSTART= 2048
+MSDOSSIZE= 8192
+FFSSTART!= expr ${MSDOSSTART} + ${MSDOSSIZE}
+
+FS?= msdos
+PART_ID?=C
+
+NEWFS_ARGS_msdos=-L boot
+MOUNT_ARGS_msdos=-o-l
+
+PDTB= /usr/local/share/dtb/arm64
+PUBOOT= /usr/local/share/u-boot
+
+cleandir: clean
+clean:
+ rm -f ${IMAGE}
+
+.ifndef DESTDIR
+all ${IMAGE}:
+ @echo setenv DESTDIR before making a ramdisk!
+ @false
+.else
+all: ${IMAGE}
+
+${IMAGE}: rd_setup do_files rd_teardown
+
+.endif
+
+do_files:
+ cp ${.OBJDIR}/../ramdisk/bsd.rd ${MOUNT_POINT}/bsd.rd
+ ln ${MOUNT_POINT}/bsd.rd ${MOUNT_POINT}/bsd
+ -umount ${MOUNT_POINT}
+ mount ${MOUNT_ARGS_msdos} ${VND_IDEV} ${MOUNT_POINT}
+ mkdir -p ${MOUNT_POINT}/efi/boot
+ cp /usr/mdec/BOOTAA64.EFI ${MOUNT_POINT}/efi/boot/bootaa64.efi
+
+rd_setup:
+ dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS}
+ vnconfig -v -c -t ${DISKTYPE} ${VND} ${IMAGE}
+ echo 'u\ne 0\n${PART_ID}\nn\n${MSDOSSTART}\n${MSDOSSIZE}\ne 3\nA6\nn\n${FFSSTART}\n*\nf 0\nw\nq\n' \
+ | fdisk -e ${VND} >/dev/null
+ echo 'a a\n\n\n\nw\nq\n' | disklabel -E ${VND} >/dev/null
+ newfs -t msdos ${NEWFS_ARGS_msdos} ${VND_RIDEV}
+ newfs -m 0 -o space -i 4096 ${VND_RDEV}
+ fsck ${VND_RDEV}
+ mount ${VND_DEV} ${MOUNT_POINT}
+
+rd_teardown:
+ @df -i ${MOUNT_POINT}
+ -umount ${MOUNT_POINT}
+ -vnconfig -u ${VND}
+
+unconfig:
+ -umount -f ${MOUNT_POINT}
+ -vnconfig -u ${VND}
+
+.PRECIOUS: ${IMAGE}
+
+.ifdef RELEASEDIR
+install:
+ cp ${IMAGE} ${RELEASEDIR}
+.endif
+
+.include <bsd.obj.mk>
+.include <bsd.subdir.mk>
+.include <bsd.own.mk>
diff --git a/etc/etc.arm64/Makefile.inc b/etc/etc.arm64/Makefile.inc
index e726f7607a6..5f6f8ac47f6 100644
--- a/etc/etc.arm64/Makefile.inc
+++ b/etc/etc.arm64/Makefile.inc
@@ -1,6 +1,6 @@
-# $OpenBSD: Makefile.inc,v 1.1 2017/01/11 17:05:29 patrick Exp $
+# $OpenBSD: Makefile.inc,v 1.2 2017/02/11 06:36:03 jsg Exp $
bootblocks:
cp ${DESTDIR}/usr/mdec/BOOTAA64.EFI ${RELEASEDIR}
-MDEXT= bsd.rd BOOTAA64.EFI
+MDEXT= bsd.rd BOOTAA64.EFI miniroot${OSrev}.fs