Module Name: src Committed By: rin Date: Sun Jul 21 16:05:24 UTC 2019
Modified Files: src/distrib/utils/embedded/conf: armv7.conf Added Files: src/distrib/utils/embedded/files: armv7_boot_nonefi.cmd Log Message: Fallback to non-EFI boot script if EFI bootloader is absent. Note that we do not currently build EFI bootloader for earmv7hf-eb, as it requires little-endian version of toolchain. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 src/distrib/utils/embedded/conf/armv7.conf cvs rdiff -u -r0 -r1.1 src/distrib/utils/embedded/files/armv7_boot_nonefi.cmd Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/utils/embedded/conf/armv7.conf diff -u src/distrib/utils/embedded/conf/armv7.conf:1.34 src/distrib/utils/embedded/conf/armv7.conf:1.35 --- src/distrib/utils/embedded/conf/armv7.conf:1.34 Sat May 18 07:33:10 2019 +++ src/distrib/utils/embedded/conf/armv7.conf Sun Jul 21 16:05:24 2019 @@ -1,4 +1,4 @@ -# $NetBSD: armv7.conf,v 1.34 2019/05/18 07:33:10 skrll Exp $ +# $NetBSD: armv7.conf,v 1.35 2019/07/21 16:05:24 rin Exp $ # ARMv7 customization script used by mkimage # board=armv7 @@ -30,8 +30,8 @@ EOF } populate_common() { - # Install EFI bootloader if [ -f "${release}/usr/mdec/bootarm.efi" ]; then + # Install EFI bootloader mkdir -p "${mnt}/boot/EFI/BOOT" cp "${release}/usr/mdec/bootarm.efi" "${mnt}/boot/EFI/BOOT/bootarm.efi" @@ -39,10 +39,14 @@ populate_common() { ${GZIP_CMD} -dc ${kernel}/netbsd-${kernels_generic}.gz > "${mnt}/netbsd" echo "./netbsd type=file uname=root gname=wheel mode=0755" \ >> "$tmp/selected_sets" + + cp ${DIR}/files/armv7_boot.cmd ${mnt}/boot/boot.cmd + else + # Fallback to non-EFI boot command + cp ${DIR}/files/armv7_boot_nonefi.cmd ${mnt}/boot/boot.cmd fi # Install boot script - cp ${DIR}/files/armv7_boot.cmd ${mnt}/boot/boot.cmd "${MKUBOOTIMAGE}" -A arm -C none -O netbsd -T script -a 0 -n "NetBSD/armv7 boot" "${mnt}/boot/boot.cmd" "${mnt}/boot/boot.scr" } Added files: Index: src/distrib/utils/embedded/files/armv7_boot_nonefi.cmd diff -u /dev/null src/distrib/utils/embedded/files/armv7_boot_nonefi.cmd:1.1 --- /dev/null Sun Jul 21 16:05:24 2019 +++ src/distrib/utils/embedded/files/armv7_boot_nonefi.cmd Sun Jul 21 16:05:24 2019 @@ -0,0 +1,61 @@ +if test "${board}" = "am335x" ; then + setenv kernel netbsd.ub + setenv mmcpart 0:1 + setenv bootargs root=wd0a +fi +if test "${board}" = "de0-nano-soc" ; then + setenv kernel netbsd.ub + setenv bootargs 'root=wd0a' + setenv mmcpart 0:1 + setenv use_fdt 1 +fi +if test "${soc}" = "exynos" ; then + setenv kernel netbsd.ub + setenv bootargs 'root=wd0a' + setenv mmcpart 2:1 + setenv use_fdt 1 +fi +if test "${soc}" = "sunxi" ; then + setenv kernel netbsd.ub + setenv bootargs 'root=wd0a' + setenv mmcpart 0:1 + setenv use_fdt 1 +fi +if test "${soc}" = "tegra" ; then + setenv kernel netbsd.ub + setenv bootargs root=wd0a + setenv mmcpart 1:1 + setenv use_fdt 1 +fi +if test "${soc}" = "tegra124" ; then + setenv kernel netbsd.ub + setenv bootargs root=wd0a + setenv mmcpart 1:1 + setenv use_fdt 1 +fi +if test "${soc}" = "tegra210" ; then + setenv kernel netbsd.ub + setenv bootargs root=wd0a + setenv mmcpart 1:1 + setenv use_fdt 1 + setenv fdtfile ${soc}-${board}.dtb + # enable PCIe + pci enum +fi + +if test "${kernel}" = "" ; then + echo '>>>' + echo '>>> Target device is not supported by this script.' + echo '>>>' + exit +fi + +if test "${use_fdt}" = "1" ; then + fatload mmc ${mmcpart} ${kernel_addr_r} ${kernel} + fatload mmc ${mmcpart} ${fdt_addr_r} ${fdtfile} + fdt addr ${fdt_addr_r} + bootm ${kernel_addr_r} - ${fdt_addr_r} +else + fatload mmc ${mmcpart} ${kernel_addr_r} ${kernel} + bootm ${kernel_addr_r} ${bootargs} +fi