Dual Booting on the UConsole

Hello everyone!

I’ve been working on setting up dual boot on my UConsole—one system for playing retro games and another for security testing. Since managing both on a single SD card is quite complicated, I decided to try a hardware-level solution for dual booting. After some searching, I came across this handy SD card switcher on AliExpress:

SD Card Switcher on AliExpress

The Setup:

I’ve got two SD cards—one running Debian Bookworm and the other running Parrot OS (both images from Rex - thanks to him). At first, things didn’t work as expected. But after a bit of research, I found a solution that worked perfectly. Here’s the resource I used:

Geekworm Dual Micro SD Card Adapter Wiki

How to Fix the Booting Issue:

If you’re trying something similar, here’s a simple summary of the steps I followed:

  1. Backup cmdline.txt: Use this command to backup the file in case something goes wrong:
sudo cp /boot/cmdline.txt /boot/cmdline.txt.bak

For Bookworm, the file is located in /boot/firmware/cmdline.txt.
2. Edit the cmdline.txt: Open the cmdline.txt file and find the line that looks like this:

root=PARTUUID=xxxxxxxx-xx

Replace it with:

root=/dev/mmcblk0p2
  1. Add a Debug Quirk: Append the following at the end of the cmdline.txt file:
sdhci.debug_quirks2=4

Now, I can easily switch between operating systems. All I have to do is power off the UConsole, flip the switch on the SD card adapter, and boot from the SD card I want!


4 Likes

Have you tried something like that ? GitHub - procount/pinn: An enhanced Operating System installer for the Raspberry Pi

PINN won’t work on the uConsole without a lot of work.