so you wanna install yiffOS?

i am not responsible for any damages in any way that may be caused by the use or misuse of this guide.

WARNING! this guide assumes that you have at least some knowledge about linux and the linux command line, and you will definitely need to be comfortable not using a gui for quite some time

table of contents

part 1 - base installation

part 1 - base installation

first things first, you'll want to grab a copy of the latest yiffOS install image from everyone's favorite! this guide will be using v2.0.0 which can be downloaded here.

using a vm
using a physical pc

using a virtual machine

if you're using a virtual machine for this install, you will need to mount the image somehow. qemu usually works fine with the install image, although you may need to disable secure boot. vmware, however, doesn't seem to like the image, and thus you may need to convert it to a vmware format image by running something like
qemu-img convert -f raw -O vmdk v2_yiffOS-installer.img v2_yiffOS-installer.vmdk
you may also want to resize the image to a larger size than 3GiB to fix a later issue, the process for doing so will not be covered here however as it varies between formats and vm programs

using a physical computer

if you're using a physical computer, you'll need to actually burn the image to a usb flash drive and boot off of that. the easiest way to do this is to first check which device is the flash drive by running lsblk and then writing the image using
dd if=v2_yiffOS-installer.img of=/dev/sdX status=progress

once booted, you should see a screen that looks something like this:

yiffOS 0.2.0-dev
Kernel 5.16.11-yiffOS on an x86_64 (-)

welcome to Real Microsoft (c) 2004 yiff os installer v2.0.0
this image was published on 2022-04-11
user = root
pass = root

very secure (:

you should be automatically logged in, follow these steps to install yiffOS
make sure that you have a network connection; use ping and/or nmtui

use cfdisk to set up a basic efi layout (this installer was not designed for

use mkfs.fat -F32 on the EFI and mkfs for a filesystem of your choice on the

run ./install-yiffos </dev/sdXX (EFI partition)> </dev/sdXX (ROOT partition)>
and pray to god that it doesn't error out on you (:

yiffOS login: root (automatic login)

-bash-5.1# _
you may be tempted to follow the onscreen instructions, BUT THERE ARE SOME IMPORTANT STEPS YOU SHOULD TAKE FIRST!!!!
first of all, you'll need to download an updated install script as the one included with this image is outdated and lacks some fixes that will be useful later. you can download the version of the script that we will be using from by running
curl -O
or you can download the latest version from github by running
curl -O

help! i have received an error stating i am out of disk space!

sooner or later, you'll get an error stating that you are out of disk space. this is due to the small size of the yiffOS installer image. you'll need to resize the booted image to the size of its enclosing media (either the usb flash drive or the actual .img file that your vm is using). luckily, this is pretty simple and doesn't seem to cause issues from what i've seen.
all you need to do is run fdisk -l and find the device that you want to resize, then run cfdisk /dev/sdX to resize the partition, and then run resize2fs /dev/sdX to resize the filesystem.
after this, you'll just need to reboot and you should be good to go!

now that you've set up the new install script, you can go through the normal install process.
first, you need to run cfdisk on the disk you want to install on. once here, you'll need to create two partitions. one for the EFI partition and one for the root partition. you can also optionally create a swap partition if you want to use it. the EFI partition should be 512MB in size, and the root partition should be at least 3-4GB in size. the swap partition should be equal to the size of your RAM.
once done, you should have something like this:
Disk: /dev/sda
Size: 5.0 GB, whatever bytes, whatever sectors
Label: gpt, identifier: whatever-whatever-whatever

Device Start End Sectors Size Type
/dev/sda1 2048 XXXXXXX XXXXXXX 512M EFI System
/dev/sda2 XXXXXXX XXXXXXX XXXXXXX 5G Linux filesystem

Partition UUID: whatever-whatever-whatever
Partition type: whatever
Filesystem UUID: whatever-whatever
Filesystem: vfat
Mount point: /boot/efi

[ Delete ] [ Resize ] [ Quit ] [ Type ] [ Help ] [ Write ] [ Dump ]
just hit the Write button and you should be good to go!
after closing cfdisk, you'll need to run mkfs.fat -F32 /dev/sdXX on the EFI partition in order to format it correctly. afterwards, you'll need to make a choice of which filesystem you want to use on the root partition. we're going to be using btrfs as it is already installed via the install script, however if you want to use another filesystem, you'll need to install the appropriate package and then run mkfs.whatever /dev/sdXX on the root.
remember to also install the appropriate package for that filesystem after installing yiffOS! after running the installer, you'll be inside a chroot, so you'll need to run exit and then proceed to run
INSTALL_ROOT=/mnt/root bulge i <appropriate package>
anyways, assuming you're using btrfs, you can now run mkfs.btrfs /dev/sdXX to format the root partition. if you get an error about another btrfs filesystem already existing, you can just run mkfs.btrfs -f /dev/sdXX to overwrite it.

now the fun part!

now that you've created and formatted your partitions, pretty much all you have left to do is run
and the installer will do almost all of the hard work for you!
after you've run the installer, just wait a bit (or maybe a bit longer, depending on your cpu and internet speed) and you'll be prompted to set a root password. make sure it's something that you can remember for at least the next 10 minutes or so because you'll need it to log in to your new yiffOS install. IMPORTANT!!! DO NOT REBOOT YET!!! we still have some work to do!
the install script has an issue in it that will cause dbus to not work, so we'll need to fix this. luckily, it's a pretty simple fix, just run
rm /var/run/run
rm -R /var/run
ln -s /run /var/run
you'll need to do one other thing however, which is to reinstall dbus as we kinda just deleted it. this isn't too hard either though, you'll just need to exit the chroot (which hopefully you were still inside for the previous commands) and then run
INSTALL_ROOT=/mnt/root bulge i dbus