Installation on raid0

There are a million tutorials on how to setup booting from a raid0 out there, but many of them are very old, and the methods i have tried generally result in the installer crashing or displaying an error before failing. I’m asking for guidance on how it should be setup for surviving grub and kernel updates, as well as completing the installation to first boot.

I have 2 500GB nvme drives using efi booting. What combination of partitioning, lvm, btrfs, mdraid, or zfs is expected by the installer?


sudo garuda-inxi
[sudo] password for nick:
Kernel: 6.8.9-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc avail: acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=2d73e66c-d677-4ec4-a7c7-1d11f3992ebc rw rootflags=subvol=@
quiet rd.luks.uuid=7f8d5fb0-0d6f-4e8d-9c39-be86e6e54851 loglevel=3
Desktop: KDE Plasma v: 6.0.4 tk: Qt v: N/A wm: kwin_wayland dm: SDDM
Distro: Garuda base: Arch Linux
Type: Laptop System: ASUSTeK product: ASUS EXPERTBOOK B3302CEA_B5302CEA
v: 1.0 serial: <filter>
Mobo: ASUSTeK model: B3302CEA v: 1.0 serial: <filter>
uuid: 0cb5ffaa-6b59-b94a-846b-a5d99c40b9af UEFI: American Megatrends LLC.
v: B3302CEA.311 date: 07/04/2023
ID-1: BAT0 charge: 55.8 Wh (100.0%) condition: 55.8/66.1 Wh (84.5%)
volts: 15.7 min: 15.7 model: ASUSTeK B3302CEA type: Li-ion serial: <filter>
status: full cycles: 143
Info: model: 11th Gen Intel Core i5-1135G7 socket: U3E1 bits: 64
type: MT MCP arch: Tiger Lake gen: core 11 level: v4 note: check built: 2020
process: Intel 10nm family: 6 model-id: 0x8C (140) stepping: 1
microcode: 0xB6
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 320 KiB desc: d-4x48 KiB; i-4x32 KiB L2: 5 MiB desc: 4x1.2 MiB L3: 8 MiB
desc: 1x8 MiB
Speed (MHz): avg: 647 high: 1164 min/max: 400/4200 base/boost: 2400/4200
scaling: driver: intel_pstate governor: powersave volts: 0.8 V
ext-clock: 100 MHz cores: 1: 400 2: 400 3: 400 4: 1164 5: 400 6: 1155
7: 400 8: 864 bogomips: 38707
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] vendor: ASUSTeK
driver: i915 v: kernel alternate: xe arch: Gen-12.1 process: Intel 10nm
built: 2020-21 ports: active: eDP-1 empty: DP-1, DP-2, DP-3, DP-4,
HDMI-A-1, HDMI-A-2, HDMI-A-3, HDMI-A-4, HDMI-A-5 bus-ID: 00:02.0
chip-ID: 8086:9a49 class-ID: 0300
Device-2: IMC Networks USB2.0 HD UVC WebCam driver: uvcvideo type: USB
rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-6:4 chip-ID: 13d3:56ea
class-ID: fe01 serial: <filter>
Display: server: X.Org v: 23.2.6 with: Xwayland v: 23.2.6
compositor: kwin_wayland driver: X: loaded: modesetting
alternate: fbdev,intel,vesa dri: iris gpu: i915 display-ID: :1 screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x286mm (20.00x11.26")
s-diag: 583mm (22.95")
Monitor-1: eDP-1 model: Samsung 0x4158 built: 2020 res: 1920x1080 hz: 60
dpi: 168 gamma: 1.2 size: 290x170mm (11.42x6.69") diag: 337mm (13.3")
ratio: 16:9 modes: 1920x1080
API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
device: 1 drv: swrast surfaceless: drv: iris x11: drv: iris
inactive: gbm,wayland
API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.0.6-arch1.2
glx-v: 1.4 direct-render: yes renderer: Mesa Intel Xe Graphics (TGL GT2)
device-ID: 8086:9a49 memory: 37.99 GiB unified: yes
API: Vulkan v: 1.3.279 layers: 9 device: 0 type: integrated-gpu name: Intel
Xe Graphics (TGL GT2) driver: mesa intel v: 24.0.6-arch1.2
device-ID: 8086:9a49 surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe
(LLVM 17.0.6 256 bits) driver: mesa llvmpipe v: 24.0.6-arch1.2 (LLVM
17.0.6) device-ID: 10005:0000 surfaces: xcb,xlib
Device-1: Intel Tiger Lake-LP Smart Sound Audio vendor: ASUSTeK
driver: sof-audio-pci-intel-tgl
alternate: snd_hda_intel,snd_sof_pci_intel_tgl bus-ID: 00:1f.3
chip-ID: 8086:a0c8 class-ID: 0401
API: ALSA v: k6.8.9-zen1-1-zen status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 1.0.5 status: n/a (root, process) with:
1: pipewire-pulse status: active 2: wireplumber status: active
3: pipewire-alsa type: plugin 4: pw-jack type: plugin
tools: pactl,pw-cat,pw-cli,wpctl
Device-1: Intel Wi-Fi 6 AX201 driver: iwlwifi v: kernel bus-ID: 00:14.3
chip-ID: 8086:a0f0 class-ID: 0280
IF: wlo1 state: up mac: <filter>
Device-2: Intel Ethernet I219-V driver: e1000e v: kernel port: N/A
bus-ID: 00:1f.6 chip-ID: 8086:15fc class-ID: 0200
IF: eno2 state: down mac: <filter>
Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-10:5 chip-ID: 8087:0026
class-ID: e001
Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
lmp-v: 11 status: discoverable: no pairing: no class-ID: 6c010c
Local Storage: total: 1.05 TiB used: 14.08 GiB (1.3%)
ID-1: /dev/nvme0n1 maj-min: 259:2 vendor: Micron model: 2210 MTFDHBA512QFD
size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: P6MA001 temp: 35.9 C
scheme: GPT
SMART: yes health: PASSED on: 1y 17d 18h cycles: 122
read-units: 18,663,378 [9.55 TB] written-units: 19,716,163 [10.0 TB]
ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Micron model: 2210 MTFDHBA512QFD
size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: P6MA007 temp: 41.9 C
scheme: GPT
SMART: yes health: PASSED on: 1y 68d 2h cycles: 158
read-units: 24,181,894 [12.3 TB] written-units: 24,898,561 [12.7 TB]
ID-3: /dev/sda maj-min: 8:0 vendor: Samsung model: Flash Drive FIT
size: 119.51 GiB block-size: physical: 512 B logical: 512 B type: USB
rev: 2.1 spd: 480 Mb/s lanes: 1 mode: 2.0 tech: SSD serial: <filter>
fw-rev: 1100 scheme: GPT
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
ID-1: / raw-size: 119.21 GiB size: 119.21 GiB (100.00%)
used: 14.08 GiB (11.8%) fs: btrfs block-size: 4096 B dev: /dev/dm-0
maj-min: 254:0 mapped: luks-7f8d5fb0-0d6f-4e8d-9c39-be86e6e54851
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 728 KiB (0.2%) fs: vfat block-size: 512 B dev: /dev/sda1 maj-min: 8:1
ID-3: /home raw-size: 119.21 GiB size: 119.21 GiB (100.00%)
used: 14.08 GiB (11.8%) fs: btrfs block-size: 4096 B dev: /dev/dm-0
maj-min: 254:0 mapped: luks-7f8d5fb0-0d6f-4e8d-9c39-be86e6e54851
ID-4: /var/log raw-size: 119.21 GiB size: 119.21 GiB (100.00%)
used: 14.08 GiB (11.8%) fs: btrfs block-size: 4096 B dev: /dev/dm-0
maj-min: 254:0 mapped: luks-7f8d5fb0-0d6f-4e8d-9c39-be86e6e54851
ID-5: /var/tmp raw-size: 119.21 GiB size: 119.21 GiB (100.00%)
used: 14.08 GiB (11.8%) fs: btrfs block-size: 4096 B dev: /dev/dm-0
maj-min: 254:0 mapped: luks-7f8d5fb0-0d6f-4e8d-9c39-be86e6e54851
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 38.91 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 8 dev: /dev/zram0
System Temperatures: cpu: 42.0 C mobo: N/A
Fan Speeds (rpm): N/A
Memory: total: 40 GiB available: 38.91 GiB used: 4.13 GiB (10.6%)
igpu: 32 MiB
Processes: 295 Power: uptime: 26m states: freeze,mem,disk suspend: s2idle
avail: deep wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 15.55 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 255 default: graphical
tool: systemctl
Packages: pm: pacman pkgs: 1889 libs: 545 tools: octopi,paru Compilers:
clang: 17.0.6 gcc: 13.2.1 Shell: garuda-inxi (sudo) default: Bash v: 5.2.26
running-in: konsole inxi: 3.3.34
Garuda (2.6.26-1):
System install date:     2024-05-05
Last full system update: 2024-05-08
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut
Windows dual boot:       No/Undetected
Failed units:

╭─nick@macbook in ~ as 🧙 took 7s

Edit: I also require encryption.

Is this just a fixed idea or do you have a special user case for it?
Please remember beforehand that if a drive is faulty or fails, it’s over - there is no redundancy.


Highly recommended:

Welcome to the community :slight_smile:


this question is specifically about the garuda installer, why was it tagged unsupported?

your best bet is probably this: Install Arch Linux on ZFS - ArchWiki

But why even bother installing to raid0? Maybe move your home directory off onto the other drive or similar, but save yourself that maintenance burden and all the jank that comes with such an unusual system.


The garuda installer is calamares and cannot create RAID0. You install garuda on one drive and select BTRFS as the file system. You only create the RAID0 later.

Have you read the topic in the EOS forum?

btw: There are also topics about this here in the forum, try the search function.


Because it has nothing to do with Garuda, “raidXYZ” is your private problem,
but that doesn’t mean that nobody from the forum is allowed to help you.


But it does have only to do with garuda. i am asking what the installer can handle, not whether or not the installer can set up the devices itself. if i present an md array or a lvm lv or a btrfs/zfs raid device, can the installer continue its process of setting up grub and formatting the installed partitions if required without crashing?

I can of course shoehorn this together, but it is usually best if the distro acknowledges more advanced disk systems. I’m a little dumbfounded actually that the response to this is unsupported/figure it out on your own/refusal to document. Is the target market for this distro so small that you’d never think a user use raid?

thats insane. it also isnt internally consistent, garuda uses btrfs with snapshotting. which is far more complicated and subtle than what im asking, and btrfs supports raid too. Disk arrays are disks.

I’m so glad i came here to ask for help after trying your irc, in which people cant speak, the reddit, which people cant ask for help, and now here where you discourage garuda’s use on configurations any more complex than a chromebook, and i’m guessing you wouldn’t “support” that either.

The only reason i tried this was plasma 6 and wine rolled together, thought it would be nice to not have to deal with that, and usually gamer communities are intelligent, usually.

its a work laptop, the data is safe otherwheres. i just need io performance for… things.

or I could say that the laptop has thunderbolt 4 and there really arent many ways to saturate that for filecopy.

Our installer is not designed or tested to handle all these requirements. If you have read such an advertisement, please, provide a link.

Agreed, but this distro team is not as big and knowledgable as you expected. That’s why we focus on simple user requirements. If you require encryption, you are considered at a professional level or demands. Whether a professional or an awakened user, we cannot officially cover you. But still, some forum user may answer to your questions.

I doubt about that. Nevertheless, this is not a gamers’ community. :person_shrugging:

Best luck.


It’s hard to know for sure what is happening since you have not added any information about what specific methods you have tried and what the error messages say, but probably the reason for the repeated failure is the fact that the Calamares installer does not support RAID.

See this related topic:

It has been conspicuously mentioned that the devs are not working on this at the moment. See the last comment in the thread:

adriaandegroot commented Sep 23, 2021

Removed from milestone to drop the suggestion that it is under consideration. It’s not high on my priority list. PRs can change that.

A few people in that thread have mentioned they were able to get it to work, and they describe how they set it up. If you are looking for a nice quick fix I think you will be disappointed; all of the suggestions I read through look somewhat hacky and fairly complicated.

First of all, the question is specifically about the Calamares installer. You are conflating Calamares with Garuda Linux. You wouldn’t raise a feature request for the Firefox browser in the Ubuntu forum just because they ship that browser by default, right?

Secondly, the “unsupported” tag doesn’t mean people aren’t going to try to help you with your issue, or you are doing something wrong, or your topic has been banished or anything like that. It just means the software or hardware you are having an issue with is not maintained by the distro, or otherwise beyond the scope of what the distro is able to directly address.

For context, dual-boot configurations or using third-party package managers like Flatpak or Snap are considered unsupported as well. It doesn’t mean you can’t do that, or even that you shouldn’t–just that those setups involve considerations or tooling that are not part of Garuda Linux.

:point_up_2: This is good advice because setting up a RAID 0 the Btrfs way is super easy and fast. It’s basically a one-liner. I’m not sure how it works with LUKS encryption so I’ll be curious to hear how it turns out for you.

To be clear, you would set that up after the installation is complete. Basically just pretend the second disk isn’t even there while you are doing the installation.

Your other option would be to work through the suggestions in the Calamares thread and try to force Calamares to accept the RAID.

  1. partition a usb stick with a 300mb fat partition, partition the rest as ntfs so its still a usb stick.

  2. wipe the raid members and create a lvm physical volume in each.

  3. create a volume group of the pvs.

  4. create a striped logical volume of the size of ram, and another using the 100%FREE size option in lvcreate.

  5. reboot into live cd, run installer.

  6. partition disks manually, noting that you will be reformatting the partitions under the volume group as luks+btrfs, and luks+swap, with proper flags, and mount points, the efi usb needs boot and fat.

  7. install.

  8. reboot.

  9. you can remove the usb stick once the system is booted, however its not the best idea to update the system or install any software that might want to touch grub without rebooting first and leaving the usb stick mounted.

This is a massive shortcut to managing efi.

hibernation works as expected. you cannot awaken the system successfully without the usb stick, but it need not be inserted to go to sleep.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.