| # |
| # 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 |