| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- # 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 autoboot.cmd boot.scr
- #
- # It requires a list of environment variables to be defined before load:
- # platform dependent: boardname, fdtfile, console
- # system dependent: mmcbootdev, mmcbootpart, mmcrootdev, mmcrootpart, rootfstype
- #
- setenv fdtaddr "40800000"
- setenv initrdname "uInitrd"
- setenv initrdaddr "42000000"
- setenv loaddtb "load mmc ${mmcbootdev}:${mmcbootpart} ${fdtaddr} ${fdtfile}"
- setenv loadinitrd "load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} ${initrdname}"
- setenv loadkernel "load mmc ${mmcbootdev}:${mmcbootpart} '${kerneladdr}' '${kernelname}'"
- setenv kernel_args "setenv bootargs ${console} root=/dev/mmcblk${mmcrootdev}p${mmcrootpart} rootfstype=${rootfstype} rootwait ${opts}"
- #### Routine: check_dtb - check that target.dtb exists on boot partition
- setenv check_dtb "
- if test -e mmc '${mmcbootdev}':'${mmcbootpart}' '${fdtfile}'; then
- run loaddtb;
- setenv fdt_addr ${fdtaddr};
- else
- echo Warning! Booting without DTB: '${fdtfile}'!;
- setenv fdt_addr;
- fi;"
- #### Routine: check_ramdisk - check that uInitrd exists on boot partition
- setenv check_ramdisk "
- if test -e mmc '${mmcbootdev}':'${mmcbootpart}' '${initrdname}'; then
- echo "Found ramdisk image.";
- run loadinitrd;
- setenv initrd_addr ${initrdaddr};
- else
- echo Warning! Booting without RAMDISK: '${initrdname}'!;
- setenv initrd_addr -;
- fi;"
- #### Routine: boot_fit - check that env $boardname is set and boot proper config of ITB image
- setenv setboot_fit "
- if test -e '${boardname}'; then
- setenv fdt_addr ;
- setenv initrd_addr ;
- setenv kerneladdr 0x42000000;
- setenv kernelname Image.itb;
- setenv itbcfg "\"#${boardname}\"";
- setenv imgbootcmd bootm;
- else
- echo Warning! Variable: \$boardname is undefined!;
- fi"
- #### Routine: setboot_uimg - prepare env to boot uImage
- setenv setboot_uimg "
- setenv kerneladdr 0x40007FC0;
- setenv kernelname uImage;
- setenv itbcfg ;
- setenv imgbootcmd bootm;
- run check_dtb;
- run check_ramdisk;"
- #### Routine: setboot_zimg - prepare env to boot zImage
- setenv setboot_zimg "
- setenv kerneladdr 0x40007FC0;
- setenv kernelname zImage;
- setenv itbcfg ;
- setenv imgbootcmd bootz;
- run check_dtb;
- run check_ramdisk;"
- #### Routine: boot_img - boot the kernel after env setup
- setenv boot_img "
- run loadkernel;
- run kernel_args;
- '${imgbootcmd}' '${kerneladdr}${itbcfg}' '${initrd_addr}' '${fdt_addr}';"
- #### Routine: autoboot - choose proper boot path
- setenv autoboot "
- if test -e mmc 0:${mmcbootpart} Image.itb; then
- echo Found kernel image: Image.itb;
- run setboot_fit;
- run boot_img;
- elif test -e mmc 0:${mmcbootpart} zImage; then
- echo Found kernel image: zImage;
- run setboot_zimg;
- run boot_img;
- elif test -e mmc 0:${mmcbootpart} uImage; then
- echo Found kernel image: uImage;
- run setboot_uimg;
- run boot_img;
- fi;"
- #### Execute the defined autoboot macro
- run autoboot
|