Return to Level1Techs.com

Arch Linux Install with 2 NVMe's in RAID 0

linux
#1

My hardware consisted of an Asus Extreme MB and 2 Samsung 500G 970 Evo plus NVMe drives.
Download the newest Arch Linux iso from https://www.archlinux.org/download/ and make a bootable usb. Boot from the usb and at the command line enter the following setup. Consult your motherboard manufacture for RAID setup.

ping -c 3 google.com
timedatectl set-ntp true
fdisk -l  {Note my drives show as nvme0n1 and nvme1n1}
cfdisk /dev/nvme0n1 {Note use gpt}
create 550M
create 5G
create 455G
create 5G
write and exit
cfdisk /dev/nvme1n1
create 5G
create 455G
create 5G
write and exit
fdsik -l

mdadm --create --verbose --level=0 --metadata=1.2 --chunk=128 --raid-devices=2 /dev/md0 /dev/nvme0n1p2 /dev/nvme1n1p1

mdadm --create --verbose --level=0 --metadata=1.2 --chunk=128 --raid-devices=2 /dev/md1 /dev/nvme0n1p3 /dev/nvme1n1p2

mdadm --create --verbose --level=0 --metadata=1.2 --chunk=128 --raid-devices=2 /dev/md2 /dev/nvme0n1p4 /dev/nvme1n1p3

lvmdiskscan

pvcreate /dev/md0
pvcreate /dev/md1
pvcreate /dev/md2

vgcreate vg_swap /dev/md0
vgcreate vg_main /dev/md1
vgcreate vg_tmp /dev/md2
vgscan

lvcreate -l +100%FREE vg_swap -n swap
lvcreate -L 60GiB vg_main -n rootfs
lvcreate -l +100%FREE vg_main -n homefs
lvcreate -l +100%FREE vg_tmp -n tmpfs
lvscan

mkswap /dev/mapper/vg_swap-swap
mkfs.ext4 /dev/mapper/vg_main-rootfs
mkfs.ext4 /dev/mapper/vg_main-homefs
mkfs.ext4 /dev/mapper/vg_tmp-tmpfs
swapon /dev/mapper/vg_swap-swap
mkfs.fat -F32 /dev/nvme0n1p1

mount /dev/mapper/vg_main-rootfs /mnt
mkdir /mnt/home
mkdir /mnt/tmp

mount /dev/mapper/vg_main-homefs /mnt/home
mount /dev/mapper/vg_tmp-tmpfs /mnt/tmp

pacstrap -i /mnt base base-devel
genfstab -U -p  /mnt > > /mnt/etc/fstab
arch-chroot /mnt /bin/bash
nano /etc/locale.gen {uncomment [en_US.UTF-8 UTF-8] ctrl o {enter} ctrl x  {Note this is my local}
locale-gen
ln -sf /usr/share/zoneinfo/America/Los_Angeles  /etc/localtime
hwclock --systohc --utc
nano /etc/mkinitcpio.conf
MODULES="dm_mod"  {Note add dm_mod between the ""}
HOOKS="base...block mdadm_udev lvm2 filesystems ctrl o ctrl x {Note last line in hooks add mdadm_udev lvm2 between block & filesystems}

mkinitcpio -p linux
pacman -S grub efibootmgr
mkdir /boot/efi
mount /dev/nvme0n1p1 /boot/efi
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
grub-mkconfig -o /boot/grub/grub.cfg
mkdir /boot/efi/EFI/BOOT
cp /boot/efi/EFI/GRUB/grubx64.efi /boot/efi/EFI/BOOT/BOOTX64.EFI
nano /boot/efi/startup.nsh
 bcf boot add 1 fs0:\EFI\GRUB\grubx64.efi "My GRUB bootloader"{Note 
 the back slashes}
 exit
 ctrl o {enter} ctrl x

pacman -S networkmanager
systemctl enable NetworkManager

echo computername > /etc/hostname  {NOTE: Your computername}
nano /etc/hosts
 127.0.1.1 localhost.localdomain computername ctrl o {enter} ctrl x
passwd   {NOTE: This is the Root Password}
exit
umount -R /mnt
reboot  {Note remove Flash drive and enter bios on startup, turn bios nvme raid on}

login: root
nano /etc/pacman.conf  {uncomment multilib}
pacman -Syyu

pacman -S xorg xorg-server xorg-xinit xterm
useradd -m -g users -G wheel -s /bin/bash username  {NOTE: Your username}
EDITOR=nano visudo
uncomment %wheel ALL=(ALL) ALL ctrl o {enter} ctrl x
passwd username {NOTE: Your username}
exit
login: username
sudo pacman -S konsole dolphin firefox kate

{NOTE: Add your own desktop}
The easiest way I have found to install desktops is Arcolinuxd scrips.

A HUGE THANKS TO:
Wendell @ Level1techs
Erik Dubios @ www.arcolinux.com
Derek @ Distro Tube on Youtube
and https://averagelinuxuser.com

You guys have made learning Linux a Blast.
My very best regards,
Gollenda

4 Likes

#2

Huh, it all looks correct, but Boy are you living dangerously!
Arch, on Raid0?

My hat is off to you sir, and your huge pair of…

3 Likes

#3

I have all my stuff backed up on spinning rust.

0 Likes

#4

I added another 500 gig NVMe. It runs like a dream.

0 Likes