blob: f4e381994bef87babaabbaff3bdd3b3ebb403ad6 [file] [log] [blame]
boot_block_size_r=0x200000
boot_block_size=0x1000
bootloader_file=u-boot-dtb-tegra.bin
spi_size=0x400000
boot_dev=0
flash_uboot=echo Preparing RAM;
mw ${kernel_addr_r} 0 ${boot_block_size_r};
mw ${ramdisk_addr_r} 0 ${boot_block_size_r};
echo Reading BCT;
mmc dev 0 1;
mmc read ${kernel_addr_r} 0 ${boot_block_size};
echo Reading bootloader;
if load mmc ${boot_dev}:1 ${ramdisk_addr_r} ${bootloader_file};
then echo Calculating bootloader size;
size mmc ${boot_dev}:1 ${bootloader_file};
ebtupdate ${kernel_addr_r} ${ramdisk_addr_r} ${filesize};
echo Writing bootloader to eMMC;
mmc dev 0 1;
mmc write ${kernel_addr_r} 0 ${boot_block_size};
mmc dev 0 2;
mmc write ${ramdisk_addr_r} 0 ${boot_block_size};
echo Bootloader written successfully;
pause 'Press ANY key to reboot device...'; reset;
else echo Reading bootloader failed;
pause 'Press ANY key to return to bootmenu...'; bootmenu; fi
update_spi=sf probe 0:1;
echo Dumping current SPI flash content ...;
sf read ${kernel_addr_r} 0x0 ${spi_size};
if fatwrite mmc 1:1 ${kernel_addr_r} spi-flash-backup.bin ${spi_size};
then echo SPI flash content was successfully written into spi-flash-backup.bin;
echo Reading SPI flash binary;
if load mmc 1:1 ${kernel_addr_r} repart-block.bin;
then echo Writing bootloader into SPI flash;
sf probe 0:1;
sf update ${kernel_addr_r} 0x0 ${spi_size};
echo Bootloader SUCCESSFULLY written into SPI flash;
pause 'Press ANY key to reboot...'; reset;
else echo Preparing RAM;
mw ${kernel_addr_r} 0 ${boot_block_size_r};
mw ${ramdisk_addr_r} 0 ${boot_block_size_r};
echo Reading BCT;
sf read ${kernel_addr_r} 0x0 ${boot_block_size_r};
echo Reading bootloader;
if load mmc 1:1 ${ramdisk_addr_r} ${bootloader_file};
then echo Calculating bootloader size;
size mmc 1:1 ${bootloader_file};
ebtupdate ${kernel_addr_r} ${ramdisk_addr_r} ${filesize};
echo Writing bootloader into SPI flash;
sf probe 0:1;
sf update ${kernel_addr_r} 0x0 ${boot_block_size_r};
sf update ${ramdisk_addr_r} ${boot_block_size_r} ${boot_block_size_r};
echo Bootloader written SUCCESSFULLY;
pause 'Press ANY key to reboot...'; reset;
else echo Reading bootloader failed;
pause 'Press ANY key to reboot...'; reset; fi;
fi;
else echo SPI flash backup FAILED! Aborting ...;
pause 'Press ANY key to reboot...'; reset; fi