I wanted to update the firmware in my gen1 Galileo board, so I could try Microsoft's IoT platform.
However, I am unable to boot successfully _without_ an SD card (which is required to update the firmware). I searched the boards for issues similar to mine, and no one else seemed to report this same issue.
NOTE: The board boots and run fine from an uSD card. Ethernet and everything...
When I remove the SD card for a straight boot from the on-board flash, I get an error early in the Linux boot sequence:
<<snip>> [ 3.991598] tsc: Refined TSC clocksource calibration: 399.076 MHz [ 3.997932] Switching to clocksource tsc [ 4.810639] LZMA data is corrupt [ 4.846960] List of all partitions: [ 4.850638] No filesystem could mount root, tried: ext3 ext2 vfat [ 4.857231] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0) [ 4.860550] Pid: 1, comm: swapper Tainted: G W 3.8.7-yocto-standard #1 [ 4.860550] Call Trace: [ 4.860550]  panic+0x82/0x16a [ 4.860550]  mount_block_root+0x21f/0x22f [ 4.860550]  ? sys_mknod+0x28/0x30 [ 4.860550]  mount_root+0x5e/0x64 [ 4.860550]  prepare_namespace+0x149/0x18d [ 4.860550]  ? sys_access+0x20/0x30 [ 4.860550]  kernel_init_freeable+0x198/0x1a0 [ 4.860550]  ? do_early_param+0x7a/0x7a [ 4.860550]  kernel_init+0xb/0xd0 [ 4.860550]  ret_from_kernel_thread+0x1b/0x30 [ 4.860550]  ? rest_init+0xb0/0xb0
Based on these errors from the Linux serial log, I think there is a corrupted disk image in the onboard flash... So I want to recover the firmware using the serial port, right?
Using the same serial debug cable, I attempted to use firmware recovery mode to restore on-board FW that way. I grounded the resistor, however I never see the recovery menu.
Upon boot with the resistor grounded, I get a strange error output, the screen clears on the serial view, and then I get the normal boot menu (captured output follows):
ERROR: C40000002:V306000A I0 378D7B65-8DA9-4773-B6E4-A47826A833E1 Press [Enter] to directly boot. Press [F7] to show boot menu options.
A postscript: poking around from grub, I see routines enticingly named cln_fw_recovery (on-board) and cln_sdio_program (SD card) when I type help. Any possibilities to recover my firmware using those?