blx_fix.sh 946 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/bash
  2. #bl2 file size 41K, bl21 file size 3K (file size not equal runtime size)
  3. #total 44K
  4. #after encrypt process, bl2 add 4K header, cut off 4K tail
  5. #bl30 limit 41K
  6. #bl301 limit 12K
  7. #bl2 limit 41K
  8. #bl21 limit 3K, but encrypt tool need 48K bl2.bin, so fix to 7168byte.
  9. #$7:name flag
  10. if [ "$7" = "bl30" ]; then
  11. declare blx_bin_limit=40960
  12. declare blx01_bin_limit=13312
  13. elif [ "$7" = "bl2" ]; then
  14. declare blx_bin_limit=57344
  15. declare blx01_bin_limit=4096
  16. else
  17. echo "blx_fix name flag not supported!"
  18. exit 1
  19. fi
  20. # blx_size: blx.bin size, zero_size: fill with zeros
  21. declare -i blx_size=`du -b $1 | awk '{print int($1)}'`
  22. declare -i zero_size=$blx_bin_limit-$blx_size
  23. dd if=/dev/zero of=$2 bs=1 count=$zero_size
  24. cat $1 $2 > $3
  25. rm $2
  26. declare -i blx01_size=`du -b $4 | awk '{print int($1)}'`
  27. declare -i zero_size_01=$blx01_bin_limit-$blx01_size
  28. dd if=/dev/zero of=$2 bs=1 count=$zero_size_01
  29. cat $4 $2 > $5
  30. cat $3 $5 > $6
  31. rm $2
  32. exit 0