tpcboot.cmd 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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 nfsadj "
  28. if test '${boardsoc}' = 'imx53'; then
  29. if test '${boardtype}' = 'hsc'; then
  30. setenv bootargs '${bootargs} dsa_core.blacklist=yes';
  31. fi;
  32. fi;"
  33. setenv boot_fitImage "
  34. setenv fdt_conf 'conf@${boardsoc}-${boardname}.dtb';
  35. setenv itbcfg "\"#\${fdt_conf}\"";
  36. print itbcfg;
  37. bootm '${loadaddr}${itbcfg}';"
  38. #------------------------------------------------------------
  39. #
  40. # Provide default 'bootcmd' command
  41. #------------------------------------------------------------
  42. setenv bootcmd "
  43. if test -e ${devtype} ${devnum}:${distro_bootpart} ${kernel_file}; then
  44. echo Found kernel image: ${kernel_file};
  45. if load ${devtype} ${devnum}:${distro_bootpart} ${loadaddr} \
  46. ${kernel_file}; then
  47. run mmcargs;
  48. run miscadj;
  49. run boot_fitImage;
  50. fi;
  51. fi;"
  52. #------------------------------------------------------------
  53. #
  54. # Provide 'boot_tftp_kernel' command
  55. #------------------------------------------------------------
  56. setenv download_kernel "dhcp ${loadaddr} ${kernel_file}"
  57. setenv boot_tftp_kernel "
  58. if run download_kernel; then
  59. run mmcargs;
  60. run miscadj;
  61. run boot_fitImage;
  62. fi"
  63. #------------------------------------------------------------
  64. #
  65. # Provide 'boot_nfs' command
  66. #------------------------------------------------------------
  67. setenv nfsargs "setenv bootargs root=/dev/nfs rw nfsroot='${rootpath}',nolock,nfsvers=3"
  68. setenv addip "setenv bootargs '${bootargs}' ip='${ipaddr}':'${serverip}':'${gatewayip}':'${netmask}':'${hostname}':eth0:on"
  69. setenv boot_nfs "
  70. if run download_kernel; then
  71. run nfsargs;
  72. run addip;
  73. run nfsadj;
  74. setenv bootargs '${bootargs}' console=${console};
  75. run boot_fitImage;
  76. fi"
  77. #------------------------------------------------------------
  78. #
  79. # Set correct boot flow
  80. #------------------------------------------------------------
  81. setenv bcmd "
  82. if test ! -n ${bootcmd_force}; then
  83. run bootcmd;
  84. fi;
  85. if test ${bootcmd_force} = nfs; then
  86. run boot_nfs;
  87. else if test ${bootcmd_force} = tftp_kernel; then
  88. run boot_tftp_kernel;
  89. fi;
  90. fi"
  91. run bcmd