How to easily create a bootable USB to install Garuda

Here is an easy way to create a bootable USB Drive, using a Linux system, to boot Garuda (and multiple other Linux distributions), with just copying the ISO file that you have downloaded from the Download page.

  1. You need an empty USB disk with at least the size of the downloaded ISOs that you want to use to multiboot. An 8 GB disk is enough, but you may use a larger size if you want.
  2. Follow this guide to prepare the USB disk. If you feel uncomfortable with the manual way, use the script (Go to the section Using the script).
  1. After you finish successfully, unplug and replug the USB drive to your PC. Open your file manager and mount the drive, if it is not already mounted.
    There should be 2 partitions. Find the data partition (it should contain two folders boot and isos.
  2. Copy the Garuda iso file into the isos folder.

That should normally be all, but the current project does not yet include the proper configuration file for Garuda Linux. Until this happens you need to add it manually.

  1. Create a folder in the grub folder and name it garuda.d. It should look like this:
$USBDISK/boot/grub/mbusb.d/garuda.d
  1. Create a text file inside this folder, name it generic.cfg and paste the following inside:
for isofile in $isopath/garuda-*.iso; do
  if [ -e "$isofile" ]; then
    regexp --set=isoname "$isopath/(.*)" "$isofile"
    submenu "$isoname ->" "$isofile" {
      iso_path="$2"
      loopback loop "$iso_path"
      probe --label --set=cd_label (loop)
      menuentry "Start Garuda Linux" {
        bootoptions="img_dev=$imgdevpath img_loop=$iso_path earlymodules=loop misobasedir=garuda misolabel=$cd_label nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 logo.nologo overlay=free quiet  showopts"
        linux (loop)/boot/vmlinuz-* $bootoptions
        initrd (loop)/boot/initramfs-*.img
      }
      menuentry "Start Garuda Linux amdgpu not-radeon" {
        bootoptions="img_dev=$imgdevpath img_loop=$iso_path earlymodules=loop misobasedir=garuda misolabel=$cd_label nouveau.modeset=1 i915.modeset=1 radeon.modeset=0 amdgpu.modeset=1 logo.nologo overlay=free quiet  showopts"
        linux (loop)/boot/vmlinuz-* $bootoptions
        initrd (loop)/boot/initramfs-*.img
      }
      menuentry "Start (nvidia proprietary non-free drivers)" {
        bootoptions="img_dev=$imgdevpath img_loop=$iso_path earlymodules=loop misobasedir=garuda misolabel=$cd_label nouveau.modeset=0 i915.modeset=1 radeon.modeset=1 nonfree=yes logo.nologo overlay=nonfree quiet  showopts"
        linux (loop)/boot/vmlinuz-* $bootoptions
        initrd (loop)/boot/initramfs-*.img
      }
      menuentry "Start Garuda no nVidia" {
        bootoptions="img_dev=$imgdevpath img_loop=$iso_path earlymodules=loop misobasedir=garuda misolabel=$cd_label nouveau.modeset=0 i915.modeset=1 radeon.modeset=1 logo.nologo overlay=free quiet  showopts"
        linux (loop)/boot/vmlinuz-* $bootoptions
        initrd (loop)/boot/initramfs-*.img
      }
    }
  fi
done

Now you are ready!
Note: Don't forget to safely remove the USB drive.


If you use this guide to boot Garuda ISOs, please share your problems, or your excitement. :grinning_face_with_smiling_eyes:

Use another topic in the forum, choosing a relevant category, since this is not open to replies.

4 Likes