Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/distrib/utils/embedded Install a boot.scr on armv7.img that ...



details:   https://anonhg.NetBSD.org/src/rev/eb3b10314f66
branches:  trunk
changeset: 356681:eb3b10314f66
user:      jmcneill <jmcneill%NetBSD.org@localhost>
date:      Sat Oct 07 23:40:00 2017 +0000

description:
Install a boot.scr on armv7.img that detects the running board and selects
the correct kernel and boot protocol. Should work on tegra, sunxi, and
am335x boards for now.

diffstat:

 distrib/utils/embedded/conf/armv7.conf      |  29 ++++++++++--------------
 distrib/utils/embedded/files/armv7_boot.cmd |  34 +++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 17 deletions(-)

diffs (100 lines):

diff -r e150caac3104 -r eb3b10314f66 distrib/utils/embedded/conf/armv7.conf
--- a/distrib/utils/embedded/conf/armv7.conf    Sat Oct 07 21:53:16 2017 +0000
+++ b/distrib/utils/embedded/conf/armv7.conf    Sat Oct 07 23:40:00 2017 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: armv7.conf,v 1.16 2017/07/31 16:34:22 jmcneill Exp $
+# $NetBSD: armv7.conf,v 1.17 2017/10/07 23:40:00 jmcneill Exp $
 # ARMv7 customization script used by mkimage
 #
 board=armv7
@@ -31,6 +31,12 @@
 EOF
 }
 
+populate_common() {
+       # 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"
+}
+
 populate_beagle() {
        bboard_kernelimg=netbsd-BEAGLEBOARD.ub
        bboard_loadaddr=81000000
@@ -44,10 +50,7 @@
 }
 
 populate_awin() {
-       cat >> "${mnt}/boot/uEnv.txt" << EOF
-bootargs=root=ld0a console=${console}
-uenvcmd=mmc dev 0; mmc rescan; if test \$fdtfile = sun7i-a20-cubieboard2.dtb; then setenv kernel netbsd-CUBIEBOARD.ub; elif test \$fdtfile = sun7i-a20-cubietruck.dtb; then setenv kernel 
netbsd-CUBIETRUCK.ub; elif test \$fdtfile = sun6i-a31-hummingbird.dtb; then setenv kernel netbsd-HUMMINGBIRD_A31.ub; elif test \$fdtfile = sun7i-a20-bananapi.dtb; then setenv kernel netbsd-BPI.ub; 
fi; fatload mmc 0:1 82000000 \$kernel; bootm 82000000
-EOF
+       :
 }
 
 populate_rpi() {
@@ -117,18 +120,7 @@
 }
 
 populate_tegra() {
-       tegra_kernelimg=netbsd-TEGRA.ub
-       tegra_loadaddr=0x90000000
-
-       # Create a boot.scr for Tegra U-Boot
-       cat > "${mnt}/boot/boot-TEGRA.txt" << EOF
-setenv bootargs root=ld0a
-fatload mmc 1:1 ${tegra_loadaddr} ${tegra_kernelimg}
-fatload mmc 1:1 \${fdt_addr_r} tegra124-\${board}.dtb
-fdt addr \${fdt_addr_r}
-bootm ${tegra_loadaddr} - \${fdt_addr_r}
-EOF
-       "${MKUBOOTIMAGE}" -A arm -C none -O netbsd -T script -a 0 -n "NetBSD/tegra boot" "${mnt}/boot/boot-TEGRA.txt" "${mnt}/boot/boot.scr"
+       :
 }
 
 populate() {
@@ -176,4 +168,7 @@
        populate_amlogic
        populate_tegra
        populate_sunxi
+
+       # common configuration
+       populate_common
 }
diff -r e150caac3104 -r eb3b10314f66 distrib/utils/embedded/files/armv7_boot.cmd
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/distrib/utils/embedded/files/armv7_boot.cmd       Sat Oct 07 23:40:00 2017 +0000
@@ -0,0 +1,34 @@
+if test "${soc}" = "sunxi" ; then
+       setenv kernel netbsd-SUNXI.ub
+       setenv bootargs root=ld0a
+       setenv mmcpart 0:1
+       setenv use_fdt 1
+fi
+if test "${soc}" = "tegra" ; then
+       setenv kernel netbsd-TEGRA.ub
+       setenv bootargs root=ld1a
+       setenv mmcpart 1:1
+       setenv use_fdt 1
+fi
+if test "${board}" = "am335x" ; then
+       setenv kernel netbsd-BEAGLEBONE.ub
+       setenv mmcpart 0:1
+       setenv bootargs root=ld0a
+fi
+
+if test "${kernel}" = "" ; then
+       echo '>>>'
+       echo '>>> Target device is not supported by this script.'
+       echo '>>>'
+       exit
+fi
+
+if test "1" -eq ${use_fdt} ; 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



Home | Main Index | Thread Index | Old Index