anyone know how? I was planning to use either dinit or openrc.
Feel free to fill me in. I am new here btw.
There's a front-page article in our wiki btw: https://wiki.artixlinux.org/Main/InstallationWithFullDiskEncryption
Isn't that for FDE + /boot
and also, a different init?
EDIT:
Nevermind, I see that its for both. My bad. Well no worries then.
Use the search (https://forum.artixlinux.org/index.php/topic,4970.msg31961.html#msg31961).
How would I do all that stuff manually that it says to do in calamares? I am using the base iso.
Actually, I also have libreboot, so I would like to do it with argon and luks2 if possible.
Can you tell me how to do all of this manually? not with calamares at all
Feel free to use my "Installation Guide". You can install it from within another Artix system (chroot install). Please use it with care because it is still a work in progress.
A short summary what you will get after using my guide:
Desktop: KDE
Init: runit
Filesystem: Boot (Ext4), Home/Root (Ext4)
Encryption: Boot (Unencrypted), Home/Root (Encrypted)
Audio: Pipewire
AUR Helper: Yay-bin
Arch Repos: Enabled
Keyboard Layout: German
I tried to keep it pretty vanilla so that things can be changed to the users liking. I hope it helps you and if there is some feedback from other forum member I would appreciate it!
### Artix Linux Installation Guide ###
##################################################
# Make sure to execute this section as root!
# With the other sections you just have to copy and paste :)
# Partitioning Drives
fdisk /dev/sdb &&
cryptsetup --batch-mode luksFormat /dev/sdb2 &&
cryptsetup open /dev/sdb2 system &&
mkfs.ext4 /dev/sdb1 &&
mkfs.ext4 /dev/mapper/system &&
# Mounting Drives
mount /dev/mapper/system /mnt &&
mkdir /mnt/boot &&
mount /dev/sdb1 /mnt/boot/ &&
# Base Installation
basestrap /mnt base base-devel runit elogind-runit linux linux-headers linux-firmware grub networkmanager networkmanager-runit cryptsetup vim --noconfirm --disable-download-timeout &&
fstabgen -U /mnt >> /mnt/etc/fstab &&
artix-chroot /mnt bash
##################################################
# Setting Time Zone
ln -sf /usr/share/zoneinfo/Europe/Zurich /etc/localtime &&
hwclock --systohc &&
# Configuring Localization
echo KEYMAP=de > /etc/vconsole.conf &&
sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen &&
sed -i 's/#en_US ISO-8859-1/en_US ISO-8859-1/' /etc/locale.gen &&
locale-gen &&
echo 'export LANG="en_US.UTF-8"' >> /etc/locale.conf &&
echo 'export LC_COLLATE="C"' >> /etc/locale.conf &&
# Setting Hostname
echo "artix" > /etc/hostname &&
echo "127.0.0.1 localhost" >> /etc/hosts &&
echo "::1 localhost" >> /etc/hosts &&
echo "127.0.1.1 system.localdomain artix" >> /etc/hosts &&
# Configuring Network
ln -s /etc/runit/sv/NetworkManager /etc/runit/runsvdir/current &&
# Adding Users
echo "Enter root password:" &&
passwd &&
useradd -G wheel -m user &&
echo "Enter user password:" &&
passwd user &&
usermod -a -G video,audio,input,power,storage,optical,lp,scanner,dbus,uucp user &&
# Configuring Grub & Encrypting Drives
sed -i 's/HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block filesystems fsck)$/HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block 'encrypt' filesystems fsck)/' /etc/mkinitcpio.conf &&
mkinitcpio -p linux &&
sed -i 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=1/' /etc/default/grub &&
sed -i '/GRUB_DISTRIBUTOR=""/a GRUB_TOP_LEVEL="/boot/vmlinuz-linux"' /etc/default/grub &&
sed -i 's/#GRUB_ENABLE_CRYPTODISK=y/GRUB_ENABLE_CRYPTODISK=y/' /etc/default/grub &&
sed -i 's/#GRUB_TERMINAL_OUTPUT=console/GRUB_TERMINAL_OUTPUT=console/' /etc/default/grub &&
sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="cryptdevice=UUID='"$(ls -l /dev/disk/by-uuid | grep "sdb2" | awk '{print $9}')"':cryptroot"/' /etc/default/grub &&
grub-install /dev/sdb && grub-mkconfig -o /boot/grub/grub.cfg &&
# Installing Packages (Artix Repository)
pacman -Syu --noconfirm --disable-download-timeout \
ark \
artix-archlinux-support \
artools-base \
cronie \
cronie-runit \
cups \
cups-filters \
dolphin \
elisa \
firefox \
git \
gwenview \
kate \
konsole \
libreoffice-fresh \
linux-lts \
linux-lts-headers \
man-db \
man-pages \
okular \
openresolv \
openssh \
pacman-contrib \
pacutils \
pipewire \
plasma-meta \
plasma-workspace \
polkit \
rsync \
sane \
sddm \
sddm-kcm \
sddm-runit \
thunderbird \
wget \
wireguard-runit \
wireguard-tools &&
# Installing Packages (Arch Repository)
echo -e "\n# Arch\n[extra]\nInclude = /etc/pacman.d/mirrorlist-arch" >> /etc/pacman.conf &&
pacman -Syu --noconfirm --disable-download-timeout &&
# Installing Packages (Arch User Repository)
sed -i 's/# %wheel ALL=(ALL:ALL) NOPASSWD: ALL$/%wheel ALL=(ALL:ALL) NOPASSWD: ALL/' /etc/sudoers &&
sudo -u user git clone https://aur.archlinux.org/yay-bin.git /home/user/yay-bin &&
cd /home/user/yay-bin &&
sudo -u user makepkg -si --noconfirm &&
sudo -u user yay -Syu --noconfirm --disable-download-timeout \
cnijfilter2 &&
sed -i 's/# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers &&
cd /home/user &&
rm -r /home/user/yay-bin &&
su - user
##################################################
# Configuring Pipewire
# It needs to be enabled in the Autostart menu on KDE.
sudo cp -r /usr/share/pipewire/pipewire* /etc/pipewire &&
sudo sed -i '/context.exec = \[/a \ { path = "/usr/bin/wireplumber" args = "" }\n { path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf" }' /etc/pipewire/pipewire.conf &&
# Keyboard Layout
kwriteconfig6 --file kxkbrc --group Layout --key LayoutList de &&
# Configuring Runit Services
sudo ln -s /etc/runit/sv/cronie /etc/runit/runsvdir/current &&
sudo ln -s /etc/runit/sv/sddm /etc/runit/runsvdir/current &&
# Configuring Sudo
sudo sed -i 's/%wheel ALL=(ALL:ALL) NOPASSWD: ALL/# %wheel ALL=(ALL:ALL) NOPASSWD: ALL/' /etc/sudoers
Each section can be copied to the terminal. It is not meant to be a full blown installation script but rather a quick reference guide that can be used to setup a Artix system.
mount /dev/sdb1 /mnt/boot/ &&
EFI will not accept /boot as ext4 unless something has changed in the standards. It has to be an extended vfat
Sure, depending on your needs you have to format the boot partition to your liking.
It is also mentioned in the Artix wiki:
https://wiki.artixlinux.org/Main/Installation
Format partitions
Next, format the new partitions, we will use ext4 in this example:
mkfs.ext4 -L ROOT /dev/sda2 <- root partition
mkfs.ext4 -L HOME /dev/sda3 <- home partition, optional
mkfs.ext4 -L BOOT /dev/sda1 <- boot partition, optional
mkswap -L SWAP /dev/sda4 <- swap partition
The -L switch assigns labels to the partitions, which helps referring to them later through /dev/disk/by-label without having to remember their numbers
If you are doing a UEFI installation, the ESP needs to be formatted as fat32.
mkfs.fat -F 32 /dev/sda1
fatlabel /dev/sda1 ESP