Sweet Potato Switch?

I have a plethora of Libre Boards (Le Potato (Octoprint), Tritium (Octoprint), Renegade (Octoprint) and just got the Sweet Potato (Nextcloud/NFS server).

Explanation:
As a test I used dd to write the img file from Libre Computer (Ubuntu Server) while booted into the Sweet Potato on the SD card. Worked fine, but I do not want to use Ubuntu Server so I am trying to wipe, and load stock Debian on the eMMC (eventually running DietPi).

Now, no mater what I do, if the eMMC card is plugged in, the Sweet Potato will try to boot into it (but it is broken, stops and gives “Control D to continue” - I want to wipe and redo). I updated the BIOS from the instructions on Libre.Computer UEFI-BIOS to sd card, boot, let it run, shutdown move on.

Long messy question, I hope I didn’t miss anything vital.

  1. I can not find any instructions on what the BIOS switch does. I do know that it will only boot with the switch pushed away from the USB connectors. Does it matter where it is when I try to do the eMMC chip? I assume NO sd card installed when trying to run pyamlboot.

I use the top USB port closest to the network port, hold the button down while I plug the USB cord in, release the button a second or two after I plug it in, and enter the pyamlboot commands below (one to wipe, one to make eMMC mount like a usb stick through the USB cord). The only thing plugged into the board when doing this is the USB A cord, nothing else (I have tried to plugin the power also, no difference).

I downloaded this from github: The commands I am using are:
sudo pyamlboot/run.sh aml-s905x-cc erase-emmc
and after unplugging, and plugging back in I run
sudo pyamlboot/run.sh aml-s905x-cc ums-emmc

  1. Even with the keyboard plugged into the top USB port closest to the network port, the keyboard is not recognized when GRUB comes up with the menu (when booting from Micro SD Card).

Tools I’ve been using:

  • USB A to USB A cord into my PC (Arch Linux).
  • This githup tool:
    git clone --single-branch GitHub - libre-computer-project/pyamlboot: Amlogic USB Boot Protocol Library -b scripts
  • Large 5V/5A USB C power source (and a wall wart 5.1V/5A USB C charger as a test) - both work with out low voltage warnings on the Raspberry PI 5.
  • Network cable (no dongles)
  • Wired USB Keyboard
  • HDMI Monitor

I need the little extra speed provided by the eMMC for my backup storage to work (tried to use another RPi 3 and a RPi 4 with sd card and it just wasn’t holding up - My RPi 5 is running the Pineberry Hat with 256G of memory as my backup desktop). USB storage drives are powered. There are three 10TB drives that will be busy at night, but otherwise just hanging out :slight_smile: :wink:.

The boot switch controls whether it loads the BIOS from SPI or a custom bootloader from SD/eMMC. It does not control UEFI boot order sequence. That is fixed depending on the boot_targets variable in the BIOS. You can set that variable via boot.ini on the eMMC first partition. Put in the boot.ini file boot_targets=usb mmc1 mmc0 will set the UEFI search sequence to USB, then SD, then eMMC.

1 Like