# to compile this script use: # mkimage -C none -A arm -T script -d boot.cmd boot.scr # fallback default values load_addr=0x01000000 fdtfile=dtb kernelfile=Image initrdfile=uInitrd rootdevice=/dev/mmcblk0p1 rootdevice_flags=rw loglevel=7 os_type=linux echo "Boot script running from ${devtype} ${devnum}" if test ${board_name} = "puma_rk3399"; then if test ${devtype} = "mmc" && test ${devnum} -eq 0;then rootdevice=/dev/mmcblk1p1 if test ! -n ${androidboot_mode}; then androidboot_mode=emmc fi elif test ${devtype} = "mmc" && test ${devnum} -eq 1;then rootdevice=/dev/mmcblk0p1 if test ! -n ${androidboot_mode}; then androidboot_mode=sd fi elif test ${devtype} = "usb"; then rootdevice=/dev/sda1 else if test ! -n ${androidboot_mode}; then androidboot_mode=unknown fi fi fi if test ${board_name} = "lion_rk3368"; then if test ${devtype} = "mmc" && test ${devnum} -eq 0;then rootdevice=/dev/mmcblk1p1 elif test ${devtype} = "mmc" && test ${devnum} -eq 1;then rootdevice=/dev/mmcblk0p1 fi fi if load ${devtype} ${devnum} ${fdt_addr_r} /boot/${board_name}/defaultEnv.txt; then setenv load_path "/boot/${board_name}" echo "Import default environment from /boot/${board_name}/defaultEnv.txt" env import -t ${fdt_addr_r} ${filesize} else if load ${devtype} ${devnum} ${fdt_addr_r} /boot/defaultEnv.txt; then setenv load_path "/boot" echo "Import default environment from /boot/defaultEnv.txt" env import -t ${fdt_addr_r} ${filesize} fi fi if load ${devtype} ${devnum} ${load_addr} ${load_path}/userEnv.txt; then echo "Import default environment from ${load_path}/userEnv.txt" env import -t ${load_addr} ${filesize} fi if test -n ${userscript}; then if load ${devtype} ${devnum} ${load_addr} ${load_path}/${userscript}; then echo "Running userscript from ${load_path}/${userscript}" source ${load_addr} fi fi if test ${os_type} = android; then setenv bootargs "rw rootwait androidboot.hardware=${board_name} androidboot.mode=${androidboot_mode} ${extraargs}" else setenv bootargs "root=${rootdevice} ${rootdevice_flags} rootwait ${console} consoleblank=0 loglevel=${loglevel} ${extraargs}" fi if load ${devtype} ${devnum} ${fdt_addr_r} ${load_path}/${fdtfile}; then echo "Load devicetree from ${load_path}/${fdtfile}" fi fdt addr ${fdt_addr_r} fdt resize for overlay_file in ${overlays}; do if load ${devtype} ${devnum} ${load_addr} ${load_path}/overlays/${overlay_file}; then echo "Apply devicetree overlay ${load_path}/overlays/${overlay_file}" fdt apply ${load_addr} fi done load ${devtype} ${devnum} ${kernel_addr_r} ${load_path}/${kernelfile} if load ${devtype} ${devnum} ${ramdisk_addr_r} ${load_path}/${initrdfile}; then booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} else echo "Start Kernel without initrd" booti ${kernel_addr_r} - ${fdt_addr_r} fi