Well, now that I have u-boot going, I'm trying to figure out why it has trouble starting from an SD card, whether it's in the slot (mmc 1) or via USB adapter (usb). It gets the same error from u-boot (described below) either way.
As you can see here in this graphic (sorry for the quality, it's a screen capture from a video), it seems to be trying to run via netboot, then 5 seconds later (a timeout I selected) it tries USB. No device there so it moves to mmc 1, which is where it should boot.
Zooming in a bit, I think it runs:
mmc1_boot -- which sets devnum to 1 then runs
mmc_boot -- which runs
mmc_setup -- which sets up mmc stuff for mmc 1 (and rescan/reinits it)
At this point we should have these variables set:
devnum = 1
devtype = mmc
devname = mmcblk1p
then run_disk_boot_script runs, and this is where I think error #1 is:
"run_disk_boot_script=" \
"if fatload ${devtype} ${devnum}:${script_part} " \
"${loadaddr} ${script_img}; then " \
"source ${loadaddr}; " \
"fi\0" \
Ignoring ${loadaddr}, it would look like this if it were running.... if fatload mmc 1:c ${loadaddr} /u-boot/boot.scr.uimg then source ${loadaddr};
I think fatload is likely where it's failing the first time, resulting in the "** No Partition Table **" message.
It has some references to get_device_and_partition() <-- this happens to be the function in disk/part.c that gives the partition error.
So anyhoo, after run_disk_boot_script fails, next it tries the
ext2_boot - which sets some variables, then does an ext2load (to read from partition 3 or 12 I forget) and I bet this is where it fails the second time, getting the 2nd ** No partition Table ** error...
From there it tries mmc 0 (the internal mmc) and the boot continues to load (colorful logo) chrome, but somehow chrom thinks there was damage and does a full system "restore". Every time I test this.
Anyone know what's going on? Could this have something to do with a missing/wrong signature somewhere or something when not running in verified boot? IS the partition schema in a different place when it's running verified? And will I need signed kernels?
Thanks again in advance...