Simple fix for Reform SD card stick-out

My Reform is my main desktop machine, so it doesn’t get moved much. But a couple times I managed to pop out the /boot SD card (no harm done; pop in and mount -a) but I fear taking it somewhere and losing the boot disk.

So I ground it flush. You know the silicon is tiny and up near the connectors… I ground it near-flush on a small belt sander, rounded the corners, and lo!

(Long long ago in a galaxy far far away I used to occasionally staple notes to 8" floppy disks, casually at someone’s desk – “here’s the files you want!” KA-CHUNK – because the disc is round and the case square… choose your location carefully and its fiiiiiiine…)

(Pad of green post-its to highlight the new stick-out height.)

5 Likes

I’ve just YOLO’d it and flashed u-boot to eMMC… No SD Card on my Reform…

Though, to be honest, I had bought a CM4 I/O Board before that, so that I could unbrick the device if anything goes wrong.

1 Like

And… did it work for you?

If you don’t mind it being impossible to get out without a tool, you could also use one of those half length SD card to micro-SD adapters that used to be somewhat common for the original Raspberry Pi. They also seem to still be around too for laptops with full sized slots but non-recessed ones. Searching for “low profile micro sd adapter” or “short micro sd adapter” seems to bring up some results.

You mean installing to eMMC?
Yes, but only on second attempt.
On first attempt I messed up badly and accidentally flashed it to the wrong device, nuking the file system on /dev/mmcblk1p1, which I use as /boot partition. Luckily I could still boot off SD card after that, and fsck was able to salvage the file system…
After that “small” mishap, flashing to eMMC following the guide at U-Boot for BananaPi CM4 with CM4IO (A311D) — Das U-Boot unknown version documentation just worked. I had to remove the write-protection of the /dev/mmcblk1boot0 partition first, of course, but that’s just a flag in sysfs (if I remember correctly, it’s /sys/block/mmcblk1boot0/force_ro).

In order to make sure that the u-boot image was actually working, I tried the same self-compiled u-boot image on SD-card first.

That means you compiled your own u-boot instead of using the one provided here? Artifacts · build (#4747) · Jobs · Reform / reform-a311d-uboot · GitLab

Indeed.

I have taken the sources from the u-boot github rep, checked out the tag v2024.01, which was the latest release back then, and added the dts and defconfig files from Reform / reform-a311d-uboot · GitLab. Then I applied the patches from there too and compiled the result with an arm64 cross toolchain (on my AMD64 desktop - on the reform obviously no cross toolchain is needed).

Then I signed the resulting files files using the tool from GitHub - LibreELEC/amlogic-boot-fip: Firmware Image Package (FIP) sources to sign Amlogic u-boot binaries in LibreELEC, Armbian and meta-meson. For the signing procedure, I consulted both, the build script from MNT, and the u-boot docs. I don’t remember the exact command, but it was mostly following the build script.

And, to my own surprise, this worked on first try after flashing it to an SD card. I used the very same image later for the eMMC install.

1 Like

FWIW you could probably use one of these short microSD adapters and spare a defenseless SD card an unnecessary lobotomy: For MID MacBook Pro/Air MicroSD Card Adapter,Minidive, TF to Short SD Adapter | eBay