OS Installation

It is assumed from here on that /dev/sda is the drive on which IronForge will be installed.

OS disk preperation

Create a new partition table on a dedicated drive.

The partition table must be of gpt type.

cfdisk -f /dev/sda

Create one 1 GB partition (/dev/sda1) for /boot and one for the OS files. Use all available space for the OS.

The file type for the first partition should be EFI system and the second should be Linux filesystem.

Boot partition

Format the boot partition /dev/sda1

mkfs.fat -F32 /dev/sda1

OS file system

IronForge uses LUKS in case the machine is stolen or lost.

cryptsetup luksFormat -s 256 -c aes-xts-plain64 /dev/sda2

Mount the OS partition:

cryptsetup luksOpen /dev/sda2 os

Use any file system besides ext4. I recommend xfs.

mkfs.xfs /dev/mapper/os

Mount the OS partition

mount /dev/mapper/os /mnt

Setup the initial file system hierarchy:

mkdir -pv /mnt/{bin,boot,etc,lib64,mnt,opt,proc,root,run,sys,tmp,usr,var}

Install UEFI shell

If your PC does not support UEFI shell you can install it easily.

This makes life easier as it enables autoexec.bat like workflows.

Download https://github.com/pbatard/UEFI-Shell/releases and save it in /boot/EFI/shellx64.efi.

We will later need to enable that as a boot option.

UEFI startup script

The UEFI shell will execute startup.nsh in the root of the boot partition. Customize as you find it required. The initrd is required to setup mounts.

cat > /boot/startup.nsh <<EOF
MODE 80 25
\EFI\ironforge\bzImage root=/dev/vg/os initrd=/EFI/ironforge/initrd.img ro quiet net.ifnames=0 video=efib
EOF

NOTE: The Linux admin guide claims that the bzImage needs to be called bzImage.efi with an .efi suffix, however I have not seen that this is a requirement on any UEFI installation I have access to.

Linux kernel

Grab a old kernel .config and run make oldconfig or preconfigure a new minimal config by running make defconfig.

Continue to customize anything you need for the machine with:

make menuconfig

Compile the kernel:

make -j$(nproc)

Install the kernel:

install -D -v -m755 ./arch/x86/boot/bzImage /boot/EFI/ironforge/bzImage

Install the kernel modules. We assume here that the root partition is mounted at /mnt:

make INSTALL_MOD_PATH=/mnt modules_install

Image

Download the latest release image

943c7b000224578c9a8e4144c9fb860663eff445987bec88d05023623f3c2e1f