Hiya! I have a known working microSD card with my own bbl (Linux 4.20
w/patches) and root filesystem (Alpine Linux). This boots up and works fine,
and is my baseline for preparing a second SD card.
I use the following(ish) script to prepare the new card:
Afterwards, I took a dump of the bbl partition from my known working SD card
and compared the SHA to a dump from the new SD card’s bbl partition - and they
match. Examining both disks with gdisk also show that they are apparently
identical, except with respect to the size of the second partition (the new
disk is 128G, the known working disk is 8G).
The new SD card does not boot. The UART shows the serial number of my board and
stops there, not showing the logo baked into my BBL and not booting Linux.
It looks like you created the second SDcard OK. Not clear why it doesn’t work. If the fsbl failed to find the sdcard or bbl it would print an error message, something like 0x00000003 or 0x00000005. You will have to experiment to figure out what is wrong. You can try a different way of creating a second sdcard, or maybe try a different sdcard in case you have a bad one. In freedom-u-sdk, “make format-boot-loader” should produce a bootable sdcard. You also try using dd to copy the entire contents of the first sdcard into a file, and then use dd to copy the file onto the second sdcard.
Thanks. I figured I had it right but wanted to confirm with the experts before getting too creative. I think my next step is going to be copying the known-good card onto the questionable card, and then maybe trying another card entirely if I can dig one up.
Odd that writing bbl last works, unless perhaps bbl is larger than the partition, and dd isn’t stopping at the end of the partition. The bbl write would then be overwriting part of your root file system. I think the fsbl has a limit on how much it can read from the sdcard, so making the partition larger may not work without changes to the fsbl.