sd_fuse() { if [ ! -b /dev/mmcblk0 ]; then echo "No MMC device to flash, exiting." exit 0 fi # Flash U-Boot dd if=/boot/u-boot-clearfog.$1.mmc of=/dev/mmcblk0 bs=512 seek=1 # Zero out old U-Boot environment dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1920 count=128 #Flash new U-Boot environemnt dd if=/boot/clearfog.env of=/dev/mmcblk0 bs=512 seek=1920 } flash_uboot() { echo "A new U-Boot version needs to be flashed onto /dev/mmcblk0." echo "Do you want to do this now? [y|N]" read -r shouldwe if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then choose_uboot else echo "You can do this later by running:" echo "# cd /boot; ./sd_fusing.sh /dev/mmcblk0" fi } choose_uboot() { while : do cat< 1) PCIe, PCIe (default) 2) PCIe, mSata 3) mSata, PCIe 4) mSata, mSata EOF read -n1 -s case "$REPLY" in "1") sd_fuse pp break ;; "2") sd_fuse ps break ;; "3") sd_fuse sp break ;; "4") sd_fuse ss break ;; * ) echo "invalid option" ;; esac done } post_install() { flash_uboot } post_upgrade() { flash_uboot }