mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-26 13:03:40 +00:00
88419bb2d6
'script' bootmethod that should be used with CONFIG_BOOTSTD. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
80 lines
2.1 KiB
Bash
80 lines
2.1 KiB
Bash
mmcdev=0
|
|
mmcrootfstype=ext4 rootwait
|
|
finduuid=part uuid ${boot} ${bootpart} uuid
|
|
args_mmc=run finduuid;setenv bootargs console=${console}
|
|
${optargs}
|
|
root=PARTUUID=${uuid} rw
|
|
rootfstype=${mmcrootfstype}
|
|
#ifndef CONFIG_BOOTSTD
|
|
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
|
|
#endif
|
|
bootscript=echo Running bootscript from mmc${mmcdev} ...;
|
|
source ${loadaddr}
|
|
bootenvfile=uEnv.txt
|
|
importbootenv=echo Importing environment from mmc${mmcdev} ...;
|
|
env import -t ${loadaddr} ${filesize}
|
|
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
|
|
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
|
|
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/dtb/${fdtfile}
|
|
get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/dtb/${name_fdt}
|
|
envboot=if mmc dev ${mmcdev}; then
|
|
if mmc rescan; then
|
|
echo SD/MMC found on device ${mmcdev};
|
|
if test -n "${loadbootscript}" && run loadbootscript; then
|
|
run bootscript;
|
|
else
|
|
if run loadbootenv; then
|
|
echo Loaded env from ${bootenvfile};
|
|
run importbootenv;
|
|
fi;
|
|
if test -n $uenvcmd; then
|
|
echo Running uenvcmd ...;
|
|
run uenvcmd;
|
|
fi;
|
|
fi;
|
|
fi;
|
|
fi;
|
|
mmcloados=
|
|
if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
|
|
if run get_fdt_mmc; then
|
|
bootz ${loadaddr} - ${fdtaddr};
|
|
else
|
|
if test ${boot_fdt} = try; then
|
|
bootz;
|
|
else
|
|
echo WARN: Cannot load the DT;
|
|
fi;
|
|
fi;
|
|
else
|
|
bootz;
|
|
fi;
|
|
mmcboot=if mmc dev ${mmcdev}; then
|
|
devnum=${mmcdev};
|
|
devtype=mmc;
|
|
if mmc rescan; then
|
|
echo SD/MMC found on device ${mmcdev};
|
|
if run loadimage; then
|
|
run args_mmc;
|
|
if test ${boot_fit} -eq 1; then
|
|
run run_fit;
|
|
else
|
|
run mmcloados;
|
|
fi;
|
|
fi;
|
|
fi;
|
|
fi;
|
|
|
|
init_mmc=run args_all args_mmc
|
|
get_overlay_mmc=
|
|
fdt address ${fdtaddr};
|
|
fdt resize 0x100000;
|
|
for overlay in $name_overlays;
|
|
do;
|
|
load mmc ${bootpart} ${dtboaddr} ${bootdir}/dtb/${overlay} &&
|
|
fdt apply ${dtboaddr};
|
|
done;
|
|
get_kern_mmc=load mmc ${bootpart} ${loadaddr}
|
|
${bootdir}/${name_kern}
|
|
get_fit_mmc=load mmc ${bootpart} ${addr_fit}
|
|
${bootdir}/${name_fit}
|
|
partitions=name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
|