09-04-2024, 11:07 PM
>I don't know if SPI flash is completely erased but it certainly seems that way since I cannot even put Tow-boot on, again.
Well, you have to get a boot to be able to write anything
One thing, somewhat advanced, make a plug and flip switch to get serial output (from audio socket)
I have serial from nearly all of my SBC, but not pbp, have not ever opened back, have not made jack
Every image has idbloader and uboot in 1st 16M, also mbr in 1st sector (unless gpt, that is 34 sectors),,, so..
save mbr.... dd if=/dev/something of=emmc.mbr count=1 (dd defaults to bs=512..(bytes))
a still compressed image ... xzcat image |dd of=1st-16M.distro bs=1M count=16
Then using dd write 1st-16M.distro to whatever target, them mbr to overwrite probably wrong mbr
You don't need count, dd will stop when if reaches end of file, but for larger writes to flash bs=1M is MUCH better
Two other things
Under a strong light and a strong magnifying glass, look at emmc pins and socket, for bent pins
There is a (sometimes flaky) button to disable SPI, push, wiggle and hold just before powering on (for 3-5 sec)
(with something bootable in sd and emmc turned off/removed)
It doesn't always work (the button) If it does boot, wipe the SPI again
Oh, last point. If you actualy had tow-boot on SPI, that was what was booting anything, pmOS or other
since SPI is first in the cpu boot order and the 1st idbloader/uboot found is what will be used
Again, when uboot loads it changes boot order, uboot is looking for
boot.scr OR extlinux.conf in 2 specific places (since uboot does not know if it is a 1 or 2 partition setup)
ie boot.scr or boot/boot.scr (some, *BSD I think, use aarch64.efi, this is less common)
Then uboot reads that config file and knows what and where to boot
Well, you have to get a boot to be able to write anything
One thing, somewhat advanced, make a plug and flip switch to get serial output (from audio socket)
I have serial from nearly all of my SBC, but not pbp, have not ever opened back, have not made jack
Every image has idbloader and uboot in 1st 16M, also mbr in 1st sector (unless gpt, that is 34 sectors),,, so..
save mbr.... dd if=/dev/something of=emmc.mbr count=1 (dd defaults to bs=512..(bytes))
a still compressed image ... xzcat image |dd of=1st-16M.distro bs=1M count=16
Then using dd write 1st-16M.distro to whatever target, them mbr to overwrite probably wrong mbr
You don't need count, dd will stop when if reaches end of file, but for larger writes to flash bs=1M is MUCH better
Two other things
Under a strong light and a strong magnifying glass, look at emmc pins and socket, for bent pins
There is a (sometimes flaky) button to disable SPI, push, wiggle and hold just before powering on (for 3-5 sec)
(with something bootable in sd and emmc turned off/removed)
It doesn't always work (the button) If it does boot, wipe the SPI again
Oh, last point. If you actualy had tow-boot on SPI, that was what was booting anything, pmOS or other
since SPI is first in the cpu boot order and the 1st idbloader/uboot found is what will be used
Again, when uboot loads it changes boot order, uboot is looking for
boot.scr OR extlinux.conf in 2 specific places (since uboot does not know if it is a 1 or 2 partition setup)
ie boot.scr or boot/boot.scr (some, *BSD I think, use aarch64.efi, this is less common)
Then uboot reads that config file and knows what and where to boot