DEV Community

Chris Thompson
Chris Thompson

Posted on

18

DragonOS (lubuntu) on USB with persistent storage

DragonOS is a Lubuntu-based Linux distribution for software-defined radio. The x86-64 version runs well from a USB stick. However, I wanted persistent storage. That is, I wanted to be able to save files and change configuration settings and have these stick around when I next booted DragonOS.

I couldn't get this to happen with Rufus or Balena Etcher. I had a preexisting install of Linux and found mkusb worked perfectly. I tested these steps with both Ubuntu (22.04.1 LTS) and Mint (21, Cinnamon). The instructions for mkusb are here.

# Enable the universe repository
sudo add-apt-repository universe
# Add the mkusb PPA
sudo add-apt-repository ppa:mkusb/ppa
sudo apt update
# Install mkusb
sudo apt install mkusb
sudo apt install usb-pack-efi
Enter fullscreen mode Exit fullscreen mode

Now that mkusb is installed, the process is fairly straight-forward. When you start it up, you have the choice of user interface. I picked p, Plug for the new UI. Now, p, Persistent live drive because that's the whole point. mkusb can't quite figure out that DragonOS is based on Lubuntu, so I tell it u, Ubuntu. The rest of the process takes a few minutes.

Reboot to test the results. The process should work the same as booting the non-persistent version. The first boot takes a little time to rearrange the file system. Once DragonOS is up, test the persistence by creating a small file in the home directory, then reboot and see if the file is still there.

That's it. Enjoy your persistent live USB install!

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs