en:bpi-r3:uboot
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:bpi-r3:uboot [2022/10/10 07:11] – [building] frank | en:bpi-r3:uboot [2024/04/07 09:39] (current) – [writing emmc] frank | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== U-Boot ====== | ====== U-Boot ====== | ||
+ | |||
+ | [[https:// | ||
Mtk uboot: https:// | Mtk uboot: https:// | ||
Line 23: | Line 25: | ||
sudo dd if=build/ | sudo dd if=build/ | ||
- | ATF branch contains gpt file for flashing first and script to create basic image with bootchain | + | ATF branch contains gpt file (gpt_sdmmc_100m6g.img) |
+ | |||
+ | ./build.sh createimg | ||
===== booting kernel ===== | ===== booting kernel ===== | ||
Line 65: | Line 69: | ||
BPI-R3> run newboot | BPI-R3> run newboot | ||
- | # | + | #using dt-overlay |
BPI-R3> setenv bootconf "# | BPI-R3> setenv bootconf "# | ||
Line 82: | Line 86: | ||
Bootup with sdcard (put spi-nand bl2 + fip with emmc-and usb-support as files on card) and flash them like described [[# | Bootup with sdcard (put spi-nand bl2 + fip with emmc-and usb-support as files on card) and flash them like described [[# | ||
===== nand flash ===== | ===== nand flash ===== | ||
+ | |||
+ | https:// | ||
< | < | ||
Line 133: | Line 139: | ||
</ | </ | ||
+ | ===== nor flash ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | < | ||
+ | MT7986> sf probe | ||
+ | SF: Detected w25q256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB | ||
+ | MT7986> sf erase 0 0x180000 | ||
+ | SF: 1572864 bytes @ 0x0 Erased: OK | ||
+ | MT7986> fatload usb 0:1 ${loadaddr} 2023.04/ | ||
+ | 202160 bytes read in 21 ms (9.2 MiB/s) | ||
+ | MT7986> sf write ${loadaddr} 0 0x40000 | ||
+ | device 0 offset 0x0, size 0x40000 | ||
+ | SF: 262144 bytes @ 0x0 Written: OK | ||
+ | MT7986> fatload usb 0:1 ${loadaddr} 2023.04/ | ||
+ | 255509 bytes read in 25 ms (9.7 MiB/s) | ||
+ | MT7986> sf write ${loadaddr} 0x100000 0x80000 | ||
+ | device 0 offset 0x100000, size 0x80000 | ||
+ | SF: 524288 bytes @ 0x100000 Written: OK | ||
+ | </ | ||
+ | |||
+ | if you get this error on bootup | ||
+ | |||
+ | NOTICE: | ||
+ | No valid device tree binary found at 0000000041e92f20 | ||
+ | initcall sequence 0000000041e621a8 failed at call 0000000041e57800 (err=-2) | ||
+ | ### ERROR ### Please RESET the board ### | ||
+ | |||
+ | you need to compress bl31 | ||
+ | |||
+ | xz -f -e -k -9 -C crc32 u-boot.bin | ||
+ | |||
+ | and use the resulting u-boot.bin.xz as BL33 | ||
+ | |||
+ | ==== kernel/ | ||
+ | |||
+ | currently untested... | ||
+ | |||
+ | < | ||
+ | label = " | ||
+ | reg = < | ||
+ | |||
+ | label = " | ||
+ | reg = < | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | MT7986> sf probe | ||
+ | SF: Detected w25q256 with page size 256 Bytes, erase size 4 KiB, total 32 MiB | ||
+ | MT7986> sf erase 0x180000 0xa80000 | ||
+ | SF: 11010048 bytes @ 0x180000 Erased: OK | ||
+ | MT7986> fatload usb 0:1 ${loadaddr} rootfs_bpi-r3.cpio.zst | ||
+ | 9501203 bytes read in 798 ms (11.4 MiB/s) | ||
+ | MT7986> sf write ${loadaddr} 0x180000 ${filesize} | ||
+ | device 0 offset 0x180000, size 0x90fa13 | ||
+ | SF: 9501203 bytes @ 0x180000 Written: OK | ||
+ | MT7986> sf erase 0xc00000 0x1400000 | ||
+ | SF: 20971520 bytes @ 0xc00000 Erased: OK | ||
+ | MT7986> fatload usb 0:1 ${loadaddr} bpi-r3-6.1.itb | ||
+ | 8424540 bytes read in 708 ms (11.3 MiB/s) | ||
+ | MT7986> sf write ${loadaddr} 0xc00000 ${filesize} | ||
+ | device 0 offset 0xc00000, size 0x808c5c | ||
+ | SF: 8424540 bytes @ 0xc00000 Written: OK | ||
+ | </ | ||
+ | |||
+ | loading it: | ||
+ | |||
+ | < | ||
+ | MT7986> setenv useinitrd ' | ||
+ | MT7986> sf read ${rdaddr} 0x180000 0xa80000 | ||
+ | device 0 offset 0x180000, size 0xa80000 | ||
+ | SF: 11010048 bytes @ 0x180000 Read: OK | ||
+ | MT7986> sf read ${kaddr} 0xc00000 0x1400000 | ||
+ | device 0 offset 0xc00000, size 0x1400000 | ||
+ | SF: 20971520 bytes @ 0xc00000 Read: OK | ||
+ | MT7986> setenv bootnor 'run useinitrd; | ||
+ | MT7986> run bootnor | ||
+ | </ | ||
===== usb ===== | ===== usb ===== | ||
Line 174: | Line 258: | ||
</ | </ | ||
===== writing emmc ===== | ===== writing emmc ===== | ||
+ | |||
+ | :!: newest atf for mediatek needs gpt with fip partition so it must be created first (maybe copy first 1M from sdcard to emmc). | ||
get emmc/gpt information: | get emmc/gpt information: | ||
Line 321: | Line 407: | ||
now flash bl2 to boot0 block and fip to fip partition | now flash bl2 to boot0 block and fip to fip partition | ||
+ | |||
+ | short way using my environment: | ||
+ | < | ||
+ | MT7986> setenv bl2file 2023.04/ | ||
+ | MT7986> setenv fipfile 2023.04/ | ||
+ | MT7986> run wremmc | ||
+ | bl2file=2023.04/ | ||
+ | 195976 bytes read in 20 ms (9.3 MiB/ | ||
+ | | ||
+ | MMC erase: dev # 0, block # 0, count 1024 ... 1024 blocks erased: OK | ||
+ | | ||
+ | MMC write: dev # 0, block # 0, count 1024 ... 1024 blocks written: OK | ||
+ | fipfile=2023.04/ | ||
+ | 645001 bytes read in 58 ms (10.6 MiB/ | ||
+ | | ||
+ | MMC erase: dev # 0, block # 13312, count 4096 ... 4096 blocks erased: OK | ||
+ | | ||
+ | MMC write: dev # 0, block # 13312, count 4096 ... 4096 blocks written: OK | ||
+ | </ | ||
+ | manual way: | ||
+ | < | ||
< | < | ||
BPI-R3> mmc dev 0 | BPI-R3> mmc dev 0 | ||
Line 347: | Line 454: | ||
BPI-R3> | BPI-R3> | ||
</ | </ | ||
+ | </ | ||
If boot from emmc does not work,maybe bootbus needs to be changed to 0: | If boot from emmc does not work,maybe bootbus needs to be changed to 0: | ||
mmc bootbus 0 0 0 0 | mmc bootbus 0 0 0 0 | ||
+ | |||
+ | |||
+ | instead of writing the gpt image file you can bootup a linux with initrd | ||
+ | |||
+ | you get all files here: https:// | ||
+ | |||
+ | BPI-R3> run useusb | ||
+ | BPI-R3> setenv initrd rootfs.cpio.zst | ||
+ | BPI-R3> setenv fit bpi-r3.itb | ||
+ | BPI-R3> run newboot | ||
+ | |||
+ | and create gpt like i do it for [[https:// | ||
+ | |||
+ | < | ||
+ | sudo sgdisk -o ${LDEV} | ||
+ | #sudo sgdisk -a 1 -n 1:34:8191 -A 1:set:2 -t 1:8300 -c 1:" | ||
+ | sudo sgdisk -a 1 -n 1:0:33 -A 1:set:2 -t 1:8300 -c 1:" | ||
+ | sudo sgdisk -a 1 -n 2: | ||
+ | sudo sgdisk -a 1 -n 3: | ||
+ | sudo sgdisk -a 1 -n 4: | ||
+ | sudo sgdisk -a 1024 -n 5: | ||
+ | sudo sgdisk -a 1024 -n 6: | ||
+ | </ | ||
===== chainload uboot ===== | ===== chainload uboot ===== | ||
en/bpi-r3/uboot.1665378681.txt.gz · Last modified: 2023/06/08 17:06 (external edit)