[GUIDE] [TUTORIAL] Performance-Boost: “Hybrid-Boot” Setup for Ugoos AM9 Pro
Since CoreELEC searches for the system drive by the partition label “STORAGE” during boot, we can exploit this to use a fast USB SSD as our primary storage while using a microSD card only as a “boot key” (bootloader).
Requirements:
-
A microSD card (used strictly as a bootloader).
-
A fast USB 3.0 stick or NVMe SSD enclosure.
-
An SSH client (e.g., PuTTY).
Step 1: Base Installation
Flash the CoreELEC image onto both the microSD card and the USB SSD using Rufus or the CoreELEC USB-SD Creator. Note: Rufus automatically sets the partition label of the second partition to “STORAGE”.
Step 2: Preparing the SD Card as a “Boot Key” (SD_STORAGE)
Since the SSD already has the label “STORAGE”, we need to prevent the SD card from mounting itself as /storage during the boot process by renaming its label:
-
Boot CoreELEC from the SD card.
-
Connect to your box via SSH.
-
Identify your SD card partition using lsblk (usually mmcblk1p2).
-
Unmount the storage: umount /storage. If the system reports the device is busy, use umount -l /storage (lazy unmount) to force it.
-
Rename the SD partition label: e2label /dev/mmcblk1p2 SD_STORAGE
-
Verify the change: e2label /dev/mmcblk1p2 — it should now display SD_STORAGE.
Step 3: Finalizing and Future-Proofing:
Reboot the box. The system will boot from the SD card, but since it can no longer find the “STORAGE” label there, the kernel will continue searching and automatically mount your USB SSD (which carries the “STORAGE” label) as /storage.
Note: Once firmware version 2.1.1 is available, you will be able to simply eject the SD card after the boot process is complete.
Thanks to Jamal for the confirmation that this process works flawlessly.
Verification: Check the result with: df -h /storage. It should now point to /dev/sda2 (your SSD).
Benchmarks & Comparison
I’ve tested this on both the AM6B Plus and my new AM9 Pro. The performance jump compared to a high-end SD card is significant.
Performance Test (dd command): dd if=/dev/zero of=/storage/testfile bs=1M count=500
-
Ugoos AM9 Pro (SSD - Phixero P201): 514.3 MB/s (0.97s)
-
Ugoos AM6B Plus (SSD - Phixero P201): 421.4 MB/s (1.18s)
-
Reference: SanDisk Extreme Pro 128GB SD Card: 84.4 MB/s (5.92s)
*Don’t forget to clean up the test file afterwards: rm /storage/testfile
*
—————————————————————————————————————————–
Pro-Tip: The “UUID-Method” (Advanced Configuration)
A big shout-out to cuker for suggesting an even more robust way to handle the boot process. While the “Label-Method” above is excellent for its flexibility, you can also hard-code your SSD as the storage drive using its unique ID (UUID). This ensures the box always boots from the correct partition, even if you have multiple drives connected.
How to set it up without booting the box:
-
Get the Tools: Download DiskGenius (Free Version) to your Windows PC.
-
Extract the UUID:
-
Connect your USB SSD to your PC.
-
Open DiskGenius and select your USB SSD in the left panel.
-
Click on the second partition (formatted as EXT4, labeled STORAGE).
-
Right-click it and select “Partition Properties” to find the “Volume UUID”. Copy this code.
-
-
Configure the Boot Key (SD):
-
Insert your microSD card (the “boot key”) into your PC.
-
Open the config.ini file on the root of the SD card.
-
Add the following line to the very bottom of the file (replace the example ID with your actual UUID):
coreelec=‘quiet disk=UUID=4f633de2-4da9-4001-99fe-280a595d3392’ -
Save the file.
-
-
Boot & Verify:
-
Insert both the SD card and the USB SSD into your AM9 Pro and power it on.
-
The box will use the SD card as a boot loader and immediately switch to the SSD for storage.
-
Verify the success via SSH (PuTTY) with these commands:
-
df -h /storage (Should point to /dev/sda2)
-
ls -l /dev/disk/by-uuid/ (Confirm your UUID points to ../../sda2)
-
-
Thanks again to cuker for this refined approach!
—————————————————————————————————————————–
**
[AM9 Pro] “Ignition Key” Boot Image (Ready-to-go)** For those who don’t feel like dealing with SSH, PuTTY, or manually editing config.ini files:
-
Content: An extremely compact boot image (approx. 342 MB) containing only the necessary boot partition.
-
Advantage: No more manual adjustment of UUIDs required.
-
Procedure:
-
Flash AM9_Pro_Boot.img.gz onto a microSD card using Rufus (the AM9 Pro dtb.img, the UR01 remote.conf, and the UR02 remote2.conf are already included in the image). Only the patched 5.15-kernel dovi.ko needs to be copied into the root of the SD card afterwards.
-
Insert the USB stick or SSD containing the original CoreELEC22-NO build image and the SD card into the box, then power it on – that’s it. The system will boot from the SD card, automatically detect the STORAGE label on the USB drive, and load CoreELEC.
-
New Download: 342.55 MB file on MEGA
Update Note: I accidentally included the dtb.img for the AM6B Plus in the previous image. If you are already using that file, you just need to swap it:
-
Rename
s6_s905x5_ugoos_am9_pro.dtb(from thedevice_treesfolder) todtb.img. -
Overwrite the existing
dtb.imgin the root of your SD card with it.
Sorry for the confusion!