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