mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
boot: script: The boot.scr file for K+P's boards
By using this file one can avoid cluttering <board>.h file with u-boot HUSH commands necessary for booting target device. With such approach the commands are stored only in one place and can be reused if needed. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Stefano Babic <sbabic@denx.de>
This commit is contained in:
parent
dd4671cb3f
commit
b04ff9bf0f
1 changed files with 96 additions and 0 deletions
96
board/k+p/bootscripts/tpcboot.cmd
Normal file
96
board/k+p/bootscripts/tpcboot.cmd
Normal file
|
@ -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
|
Loading…
Reference in a new issue