Dracut on cli installation


curious how to establish a commandline installation of eos and how dracut would fit in.
normally i am setting up a 50 GB btrfs and 512 MB /boot/efi

this is what i do

  • partitioning
  • filesystems
  • creating subvols
  • pacstrapping
  • genfstab
  • chrooting
  • grub-install and grub-mkconfig

rebooting and finish installation with needed packages

so … where does dracut fit in and what can i leave out. I believe mkinitcpio is not needed anymore however at what point and what to do on the command line ?
i know calamares can do all this but that’s not what i want to know.
Perhaps there’s already a nice tutorial yet i however i don’t know where to find it or perhaps someone is willing to write one on the forum.

Thanks and regards …

You can choose to not install a desktop through calamares. The very first option in the desktop entry list is No Desktop.

1 Like

Here: https://discovery.endeavouros.com/installation/dracut/2022/12/

Since you will be using Grub, pay attention to the parts regarding Grub.

For more general info on Dracut: https://wiki.archlinux.org/title/Dracut

PS. For installing EnOS’ specific packages handling dracut, you would need to add EnOS’ repo and mirrorlist to your installed system.

Thanks but it is not what i meant; meaning from terminal and from scratch

There are lots of ways to do it.

One way would be to do it as the first step in chrooting. Install eos-dracut and then remove mkinitcpio. Then run dracut-rebuild

If you add dracut to your pacstrap it will be installed instead of mkinitcpio, if that is what you mean.

There is quite a bit more to the EOS dracut configuration than just installing dracut, of course.

can you provide more detailed info ? like i said i am familiar with setting up an install from scratch making fs’s chrooting etc. Just want to know in detail ( the commands) what to do when installing and configuring dracut in a fresh command line install from the terminal.

You seem to have missed a couple of posts in the thread where you have been directed to articles and have been given commands to install dracut the EnOS’ style. :wink:

Thanks to you all i 'll give it a shot during the holidays. Happy holidays to you all

As the first step in the chroot:

pacman -S eos-dracut
pacman -Rc mkinitcpio

If installing eos-dracut triggers a rebuild, you don’t even need to run dracut-rebuild at the end.

If you want to, you can add EOS’s default config for dracut but it isn’t required and can be done at any time. Even post-install.

For the most part, dracut “just works” and installing eos-dracut is all you need to do. It typically doesn’t need much configuration.


I managed to finish a basic eos install without desktop.

boot from ISO and open terminal
sudo su -

timedatectl set-ntp true;reflector --country Netherlands --country Germany --age 6 --protocol https --latest 10 --sort rate --save /etc/pacman.d/mirrorlist


pacman -Sy --noconfirm endeavouros-keyring archlinux-keyring
pacman -Syy

disk0="/dev/sda";sgdisk -n 1:0:+512M -t 1:ef00 $disk0;sgdisk -n 2:0:0 -t 2:8304 $disk0

filesystems efi and / (btrfs) with subvols

mkfs.vfat /dev/sda1;mkfs.btrfs /dev/sda2;mount /dev/sda2 /mnt
btrfs subvolume create /mnt/@;btrfs subvolume create /mnt/@home;btrfs subvolume create /mnt/@cache;btrfs subvolume create /mnt/@log
umount /mnt
mount -o subvol=@,defaults,discard=async,noatime,compress=zstd:3 /dev/sda2 /mnt
mkdir -p /mnt/{boot/efi,home,var/cache,/var/log}
mount -o defaults,noatime,uid=0,gid=0 /dev/sda1 /mnt/boot/efi
mount -o subvol=@home,defaults,discard=async,noatime,compress=zstd /dev/sda2 /mnt/home;mount -o subvol=@cache,defaults,discard=async,noatime,compress=zstd /dev/sda2 /mnt/var/cache;mount -o subvol=@log,defaults,discard=async,noatime,compress=zstd /dev/sda2 /mnt/var/log


pacstrap /mnt base base-devel linux-lts-headers linux-lts linux-firmware grub efibootmgr vim man openssh mc networkmanager inetutils git make reflector rsync curl pacman-contrib ntp btrfs-progs wget cronie inotify-tools arp-scan lsof gptfdisk eos-dracut

make /etc/fstab
genfstab -U /mnt >> /mnt/etc/fstab;cp -p /mnt/etc/fstab /mnt/etc/fstab.org

arch-chroot /mnt

pacman -Rc mkinitcpio

time and locales
ln -sf /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime;hwclock --systohc --utc;sed -i 's/#en_US.UTF-8/en_US.UTF-8/' /etc/locale.gen;locale-gen;echo "LANG=en_US.UTF-8" >> /etc/locale.conf

users and passwords
useradd -mUG lp,network,power,wheel <your username>;passwd <your username>;echo "<your username> ALL=(ALL) ALL" >> /etc/sudoers.d/<your username>;passwd root

Hostname and hosts file
echo "vbdracut" >> /etc/hostname;echo " localhost" >> /etc/hosts;echo "::1 localhost" >> /etc/hosts;echo " vbdracut.<your domain> vbdracut" >> /etc/hosts

systemctl enable NetworkManager.service;systemctl enable sshd.service;systemctl enable cronie.service

some basic packages
pacman -S --noconfirm network-manager-applet mtools dosfstools avahi gvfs gvfs-smb net-tools dnsutils bash-completion dnsmasq mtools pacman-contrib traceroute gparted bat

Install and configure grub
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi;grub-mkconfig -o /boot/grub/grub.cfg

umount -R /mnt;shutdown -h now

in virtualbox boot from disk. if you see things i didn’t do or did wrong please mention them.


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