All Architectures

An extremely easy to use, frequently updated software for writing an image file to a memory disk is Balena Etcher.

Microsoft Windows

Win32 Disk Imager

This method uses the Win32 Disk Imager and works for Windows XP/Vista/7/8/10/11

  • Download the newest version of Win32 Disk Imager
  • Install Win32 Disk Imager
  • Plug-in the USB drive you want to use
  • Open Win32 Disk Imager
  • Click the blue folder to open a file dialog
  • Change the file type from "Disk Images (.img .IMG)" to "."
  • Find and select the IPFire ISO or image file (maybe you need to uncompress first with XZ for Windows for example - all the flash and arm images have type "*.xz")
  • Select the correct "Device" (the USB drive)
    • Do not click Read!
  • Click "Write"

Done!

After writing, Windows may not recognize the file system on the USB drive and may offer to format the USB drive. This is normal, so donot format the USB drive. Windows may also report low capacity (around 150MB) even if the USB drive had higher capacity. This is normal, you can easily restore the full capacity later if you need it.

Rufus

This method uses the Rufus and works for Windows XP/Vista/7/8/10.

  • Download the newest version of Rufus
  • Install or use the portable version of Rufus
  • Plug-in the USB drive you want to use
  • Open Rufus
  • Click "SELECT" beside "Boot selection" > "Disk or ISO image"
  • Find and select the IPFire ISO
  • Select the correct "Device" (the USB drive)
  • Click "Start"
  • An "ISOHybrid image detected" window will pop up, select "Write in ISO Image mode"
  • Click "OK"

Done!

If you choose "Write in DD Image mode" instead of "Write in ISO Image mode" you will be prompted to "download installation image" during ipfire setup. The install will fail if the ipfire installer can't acquire an address via DHCP.


You might get prompted to download the current versions of Syslinux in the form of ldlinux.sys and ldlinux.bss. Confirm with "yes."

Linux and other *nixes

Which device is my USB drive?

One method of finding out is open a Linux Terminal and use the command:

lsblk

Using dd

  • Open a terminal
  • Insert the USB drive
  • You will have to unmount the USB drive, to be able to write to it. Do so with the command:
umount /dev/sdX

Change "sdX" to correspond with your USB drive.

Then execute the following commands:

dd bs=4M if=/path/to/ipfire-2.27-core172-x86_64.iso of=/dev/sdX conv=fsync oflag=direct status=progress
eject /dev/sdX

MacOS

Which device is my USB drive?

  • Open a terminal
  • Insert the USB drive
diskutil list

Change "diskX" to correspond with your USB drive.

diskutil unmountdisk /dev/diskX

Then execute the following commands:

sudo dd bs=1m of=/dev/rdiskX if=/path/to/ipfire-2.19.x86_64-full-core118.iso

diskutil eject /dev/diskX

Note: for MacOS using /dev/rdiskX is faster than /dev/diskX. 1