mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-09-30 11:22:09 +00:00
7e6bba20f5
The quotes around ${bootargs} were missing as we elaborate those variables twice - once when we "setenv" the command and secondly when we "run" it. Without quotes we have just empty string in the second call. Moreover there is an issue with line breaks - as the original commands got truncated. Signed-off-by: Lukasz Majewski <lukma@denx.de>
96 lines
2.6 KiB
Batchfile
96 lines
2.6 KiB
Batchfile
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# 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
|
|
#
|
|
|
|
|
|
# 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 miscadj "
|
|
if test '${boardsoc}' = 'imx53'; then
|
|
setenv bootargs '${bootargs} di=${dig_in} key1=${key1}';
|
|
fi;"
|
|
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 miscadj;
|
|
run boot_fitImage;
|
|
fi;
|
|
fi;"
|
|
|
|
#------------------------------------------------------------
|
|
#
|
|
# Provide 'boot_tftp_kernel' command
|
|
#------------------------------------------------------------
|
|
setenv download_kernel "dhcp ${loadaddr} ${kernel_file}"
|
|
|
|
setenv boot_tftp_kernel "
|
|
if run download_kernel; then
|
|
run mmcargs;
|
|
run miscadj;
|
|
run boot_fitImage;
|
|
fi"
|
|
|
|
#------------------------------------------------------------
|
|
#
|
|
# Provide 'boot_nfs' command
|
|
#------------------------------------------------------------
|
|
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
|