# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "a-b-c on Wed Jul 17 18:07:55 EDT 2013" -d boot.cmd boot.scr echo Welcome to a-b-c 0.56. echo base_bootargs="ro rootwait" opt_bootargs="rhgb quiet" saved_bootargs="rhgb quiet" if test -n \'$findfdt\'; then echo "Using findfdt to set u_dtb"; run findfdt; fi setenv config_default 'u_k_addr=""; u_ramfs_addr=""; u_dtb_addr=""; skip_dtb=""; pass_dtb=1; u_dtb="$fdtfile"; u_extraargs=""; u_iodevs="mmc usb scsi ide"; u_fs="ext2 fat"; u_boot=bootm; u_devpart="0:1 0:2"; u_dir="/ /boot/"; systemd_args=""' run config_default setenv bootcmd_old \"$bootcmd\" u_kernel="" setenv config_cubie 'run config_default; u_k_addr=0x40300000; u_ramfs_addr=0x41600000; u_dtb_addr=0x12345678; u_dtb=sun4i-a10-cubieboard.dtb; skip_dtb=1; pass_dtb=1; u_iodevs=mmc; u_fs=ext2; u_boot=bootm; u_extraargs="\$u_extraargs console=ttyS0,115200"' ca1=config_cubie setenv c1 "run config_cubie; run showdefs" if test -n $panicarg; then if test -n $preboot; then test 1 = 1 else run config_cubie fi fi setenv config_mvebu 'run config_default; u_k_addr=0x2080000; u_ramfs_addr=0x2880000; u_dtb_addr=5880000; skip_dtb=""; pass_dtb=1; u_iodevs="scsi ide"; u_devpart="0:1 0:2 1:1 1:2"; u_fs=ext2; u_boot=bootm; u_extraargs="\$u_extraargs console=ttyS0,115200n8"' ca2=config_mvebu setenv c2 "run config_mvebu; run showdefs" setenv config_axp_gp 'run config_mvebu; u_dtb=armada-xp-gp.dtb' ca3=config_axp_gp setenv c3 "run config_axp_gp; run showdefs" setenv config_axp_openblocks 'run config_mvebu; u_dtb=armada-xp-openblocks-ax3-4.dtb' ca4=config_axp_openblocks setenv c4 "run config_axp_openblocks; run showdefs" if test -n $mvNetConfig || test -n $disaMvPnp; then run config_xp_gp fi setenv config_arndale 'run config_default; u_k_addr=0x40007000; u_ramfs_addr=0x42000000; u_dtb_addr=0x41f00000; u_dtb=exynos5250-arndale.dtb; skip_dtb=1; pass_dtb=1; u_iodevs=mmc; u_fs=ext2; u_boot=bootm; u_extraargs="\$u_extraargs console=ttySAC2,115200n8"' ca5=config_arndale setenv c5 "run config_arndale; run showdefs" if test -n $ethact; then if test $ethact = asx0; then run config_arndale fi fi setenv config_calxeda 'run config_default; skip_dtb=1; pass_dtb=1; u_iodevs=scsi; u_fs="ext4 ext2"; u_boot=bootz; u_extraargs="\$u_extraargs console=ttyAMA0"; u_k_addr=$kernel_addr_r; u_ramfs_addr=$ramdisk_addr_r; u_dtb_addr=$fdt_addr_r; u_dtb_addr=$fdt_addr' ca6=config_calxeda setenv c6 "run config_calxeda; run showdefs" setenv config_highbank 'run config_calxeda; u_dtb=highbank.dtb' ca7=config_highbank setenv c7 "run config_highbank; run showdefs" setenv config_midway 'run config_calxeda; u_dtb=ecx-2000.dtb' ca8=config_midway setenv c8 "run config_midway; run showdefs" if test -n $ethact; then if test $ethact = xgmac0; then fdt addr 1000 fdt get value board / compatible # ramdisk_addr_r, k_addr_r and fdt_addr are already defined in 25-overrides-post if test $board = calxeda,highbank; then run config_highbank elif test $board = calxeda,ecx-2000; then run config_midway else run config_calxeda fi setenv bootcmd_pxe_orig "$bootcmd_pxe" setenv bootcmd_pxe echo "Not running bootcmd_pxe, use bootcmd_pxe_orig if desired." setenv bootcmd_disk_kernel_orig "" setenv bootcmd_disk_kernel echo "Not running bootcmd_disk_kernel, use bootcmd_disk_kernel_orig if desired." fi fi setenv config_tegra 'run config_default; u_extraargs="\$u_extraargs console=ttyS0,115200n8"; u_k_addr=4080000; u_ramfs_addr=4800000; u_dtb_addr=4000000; skip_dtb=""; pass_dtb=1; u_iodevs="usb mmc"; u_fs=ext2; u_boot=bootz; setenv fdt_high 0x2C000000; setenv initrd_high 0x2C000000; u_devpart="0:1 0:2 1:1 1:2"; u_dtb=\${soc}-\${board}.dtb' ca9=config_tegra setenv c9 "run config_tegra; run showdefs" if test -n $soc; then if test $soc = tegra2; then setenv soc tegra20 fi if test $soc = tegra3; then setenv soc tegra30 fi if test $soc = tegra20 || test $soc = tegra30 || test $soc = tegra114 ; then run config_tegra fi fi setenv config_am33xx 'run config_default; u_k_addr=0x80300000; u_ramfs_addr=0x82000000; u_dtb_addr=0x81600000; skip_dtb=""; pass_dtb=1; u_iodevs="mmc usb"; u_fs="ext4 ext2 fat"; u_boot=bootz; u_devpart="0:3 0:2 0:1"; u_extraargs="\$u_extraargs console=ttyO0,115200n8"; u_dir="/boot/ /"; run findfdt; u_dtb="\$fdtfile"' ca10=config_am33xx setenv c10 "run config_am33xx; run showdefs" setenv config_omap3 'run config_default; u_k_addr=0x80300000; u_ramfs_addr=0x82000000; u_dtb_addr=0x81600000; skip_dtb=1; pass_dtb=""; u_iodevs="mmc usb"; u_fs="ext2 fat"; u_boot=bootz; u_devpart="0:3 0:2 0:1"; u_extraargs="\$u_extraargs console=ttyO2,115200n8"; u_dir="/boot/ /"' ca11=config_omap3 setenv c11 "run config_omap3; run showdefs" setenv config_omap4 'run config_default; u_k_addr=0x80300000; u_ramfs_addr=0x81600000; u_dtb_addr=0x81F00000; skip_dtb=1; pass_dtb=""; u_iodevs="mmc usb"; u_fs="ext4 ext2 fat"; u_boot=bootz; u_devpart="0:3 0:2 0:1"; u_extraargs="\$u_extraargs console=ttyO2,115200n8"; u_dir="/boot/ /"; run findfdt; u_dtb=\$fdtfile' ca12=config_omap4 setenv c12 "run config_omap4; run showdefs" setenv config_omap5 'run config_default; u_k_addr=0x80300000; u_ramfs_addr=0x81600000; u_dtb_addr=0x825f0000; skip_dtb=""; pass_dtb=1; u_iodevs="mmc usb"; u_fs="ext4 ext2 fat"; u_boot=bootz; u_devpart="0:3 0:2 0:1"; u_extraargs="\$u_extraargs console=ttyO2,115200n8"; u_dir="/boot/ /"; setenv fdt_high 0x84000000; run findfdt; u_dtb=\$fdtfile' ca13=config_omap5 setenv c13 "run config_omap5; run showdefs" setenv config_omap3-beagle-xm 'run config_omap3; u_dtb=omap3-beagle-xm.dtb' ca14=config_omap3-beagle-xm setenv c14 "run config_omap3-beagle-xm; run showdefs" setenv config_omap3-beagle 'run config_omap3; u_dtb=omap3-beagle.dtb' ca15=config_omap3-beagle setenv c15 "run config_omap3-beagle; run showdefs" if test -n $beaglerev; then run config_omap3 elif test -n $soc; then if test $soc = am33xx; then run config_am33xx elif test $soc = omap4; then run config_omap4 elif test $soc = omap5; then run config_omap5 fi fi c_count="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" if test -n $kernel_addr_r; then echo Found kernel_addr_r ($kernel_addr_r), using for u_k_addr. u_k_addr=$kernel_addr_r fi if test -n $ramdisk_addr_r; then echo Found ramdisk_addr_r ($ramdisk_addr_r), using for u_ramfs_addr. u_ramfs_addr=$ramdisk_addr_r fi if test -n $fdt_addr_r; then echo Found fdt_addr_r ($fdt_addr_r), using for u_dtb_addr. u_dtb_addr=$fdt_addr_r fi # For Calxeda if test -n $fdt_addr; then echo Found fdt_addr ($fdt_addr), using for u_dtb_addr. u_dtb_addr=$fdt_addr fi if test -n $dtbfile; then echo Found dtbfile ($dtbfile), using for u_dtb. u_dtb=$dtbfile fi if test -n $u_dtb; then if test -n $skip_dtb; then echo Using defaults for $u_dtb, but will not load dtb during startup. else echo Using defaults for $u_dtb, and will load dtb during startup. fi else echo Could not successfully auto-detect system type. echo You may need to set u_k_addr, u_ramfs_addr, u_dtb_addr, and u_dtb fi echo "Will scan for kernels on $u_iodevs, using $u_fs filesystems with $u_boot" echo echo Starting menu init.... echo u_root=/dev/sda2 #Print the defaults setenv showdefs 'echo ""; echo "The following configuration values are defined:"; run enum_defs' setenv enum_defs 'run p_k_addr p_ramfs_addr p_dtb_addr p_dtb p_iodevs p_fs p_part p_boot p_root p_extraargs p_skip_dtb p_pass_dtb' setenv p_k_addr 'echo u_k_addr: $u_k_addr' setenv p_ramfs_addr 'echo u_ramfs_addr: $u_ramfs_addr' setenv p_dtb_addr 'echo u_dtb_addr: $u_dtb_addr ' setenv p_dtb 'echo u_dtb: $u_dtb' setenv p_iodevs 'echo u_iodevs: $u_iodevs' setenv p_fs 'echo u_fs: $u_fs' setenv p_part 'echo u_devpart: $u_devpart' setenv p_boot 'echo u_boot: $u_boot' setenv p_root 'echo u_root: $u_root' setenv p_extraargs 'echo u_extraargs: $u_extraargs' setenv p_skip_dtb 'echo skip_dtb: $skip_dtb (null means a dtb will be loaded)' setenv p_pass_dtb 'echo pass_dtb: $pass_dtb (null means no bootarg passed)' # catcat: variable pointer conversion: input catin, output catout setenv catcat setenv catout\;'setenv catX "setenv catout '\\\\\\\''\$\$catin'\\\\\\\''"' \; run catX # Something failed. setenv failed echo The last operation failed.\; run help\; run false setenv true test 1 = 1 setenv false test 1 = 0 # Some helpful ways of recovering setenv graphical 'systemd_args="systemd.unit=graphical.target cma=64M"; echo "Will boot with graphical target (cma=64M)"' setenv single 'systemd_args="systemd.unit=emergency.target"; opt_bootargs=""; echo "Will boot into single user mode"' setenv rescue 'systemd_args="systemd.unit=rescue.target"; opt_bootargs=""; echo "Will boot into rescue mode"' setenv debug 'systemd_args="earlyprintk systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M"; opt_bootargs=""; echo "Will boot with debug output"' setenv normal 'systemd_args=""; opt_bootargs=$saved_bootargs; echo "Will boot normally"' # main menu setenv menu run 'menu_header menu_clist menu_klist menu_dtblist menu_showdefs menu_single menu_rescue menu_debug menu_graphical menu_normal menu_boot menu_footer' setenv menu_header echo\; echo a-b-c main menu\; echo --------------- setenv menu_clist echo clist: for a list of known board configurations. setenv menu_klist echo klist: for a list of kernels. setenv menu_dtblist echo dtblist: for a list of dtbs. setenv menu_showdefs echo showdefs: for current defaults. setenv menu_single echo single: for single user target on boot. setenv menu_rescue echo rescue: for rescue target on boot. setenv menu_graphical echo graphical: for graphical target on boot. setenv menu_debug echo debug: for verbose debug boot. setenv menu_normal echo normal: for default systemd boot target (default). setenv menu_boot echo bootcmd: boot with currently configured parameters. setenv menu_footer echo\; echo Type \\\'run option\\\' where option is from the above list. setenv help run menu k_count='1 2 3 4' kv1=3.9.9-302.fc19.armv7hl.tegra ka1=tegra kfdtc1="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" k1_1=tegra114-dalmore.dtb k1_2=tegra114-pluto.dtb k1_3=tegra20-harmony.dtb k1_4=tegra20-iris-512.dtb k1_5=tegra20-medcom-wide.dtb k1_6=tegra20-paz00.dtb k1_7=tegra20-plutux.dtb k1_8=tegra20-seaboard.dtb k1_9=tegra20-tec.dtb k1_10=tegra20-trimslice.dtb k1_11=tegra20-ventana.dtb k1_12=tegra20-whistler.dtb k1_13=tegra30-beaver.dtb k1_14=tegra30-cardhu-a02.dtb k1_15=tegra30-cardhu-a04.dtb kv2=3.9.8-300.fc19.armv7hl.tegra ka2=tegra kfdtc2="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" k2_1=tegra114-dalmore.dtb k2_2=tegra114-pluto.dtb k2_3=tegra20-harmony.dtb k2_4=tegra20-iris-512.dtb k2_5=tegra20-medcom-wide.dtb k2_6=tegra20-paz00.dtb k2_7=tegra20-plutux.dtb k2_8=tegra20-seaboard.dtb k2_9=tegra20-tec.dtb k2_10=tegra20-trimslice.dtb k2_11=tegra20-ventana.dtb k2_12=tegra20-whistler.dtb k2_13=tegra30-beaver.dtb k2_14=tegra30-cardhu-a02.dtb k2_15=tegra30-cardhu-a04.dtb kv3=3.10.0-1.fc20.armv7hl ka3=unified kfdtc3="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75" k3_1=am335x-bone.dtb k3_2=am335x-evm.dtb k3_3=am335x-evmsk.dtb k3_4=armada-370-db.dtb k3_5=armada-370-mirabox.dtb k3_6=armada-370-rd.dtb k3_7=armada-xp-db.dtb k3_8=armada-xp-gp.dtb k3_9=armada-xp-openblocks-ax3-4.dtb k3_10=ecx-2000.dtb k3_11=highbank.dtb k3_12=imx25-karo-tx25.dtb k3_13=imx25-pdk.dtb k3_14=imx27-apf27dev.dtb k3_15=imx27-apf27.dtb k3_16=imx27-pdk.dtb k3_17=imx27-phytec-phycore.dtb k3_18=imx31-bug.dtb k3_19=imx51-apf51dev.dtb k3_20=imx51-apf51.dtb k3_21=imx51-babbage.dtb k3_22=imx53-ard.dtb k3_23=imx53-evk.dtb k3_24=imx53-mba53.dtb k3_25=imx53-qsb.dtb k3_26=imx53-smd.dtb k3_27=imx6dl-sabreauto.dtb k3_28=imx6dl-sabresd.dtb k3_29=imx6dl-wandboard.dtb k3_30=imx6q-arm2.dtb k3_31=imx6q-sabreauto.dtb k3_32=imx6q-sabrelite.dtb k3_33=imx6q-sabresd.dtb k3_34=imx6q-sbc6x.dtb k3_35=omap2420-h4.dtb k3_36=omap3430-sdp.dtb k3_37=omap3-beagle.dtb k3_38=omap3-beagle-xm.dtb k3_39=omap3-devkit8000.dtb k3_40=omap3-evm.dtb k3_41=omap3-igep0020.dtb k3_42=omap3-igep0030.dtb k3_43=omap3-tobi.dtb k3_44=omap4-panda-a4.dtb k3_45=omap4-panda.dtb k3_46=omap4-panda-es.dtb k3_47=omap4-sdp.dtb k3_48=omap4-var-som.dtb k3_49=omap5-evm.dtb k3_50=socfpga_cyclone5.dtb k3_51=socfpga_vt.dtb k3_52=sun4i-a10-cubieboard.dtb k3_53=sun4i-a10-hackberry.dtb k3_54=sun4i-a10-mini-xplus.dtb k3_55=sun5i-a13-olinuxino.dtb k3_56=tegra114-dalmore.dtb k3_57=tegra114-pluto.dtb k3_58=tegra20-harmony.dtb k3_59=tegra20-iris-512.dtb k3_60=tegra20-medcom-wide.dtb k3_61=tegra20-paz00.dtb k3_62=tegra20-plutux.dtb k3_63=tegra20-seaboard.dtb k3_64=tegra20-tec.dtb k3_65=tegra20-trimslice.dtb k3_66=tegra20-ventana.dtb k3_67=tegra20-whistler.dtb k3_68=tegra30-beaver.dtb k3_69=tegra30-cardhu-a02.dtb k3_70=tegra30-cardhu-a04.dtb k3_71=vexpress-v2p-ca15_a7.dtb k3_72=vexpress-v2p-ca15-tc1.dtb k3_73=vexpress-v2p-ca5s.dtb k3_74=vexpress-v2p-ca9.dtb k3_75=zynq-zc702.dtb kv4=3.9.6-301.fc19.armv7hl.tegra ka4=tegra kfdtc4="1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" k4_1=tegra114-dalmore.dtb k4_2=tegra114-pluto.dtb k4_3=tegra20-harmony.dtb k4_4=tegra20-iris-512.dtb k4_5=tegra20-medcom-wide.dtb k4_6=tegra20-paz00.dtb k4_7=tegra20-plutux.dtb k4_8=tegra20-seaboard.dtb k4_9=tegra20-tec.dtb k4_10=tegra20-trimslice.dtb k4_11=tegra20-ventana.dtb k4_12=tegra20-whistler.dtb k4_13=tegra30-beaver.dtb k4_14=tegra30-cardhu-a02.dtb k4_15=tegra30-cardhu-a04.dtb setenv k1 "u_k=1; have_k=""; have_i=""; have_d=""; run kl_picked" setenv k2 "u_k=2; have_k=""; have_i=""; have_d=""; run kl_picked" setenv k3 "u_k=3; have_k=""; have_i=""; have_d=""; run kl_picked" setenv k4 "u_k=4; have_k=""; have_i=""; have_d=""; run kl_picked" #Infra for klist command setenv klist "run kl_start kl_enum kl_default kl_end" setenv kl_start echo\; echo Kernel List\; echo ----------- setenv kl_enum for i in \$k_count\;do setenv catin ka\$i\;run catcat \;run kl_enum2 \;done setenv kl_enum2 setenv tmpktype \$catout\;setenv catin kv\$i\;run catcat \;echo k\$i: \$catout for \$tmpktype setenv kl_default echo (Currently selected: k\$u_k: \$u_kernel)\; echo setenv kl_end echo Type \\\'run kX\\\' where X is the kernel number to use. #Run each time a new kernel is selected setenv kl_picked setenv catin kv\$u_k\;run catcat \;setenv u_kernel \$catout\;run kl_picked_2 setenv kl_picked_2 echo Using kernel k\$u_k (\$u_kernel). #Infra for dtblist command setenv dtblist run dtb_start dtb_head dtb_enum dtb_default dtb_end setenv dtb_start echo\; echo "Device Tree Blob (DTB) list"\; echo setenv dtb_head echo Kernel \$u_kernel has the following dtbs available: setenv dtb_enum setenv catin kfdtc\$u_k\;run catcat \;for i in \$catout\;do run dtb_enum2 \;done setenv dtb_enum2 setenv catin k\${u_k}_\$i\; run catcat \; run dtb_enum3 setenv dtb_enum3 echo dtb\$i: \$catout\;setenv dtb\$i u_dtb=\$catout \\\; run dtb_chosen setenv dtb_end echo Type \\\'run dtbX\\\' where X is the dtb number to use. setenv dtb_default echo (Currently selected: \$u_dtb)\; echo setenv dtb_chosen echo DTB selected. Type \\\'boot\\\' to start. #Set a default kernel setenv set_u_k 'if test -n $u_dtb \;then run set_u_k2 ;else run set_u_k_nodtb ;fi' setenv set_u_k2 'u_kernel="";for on_k in $k_count; do run set_u_k3 ;done; run set_u_k8' setenv set_u_k3 'if test -n $u_kernel\;then run true ;else run set_u_k4 ;run set_u_k5 ;fi' setenv set_u_k4 'setenv catin kfdtc$on_k ;run catcat' setenv set_u_k5 'for on_d in $catout; do run set_u_k6 ;run set_u_k7 ;done' setenv set_u_k6 'setenv catin k${on_k}_${on_d}; run catcat' setenv set_u_k7 'if test $catout = $u_dtb ;then run k$on_k ;fi' setenv set_u_k8 'if test -n $u_kernel;then run true;else echo "No kernel provides dtb named $u_dtb";run false;fi' setenv set_u_k_nodtb 'echo "No value for u_dtb. Use klist and dtblist to select."; run help' #Infra for clist command setenv clist "run cl_start cl_enum cl_end" setenv cl_start echo\; echo Board Configuration List\; echo ------------------------ setenv cl_enum for i in \$c_count\;do setenv catin ca\$i\;run catcat \;echo c\$i: \$catout \;done setenv cl_end echo Type \\\'run cX\\\' where X is the board configuration number to use. # begin boot sequence - sanity checks setenv bootcmd run sanity sanity2 sanity3 l_init setenv sanity if test -n \$u_k_addr \;then run true\;else run sanity_noaddr \;fi setenv sanity2 if test -n \$u_ramfs_addr \;then run true\;else run sanity_noaddr \;fi setenv sanity3 'if test -n $skip_dtb||test -n $u_dtb&&test -n $u_dtb_addr;then run true ;else run sanity_nodtb ;fi' setenv sanity_nodtb 'echo Missing load address or name of dtb; run showdefs; run failed' setenv sanity_noaddr 'echo Missing load address for kernel or initramfs; run showdefs; run failed' # basic sanity checks complete, set strings based on boot method setenv l_init run l_init_u_boot l_wrap \; run failed setenv l_init_u_boot if test \$u_boot = bootz\; then run l_init_u_bootz \; else run l_init_u_bootm \;fi setenv l_init_u_bootz 'u_pfx=vmlinuz; u_rpfx=uInitrd' setenv l_init_u_bootm 'u_pfx=uImage; u_rpfx=uInitrd' # load kernel/ramfs/dtb using combinations of dir, iodev, fses and devpart setenv l_wrap for dir in \$u_dir \; do run l_wrap2 \; done setenv l_wrap2 for iodev in \$u_iodevs \; do run l_wrap3 \; done setenv l_wrap3 for fses in \$u_fs \; do run l_wrap4 \; done setenv l_wrap4 for devpart in \$u_devpart \; do run n_kernel \; done # load kernel if needed then/and jump to ramfs setenv n_kernel if test -n \$have_k\;then run n_initramfs \;else run l_kernel \;fi setenv l_kernel if \${fses}load \${iodev} \${devpart} \${u_k_addr} \${dir}\${u_pfx}-\${u_kernel} \;then have_k=1\;fi \;run n_initramfs # load initramfs if needed then/and jump to dtb setenv n_initramfs if test -n \$have_i\;then run n_dtb \;else run l_initramfs \;fi setenv l_initramfs if \${fses}load \${iodev} \${devpart} \${u_ramfs_addr} \${dir}\${u_rpfx}-\${u_kernel}\;then have_i=1\;fi \;run n_dtb setenv n_dtb if test -n \$skip_dtb \|\| test -n \$have_d\;then run l_boot_trio \;else run l_dtb \;fi setenv l_dtb if test -n \$skip_dtb\;then echo Skipping dtb\;run l_boot_trio \;else run l_dtb2 \; fi setenv l_dtb2 if \${fses}load \${iodev} \${devpart} \${u_dtb_addr} \${dir}dtb-\${u_kernel}/\${u_dtb} \;then have_d=1\;run l_boot_trio \;fi setenv l_boot_trio if test -n \$have_k\&\& test -n \$have_i \&\&test -n \$have_d\;then run l_bootargs \;fi setenv l_boot_trio if test -n \$have_k\&\& test -n \$have_i \;then run l_boot_trio_nodtb \;fi setenv l_boot_trio_nodtb if test -n \$skip_dtb\; then run l_bootargs \;else run l_boot_trio_withdtb\; fi setenv l_boot_trio_withdtb if test -n \$have_d\; then run l_bootargs \;else run echo Missing dtb\; fi # construct final boot arguments setenv l_bootargs 'run l_bootargs2; echo bootargs are $bootargs; run l_boot' setenv l_bootargs2 setenv bootargs '$base_bootargs $opt_bootargs root=$u_root $u_extraargs $systemd_args' setenv l_boot 'if test -n $skip_dtb ;then run l_boot2 ;else run l_boot_dtb ;fi' setenv l_boot2 'if test -n $pass_dtb ;then run l_boot_dtb ;else run l_boot_nodtb ;fi' setenv l_boot_dtb '${u_boot} $u_k_addr $u_ramfs_addr $u_dtb_addr' setenv l_boot_nodtb '${u_boot} $u_k_addr $u_ramfs_addr' if test -n $u_dtb; then if run set_u_k; then echo Auto-booting $u_kernel in 3 seconds. Type ^C to abort then \"run menu\" for help. for i in 3 2 1; do echo \\\\c $i; sleep 1; done; echo ... if test 0 = 0; then run bootcmd fi run help else echo "No value for u_kernel. Getting help." echo run help fi else echo "Failed to auto-boot" run set_u_k_nodtb fi