No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

flash.sh 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #!/bin/sh
  2. if [ "$#" -ne 1 ] ; then
  3. echo "Usage: $0 /dev/disk" >&2
  4. exit 1
  5. fi
  6. # Unmount mounted partitions
  7. for fs in `grep $1 /proc/mounts|cut -d ' ' -f 1` ; do
  8. echo Unmounting $fs
  9. sudo umount $fs
  10. done
  11. echo Overwriting old partition table
  12. sudo dd if=/dev/zero of=$1 bs=1024 count=1024
  13. echo Recreating new partition table
  14. sudo fdisk $1 << EOF
  15. n
  16. p
  17. 1
  18. +16MB
  19. t
  20. 53
  21. n
  22. p
  23. 2
  24. w
  25. EOF
  26. if [ -e output/images/imx23_olinuxino_dev_linux.sb ] ; then
  27. echo Writing mxs-bootlet bootstream
  28. sudo dd if=output/images/imx23_olinuxino_dev_linux.sb bs=512 of="$1"1 seek=4
  29. elif [ -e output/images/u-boot.sd ] ; then
  30. echo Writing U-Boot bootstream
  31. sudo dd if=output/images/u-boot.sd of="$1"1
  32. elif [ -e output/images/ ] ; then
  33. echo Creaeting boot filesystem
  34. sudo mkfs.vfat -F 16 -n boot "$1"1
  35. echo Mounting boot filesystem
  36. sudo mkdir -p /media/boot
  37. sudo mount "$1"1 /media/boot
  38. echo Copying bootloader files
  39. sudo cp output/images/rpi-firmware/* /media/boot/
  40. sudo cp output/images/*.dtb /media/boot/
  41. echo Preparing and copying Kernel Image
  42. output/host/usr/bin/mkknlimg output/images/zImage /media/boot/zImage
  43. echo Synchronising changes to disk
  44. sudo sync
  45. echo Unmounting boot filesystem
  46. sudo umount /media/boot
  47. sudo rm -rf /media/boot
  48. else
  49. echo Could not find a suitable bootstream!
  50. fi
  51. if [ -e output/images/rootfs.tar ] ; then
  52. echo Creating root filesystem
  53. sudo mkfs.ext4 "$1"2 -L rootfs
  54. echo Mounting root filesystem
  55. sudo mkdir -p /media/rootfs
  56. sudo mount "$1"2 /media/rootfs
  57. echo Copying root filesystem
  58. sudo tar xfp output/images/rootfs.tar -C /media/rootfs
  59. echo Synchronising changes to disk
  60. sudo sync
  61. echo Unmounting root filesystem
  62. sudo umount /media/rootfs
  63. sudo rm -rf /media/rootfs
  64. elif [ -e output/images/rootfs.ext2 ] ; then
  65. echo Writing ext2 root filesystem
  66. sudo dd if=output/images/rootfs.ext2 of="$1"2 bs=512
  67. echo Synchronising changes to disk
  68. sudo sync
  69. else
  70. echo Could not find a suitable root filesystem!
  71. fi