1 # This is an example file to generate boot.scr - a boot script for U-Boot
3 # ./tools/mkimage -c none -A arm -T script -d autoboot.cmd boot.scr
5 # It requires a list of environment variables to be defined before load:
6 # platform dependent: boardname, fdtfile, console
7 # system dependent: mmcbootdev, mmcbootpart, mmcrootdev, mmcrootpart, rootfstype
9 setenv fdtaddr "40800000"
10 setenv initrdname "uInitrd"
11 setenv initrdaddr "42000000"
12 setenv loaddtb "load mmc ${mmcbootdev}:${mmcbootpart} ${fdtaddr} ${fdtfile}"
13 setenv loadinitrd "load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} ${initrdname}"
14 setenv loadkernel "load mmc ${mmcbootdev}:${mmcbootpart} '${kerneladdr}' '${kernelname}'"
15 setenv kernel_args "setenv bootargs ${console} root=/dev/mmcblk${mmcrootdev}p${mmcrootpart} rootfstype=${rootfstype} rootwait ${opts}"
17 #### Routine: check_dtb - check that target.dtb exists on boot partition
19 if test -e mmc '${mmcbootdev}':'${mmcbootpart}' '${fdtfile}'; then
21 setenv fdt_addr ${fdtaddr};
23 echo Warning! Booting without DTB: '${fdtfile}'!;
27 #### Routine: check_ramdisk - check that uInitrd exists on boot partition
28 setenv check_ramdisk "
29 if test -e mmc '${mmcbootdev}':'${mmcbootpart}' '${initrdname}'; then
30 echo "Found ramdisk image.";
32 setenv initrd_addr ${initrdaddr};
34 echo Warning! Booting without RAMDISK: '${initrdname}'!;
38 #### Routine: boot_fit - check that env $boardname is set and boot proper config of ITB image
40 if test -e '${boardname}'; then
43 setenv kerneladdr 0x42000000;
44 setenv kernelname Image.itb;
45 setenv itbcfg \#'${boardname}';
46 setenv imgbootcmd bootm;
48 echo Warning! Variable: \$boardname is undefined!;
51 #### Routine: setboot_uimg - prepare env to boot uImage
53 setenv kerneladdr 0x40007FC0;
54 setenv kernelname uImage;
56 setenv imgbootcmd bootm;
60 #### Routine: setboot_zimg - prepare env to boot zImage
62 setenv kerneladdr 0x40007FC0;
63 setenv kernelname zImage;
65 setenv imgbootcmd bootz;
69 #### Routine: boot_img - boot the kernel after env setup
73 '${imgbootcmd}' '${kerneladdr}${itbcfg}' '${initrd_addr}' '${fdt_addr}';"
75 #### Routine: autoboot - choose proper boot path
77 if test -e mmc 0:${mmcbootpart} Image.itb; then
78 echo Found kernel image: Image.itb;
81 elif test -e mmc 0:${mmcbootpart} zImage; then
82 echo Found kernel image: zImage;
85 elif test -e mmc 0:${mmcbootpart} uImage; then
86 echo Found kernel image: uImage;
91 #### Execute the defined autoboot macro