Install Guide

From yiffOS

(This article is currently out of date and doesn't reflect the current way of installation)

This article is a guide on how to install from a live system.

Before installing, ensure that the following minimum requirements are met:

  • UEFI capable machine (Only for the official stage 3 image)
  • Core 2 or newer processor / AMD equivalent
  • 256MB of ram
  • 5G of disk space (without swap)

If you need any assistance with the install, do not hesitate to join the official Discord and ask for help in #support.

Note: X and Y are used in the article: X.X.X is the Linux Kernel version and Y.Y.Y is the yiffOS version.


Download yiffOS

You can download the current version of yiffOS here Version: yiffOS 0.1.1 (Knot) with the 5.14.7 Kernel

Create GPT partition table

Using cfdisk, create the required partitions:

$ cfdisk /dev/sdXY

You'll want:

  • A boot partition that is at least 512M which has the type as EFI System
  • An optional swap partition that is the same size as the amount of memory in your system with the type Linux swap
  • A root partition that is at least 4G big but ideally will take up the rest of the space on your drive with the type as Linux filesystem

Format the partitions

$ mkfs.fat -F32 /dev/sdxY # efi partition
$ mkfs.ext4  /dev/sdxY # root partition

If you have a swap partition:

$ mkswap /dev/sdxY

Mount Partitions

$ mkdir /mnt/root
$ mount /dev/sdXY /mnt/root # root
$ mkdir -p /mnt/root/boot/efi
$ mount /dev/sdXY /mnt/root/boot/efi # efi partition	

If you have a swap partition:

$ swapon /dev/sdxY


Copy rootfs

$ rsync -av -P --exclude '/mnt/*' --exclude '/dev/*' --exclude '/proc/*' --exclude '/tmp/*' --exclude '/sys/*' /* /mnt/root

Install bootloader


$ grub-install --target=x86_64-efi --efi-directory=/mnt/root/boot/efi --boot-directory=/mnt/root/boot --bootloader-id=yiffOS


Coming soon...


Generate fstab

$ genfstab -U /mnt/root > /mnt/root/etc/fstab

Enter chroot

$ mount -v --bind /dev /mnt/root/dev
$ mount -v --bind /dev/pts /mnt/root/dev/pts
$ mount -vt proc proc /mnt/root/proc
$ mount -vt sysfs sysfs /mnt/root/sys
$ mount -vt tmpfs tmpfs /mnt/root/run
$ chroot "/mnt/root" /usr/bin/env -i   \
	HOME=/root                  \
	TERM="$TERM"                \
	PS1='(yiffOS chroot) \u:\w\$ ' \
	PATH=/usr/bin:/usr/sbin     \
	/usr/local/bin/fish --login

Generate initrd

$ mkinitramfs X.X.XyiffOS
$ mv ./initrd-X.X.XyiffOS.img /boot/initrd-X.X.X-yiffOS-Y.Y.Y.img

Generate bootloader config


$ grub-mkconfig -o /boot/grub/grub.cfg


Coming soon...

Set hostname

$ echo "<hostname>" > /etc/hostname

Change timezone

$ timedatectl list-timezones
$ timedatectl set-timezone <timezone>

Set locale

$ locale -a
$ LC_ALL=<locale name> locale language
$ LC_ALL=<locale name> locale charmap
$ LC_ALL=<locale name> locale int_curr_symbol
$ LC_ALL=<locale name> locale int_prefix
$ localectl set-locale LANG="<ll>_<CC>.<charmap><@modifiers>"


Exit the chroot environment by typing exit.

You should now be able to reboot by typing reboot to boot into your new yiffOS install and log in with root:root.


You should immediately update the root password and optionally remove the stage 3 text from /etc/issues.

See General Recommendations for post-install tutorials like setting up a user account and installing applications.