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