tpcboot.cmd 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # SPDX-License-Identifier: GPL-2.0+
  2. #
  3. # Copyright (C) 2018
  4. # Lukasz Majewski, DENX Software Engineering, lukma@denx.de
  5. # This is an example file to generate boot.scr - a boot script for U-Boot
  6. # Generate boot.scr:
  7. # ./tools/mkimage -c none -A arm -T script -d tpcboot.cmd boot.scr
  8. #
  9. # Input envs (to be set in environment)
  10. # Mandatory:
  11. # kernel_file = "fitImage"
  12. # boardname = "XXXX" // set automatically in u-boot
  13. # boardsoc = "imx6q" // set automatically in u-boot
  14. #
  15. # Optional:
  16. # bootcmd_force = "nfs" "tftp_kernel"
  17. # If not set - eMMC/SD boot
  18. # Generic setup
  19. setenv mmcroot "/dev/mmcblk${devnum}p2 rootwait rw"
  20. setenv displayargs ""
  21. setenv mmcargs "setenv bootargs console=${console} ${smp} root=${mmcroot} \
  22. ${displayargs}"
  23. setenv miscadj "
  24. if test '${boardsoc}' = 'imx53'; then
  25. setenv bootargs '${bootargs} di=${dig_in} key1=${key1}';
  26. fi;"
  27. setenv boot_fitImage "
  28. setenv fdt_conf 'conf@${boardsoc}-${boardname}.dtb';
  29. setenv itbcfg "\"#\${fdt_conf}\"";
  30. print itbcfg;
  31. bootm '${loadaddr}${itbcfg}';"
  32. #------------------------------------------------------------
  33. #
  34. # Provide default 'bootcmd' command
  35. #------------------------------------------------------------
  36. setenv bootcmd "
  37. if test -e ${devtype} ${devnum}:${distro_bootpart} ${kernel_file}; then
  38. echo Found kernel image: ${kernel_file};
  39. if load ${devtype} ${devnum}:${distro_bootpart} ${loadaddr} \
  40. ${kernel_file}; then
  41. run mmcargs;
  42. run miscadj;
  43. run boot_fitImage;
  44. fi;
  45. fi;"
  46. #------------------------------------------------------------
  47. #
  48. # Provide 'boot_tftp_kernel' command
  49. #------------------------------------------------------------
  50. setenv download_kernel "tftpboot ${loadaddr} ${kernel_file}"
  51. setenv boot_tftp_kernel "
  52. if run download_kernel; then
  53. run mmcargs;
  54. run miscadj;
  55. run boot_fitImage;
  56. fi"
  57. #------------------------------------------------------------
  58. #
  59. # Provide 'boot_nfs' command
  60. #------------------------------------------------------------
  61. setenv rootpath "/srv/tftp/KP/rootfs"
  62. setenv nfsargs "setenv bootargs root=/dev/nfs rw \
  63. nfsroot=${serverip}:${rootpath},nolock,nfsvers=3"
  64. setenv addip "setenv bootargs ${bootargs} \
  65. ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:\
  66. ${hostname}:eth0:on"
  67. setenv boot_nfs "
  68. if run download_kernel; then
  69. run nfsargs;
  70. run addip;
  71. setenv bootargs ${bootargs} console=${console};
  72. run boot_fitImage;
  73. fi"
  74. #------------------------------------------------------------
  75. #
  76. # Set correct boot flow
  77. #------------------------------------------------------------
  78. setenv bcmd "
  79. if test ! -n ${bootcmd_force}; then
  80. run bootcmd;
  81. fi;
  82. if test ${bootcmd_force} = nfs; then
  83. run boot_nfs;
  84. else if test ${bootcmd_force} = tftp_kernel; then
  85. run boot_tftp_kernel;
  86. fi;
  87. fi"
  88. run bcmd