|
@@ -0,0 +1,96 @@
|
|
|
+#
|
|
|
+# Copyright (C) 2018
|
|
|
+# Lukasz Majewski, DENX Software Engineering, lukma@denx.de
|
|
|
+#
|
|
|
+#
|
|
|
+# This is an example file to generate boot.scr - a boot script for U-Boot
|
|
|
+# Generate boot.scr:
|
|
|
+# ./tools/mkimage -c none -A arm -T script -d tpcboot.cmd boot.scr
|
|
|
+#
|
|
|
+# SPDX-License-Identifier: GPL-2.0+
|
|
|
+
|
|
|
+
|
|
|
+# Input envs (to be set in environment)
|
|
|
+# Mandatory:
|
|
|
+# kernel_file = "fitImage"
|
|
|
+# boardname = "XXXX" // set automatically in u-boot
|
|
|
+# boardsoc = "imx6q" // set automatically in u-boot
|
|
|
+#
|
|
|
+# Optional:
|
|
|
+# bootcmd_force = "nfs" "tftp_kernel"
|
|
|
+# If not set - eMMC/SD boot
|
|
|
+
|
|
|
+# Generic setup
|
|
|
+setenv mmcroot "/dev/mmcblk${devnum}p2 rootwait rw"
|
|
|
+setenv displayargs ""
|
|
|
+setenv mmcargs "setenv bootargs console=${console} ${smp} root=${mmcroot} \
|
|
|
+ ${displayargs}"
|
|
|
+setenv boot_fitImage "
|
|
|
+ setenv fdt_conf 'conf@${boardsoc}-${boardname}.dtb';
|
|
|
+ setenv itbcfg "\"#\${fdt_conf}\"";
|
|
|
+ print itbcfg;
|
|
|
+ bootm '${loadaddr}${itbcfg}';"
|
|
|
+
|
|
|
+#------------------------------------------------------------
|
|
|
+#
|
|
|
+# Provide default 'bootcmd' command
|
|
|
+#------------------------------------------------------------
|
|
|
+setenv bootcmd "
|
|
|
+if test -e ${devtype} ${devnum}:${distro_bootpart} ${kernel_file}; then
|
|
|
+ echo Found kernel image: ${kernel_file};
|
|
|
+ if load ${devtype} ${devnum}:${distro_bootpart} ${loadaddr} \
|
|
|
+ ${kernel_file}; then
|
|
|
+ run mmcargs;
|
|
|
+ run boot_fitImage;
|
|
|
+ fi;
|
|
|
+fi;"
|
|
|
+
|
|
|
+#------------------------------------------------------------
|
|
|
+#
|
|
|
+# Provide 'boot_tftp_kernel' command
|
|
|
+#------------------------------------------------------------
|
|
|
+setenv download_kernel "tftpboot ${loadaddr} ${kernel_file}"
|
|
|
+
|
|
|
+setenv boot_tftp_kernel "
|
|
|
+if run download_kernel; then
|
|
|
+ run mmcargs;
|
|
|
+ run boot_fitImage;
|
|
|
+fi"
|
|
|
+
|
|
|
+#------------------------------------------------------------
|
|
|
+#
|
|
|
+# Provide 'boot_nfs' command
|
|
|
+#------------------------------------------------------------
|
|
|
+setenv rootpath "/srv/tftp/KP/rootfs"
|
|
|
+setenv nfsargs "setenv bootargs root=/dev/nfs rw \
|
|
|
+ nfsroot=${serverip}:${rootpath},nolock,nfsvers=3"
|
|
|
+setenv addip "setenv bootargs ${bootargs} \
|
|
|
+ ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:\
|
|
|
+ ${hostname}:eth0:on"
|
|
|
+
|
|
|
+setenv boot_nfs "
|
|
|
+if run download_kernel; then
|
|
|
+ run nfsargs;
|
|
|
+ run addip;
|
|
|
+ setenv bootargs ${bootargs} console=${console};
|
|
|
+
|
|
|
+ run boot_fitImage;
|
|
|
+fi"
|
|
|
+
|
|
|
+#------------------------------------------------------------
|
|
|
+#
|
|
|
+# Set correct boot flow
|
|
|
+#------------------------------------------------------------
|
|
|
+
|
|
|
+setenv bcmd "
|
|
|
+if test ! -n ${bootcmd_force}; then
|
|
|
+ run bootcmd;
|
|
|
+fi;
|
|
|
+if test ${bootcmd_force} = nfs; then
|
|
|
+ run boot_nfs;
|
|
|
+else if test ${bootcmd_force} = tftp_kernel; then
|
|
|
+ run boot_tftp_kernel;
|
|
|
+ fi;
|
|
|
+fi"
|
|
|
+
|
|
|
+run bcmd
|