Unlike the TI sitara/OMAP boot rom the raspberry pi boot rom
will fail to read FAT12, the filesystem must be FAT16 or FAT32.

These changes require the raspberrypi-firmware port sent to ports@
to build release along with u-boot-aarch64.

Index: distrib/arm64/miniroot/Makefile
===================================================================
RCS file: /cvs/src/distrib/arm64/miniroot/Makefile,v
retrieving revision 1.1
diff -u -p -r1.1 Makefile
--- distrib/arm64/miniroot/Makefile     11 Feb 2017 06:36:03 -0000      1.1
+++ distrib/arm64/miniroot/Makefile     12 Feb 2017 04:55:01 -0000
@@ -23,11 +23,19 @@ FFSSTART!=  expr ${MSDOSSTART} + ${MSDOSS
 FS?=           msdos
 PART_ID?=C
 
-NEWFS_ARGS_msdos=-L boot
+NEWFS_ARGS_msdos=-L boot -c1 -F16
 MOUNT_ARGS_msdos=-o-l
 
 PDTB=          /usr/local/share/dtb/arm64
 PUBOOT=                /usr/local/share/u-boot
+PRPI=          /usr/local/share/raspberrypi-firmware/boot/
+
+PIFILES=\
+       bootcode.bin \
+       start.elf \
+       fixup.dat \
+       bcm2710-rpi-3-b.dtb \
+       bcm2710-rpi-cm3.dtb
 
 cleandir: clean
 clean:
@@ -49,8 +57,13 @@ do_files:
        ln ${MOUNT_POINT}/bsd.rd ${MOUNT_POINT}/bsd
        -umount ${MOUNT_POINT}
        mount ${MOUNT_ARGS_msdos} ${VND_IDEV} ${MOUNT_POINT}
+.for FILE in ${PIFILES}
+       cp ${PRPI}/${FILE} ${MOUNT_POINT}/
+.endfor
+       cp ${PUBOOT}/rpi_3/u-boot.bin ${MOUNT_POINT}/
        mkdir -p ${MOUNT_POINT}/efi/boot
        cp /usr/mdec/BOOTAA64.EFI ${MOUNT_POINT}/efi/boot/bootaa64.efi
+       echo 
'arm_control=0x200\nenable_uart=1\ndevice_tree_address=0x100\nkernel=u-boot.bin'
 > ${MOUNT_POINT}/config.txt
 
 rd_setup:
        dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS}
Index: distrib/arm64/ramdisk/Makefile
===================================================================
RCS file: /cvs/src/distrib/arm64/ramdisk/Makefile,v
retrieving revision 1.1
diff -u -p -r1.1 Makefile
--- distrib/arm64/ramdisk/Makefile      23 Jan 2017 02:24:00 -0000      1.1
+++ distrib/arm64/ramdisk/Makefile      11 Feb 2017 07:16:42 -0000
@@ -17,6 +17,9 @@ MTREE=                ${UTILS}/mtree.conf
 DISKTYPE=      rdroot
 MAKEFSARGS_RD= -o disklabel=${DISKTYPE},minfree=0,density=4096
 
+DIRS=\
+       rpi
+
 .ifndef DESTDIR
 all ${IMAGE}:
        @echo setenv DESTDIR before making a ramdisk!
@@ -39,6 +42,9 @@ ${BSD_RD}: ${IMAGE} bsd rdsetroot
 ${IMAGE}: ${CBIN}
        rm -rf $@.d
        install -d -o root -g wheel $@.d
+.for DIR in ${DIRS}
+       mkdir -p $@.d/usr/mdec/${DIR}
+.endfor
        mtree -def ${MTREE} -p $@.d -u
        TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} REV=${REV} \
            TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \
Index: distrib/arm64/ramdisk/install.md
===================================================================
RCS file: /cvs/src/distrib/arm64/ramdisk/install.md,v
retrieving revision 1.1
diff -u -p -r1.1 install.md
--- distrib/arm64/ramdisk/install.md    23 Jan 2017 02:24:00 -0000      1.1
+++ distrib/arm64/ramdisk/install.md    12 Feb 2017 02:58:37 -0000
@@ -39,12 +39,23 @@ NEWFSARGS_msdos="-F 16 -L boot"
 MOUNT_ARGS_msdos="-o-l"
 
 md_installboot() {
-       local _disk=/dev/$1
+       local _disk=/dev/$1 _mdec _plat
 
        # Mount MSDOS partition, extract U-Boot and copy UEFI boot program
        mount ${MOUNT_ARGS_msdos} ${_disk}i /mnt/mnt
        mkdir -p /mnt/mnt/efi/boot
        cp /mnt/usr/mdec/BOOTAA64.EFI /mnt/mnt/efi/boot/bootaa64.efi
+
+       _plat=rpi
+       _mdec=/usr/mdec/$_plat
+
+       cp $_mdec/{bootcode.bin,start.elf,fixup.dat,*.dtb} /mnt/mnt/
+       cat > /mnt/mnt/config.txt<<-__EOT
+               arm_control=0x200
+               enable_uart=1
+               device_tree_address=0x100
+               kernel=u-boot.bin
+       __EOT
 }
 
 md_prep_fdisk() {
Index: distrib/arm64/ramdisk/list
===================================================================
RCS file: /cvs/src/distrib/arm64/ramdisk/list,v
retrieving revision 1.1
diff -u -p -r1.1 list
--- distrib/arm64/ramdisk/list  23 Jan 2017 02:24:00 -0000      1.1
+++ distrib/arm64/ramdisk/list  11 Feb 2017 07:16:42 -0000
@@ -116,4 +116,11 @@ SYMLINK    install.sub                             
autoinstall
 SYMLINK        install.sub                             install
 SYMLINK        install.sub                             upgrade
 
+COPY   /usr/local/share/raspberrypi-firmware/boot/bcm2710-rpi-3-b.dtb 
usr/mdec/rpi/bcm2710-rpi-3-b.dtb
+COPY   /usr/local/share/raspberrypi-firmware/boot/bcm2710-rpi-cm3.dtb 
usr/mdec/rpi/bcm2710-rpi-cm3.dtb
+COPY   /usr/local/share/raspberrypi-firmware/boot/bootcode.bin 
usr/mdec/rpi/bootcode.bin
+COPY   /usr/local/share/raspberrypi-firmware/boot/start.elf 
usr/mdec/rpi/start.elf
+COPY   /usr/local/share/raspberrypi-firmware/boot/fixup.dat 
usr/mdec/rpi/fixup.dat
+COPY   /usr/local/share/u-boot/rpi_3/u-boot.bin usr/mdec/rpi/u-boot.bin
+
 TZ

Reply via email to