Skip to main content

Mastering Bootable USB Creation for Gentoo on macOS: A Guide

Linux / macOS

Creating a Gentoo Bootable USB on Apple Silicon

Why this matters

The standard advice for writing a Linux ISO to a USB drive is to reach for dd and call it a day. On Apple silicon running macOS, that advice can waste your afternoon. The command appears to complete, the USB does not boot, and nothing explains why. Here is what actually works.

The problem

Why dd Falls Short on macOS

The problem is not dd itself. The issue is how macOS handles raw disk access on Apple silicon hardware. Writing an ISO directly to a /dev/disk device often produces a USB that a BIOS or UEFI system will refuse to recognize as bootable.

You can verify that the bytes wrote correctly and still end up with nothing useful at the boot screen.

The more reliable path is to go through macOS’s own disk-image layer first. Converting the ISO to a DMG with hdiutil lets macOS handle the image correctly before dd writes it to physical media.

Practical takeaway On Apple silicon macOS, the missing step is often not a different write tool. It is image conversion before writing.
Method

The Method That Works

1

Convert the ISO to a DMG

Use hdiutil to convert the Gentoo ISO into a DMG. The UDRW format tells macOS to write it as a read/write disk image, which behaves correctly when copied to physical media.

# Replace with your actual Gentoo ISO filename
hdiutil convert /path/to/gentoo.iso \
    -format UDRW \
    -o /path/to/gentoo.dmg
2

Identify your USB device

Run diskutil list before and after inserting your USB drive to confirm which disk number it is. Getting this wrong means writing to the wrong device, so double-check before continuing.

diskutil list
3

Unmount the USB drive

macOS mounts USB drives automatically. Unmount it before writing, but do not eject it. The device node still needs to remain available for dd.

# Replace diskN with your actual disk number, such as disk2
diskutil unmountDisk /dev/diskN
4

Write the DMG to the USB drive

Use dd to copy the DMG to the raw device. The rdisk path bypasses the buffer cache and usually writes much faster on macOS.

# rdiskN is faster than diskN on macOS
sudo dd if=/path/to/gentoo.dmg \
    of=/dev/rdiskN \
    bs=1m \
    status=progress
Sanity check Without status=progress, dd may look like it is doing nothing. That flag gives you visible progress instead of a blank terminal.
5

Eject cleanly

Once dd completes, eject the drive before physically removing it.

diskutil eject /dev/diskN
FAQ

Frequently Asked Questions

These are the practical questions people usually have when a Linux USB works one way on other systems but fails on Apple silicon macOS.

Why is writing the ISO directly with dd not enough here?

Because on Apple silicon macOS, writing the ISO directly to the raw disk can produce media that looks fine at the byte level but still is not recognized as bootable by the target system.

Why convert the ISO to a DMG first?

Converting with hdiutil lets macOS handle the image through its own disk-image layer first, which tends to produce a USB that boots more reliably.

What does -format UDRW do?

It creates a read/write disk image format that behaves correctly when written out to removable media from macOS.

Why use /dev/rdiskN instead of /dev/diskN?

On macOS, the raw device path usually writes faster because it bypasses the normal buffer cache.

Why unmount the USB instead of ejecting it?

Unmounting stops the filesystem from being actively used, but keeps the device node available so dd can still write to it.

How do I avoid writing to the wrong disk?

Compare diskutil list output before and after inserting the USB drive, then verify the disk number carefully before running any write command.

Why is status=progress useful?

Because dd can otherwise appear frozen while it is still working. The progress display gives you visible confirmation that data is being written.

What is the biggest mistake in this process?

Usually either skipping the DMG conversion step or writing to the wrong disk device. Both can cost time, and the second can be destructive.

Further reading

Further Reading

Linux / macOS — Raell Dottin

Comments