Installing Home Assistant OS on Legacy BIOS Hardware: ThinkPad X61s Success Story

The Challenge

Installing Home Assistant OS (HAOS) on a 2007 ThinkPad X61s with legacy BIOS (no UEFI support) seemed impossible. HAOS uses GPT partitioning and expects UEFI boot, while legacy BIOS only supports MBR and GRUB Legacy has no GPT support.

Root Cause Analysis

HAOS Partition Structure (GPT):

  • sda1: hassos-boot (bootloader files)
  • sda2: hassos-kernel0 (active kernel)
  • sda3: hassos-system0 (root filesystem, SquashFS)
  • sda4: hassos-kernel1 (backup kernel)
  • sda8: hassos-data (user data)

GRUB Legacy Limitations:

  • No GPT partition table support
  • Cannot read SquashFS kernel partitions
  • Missing PARTUUID support

The Solution: Complete Installation Process

Step 1: Prepare Installation Environment

# Boot Ubuntu Live USB
# Access root terminal
sudo -i

# Identify target disk
lsblk
fdisk -l /dev/sda

Step 2: Copy Complete HAOS Image

# Extract HAOS image (if compressed)
cd /media/ubuntu/USB_DEVICE/
xz -d haos_generic-x86-64-15.2.img.xz

# Copy entire HAOS image with all 8 partitions
dd if=haos_generic-x86-64-15.2.img of=/dev/sda bs=4M status=progress
sync

# Expand last partition to use full disk
parted /dev/sda resizepart 8 100%
resize2fs /dev/sda8

This preserves the complete HAOS partition structure:

  • All 8 partitions copied intact
  • GPT partition table maintained
  • HAOS filesystem structure preserved

Step 3: Create Bridge Partition

# Create small ext4 partition for GRUB Legacy
sudo gparted /dev/sda
# Add 10MB ext4 partition as /dev/sda9

Step 2: Install GRUB Legacy Bridge

# Mount bridge partition
sudo mount /dev/sda9 /mnt

# Install GRUB Legacy
sudo grub-install --root-directory=/mnt /dev/sda --force

# Create bridge configuration
sudo nano /mnt/boot/grub/grub.cfg

Bridge Configuration:

set root=(hd0,1)
configfile /efi/boot/grub.cfg

Step 3: BIOS Settings

  • Enable Legacy Boot mode
  • Set HDD as first boot priority
  • Disable UEFI/Secure Boot

How It Works

  1. Legacy BIOS loads GRUB Legacy from bridge partition
  2. GRUB Legacy chainloads GRUB2 from HAOS boot partition
  3. GRUB2 handles modern GPT/SquashFS boot process
  4. HAOS boots normally with full functionality

Results

  • :white_check_mark: Full HAOS installation working on 2007 hardware
  • :white_check_mark: All add-ons supported (unlike Container method)
  • :white_check_mark: Standard HAOS update process maintained
  • :white_check_mark: Web interface accessible at port 8123

Hardware Tested

  • Device: Lenovo ThinkPad X61s (2007)
  • CPU: Intel Core 2 Duo (x86-64)
  • RAM: 3GB
  • Storage: 240GB SSD
  • BIOS: Legacy only (no UEFI)

Key Insights

The bridge partition method creates compatibility between legacy BIOS limitations and modern HAOS requirements without modifying the core HAOS image. This preserves update functionality while enabling installation on hardware that would otherwise be incompatible.

This solution works for any legacy x86-64 system lacking UEFI support, providing a path forward as Home Assistant phases out Core and Supervised installation methods.

#NOEFI #GRUB

5 Likes