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
- Legacy BIOS loads GRUB Legacy from bridge partition
- GRUB Legacy chainloads GRUB2 from HAOS boot partition
- GRUB2 handles modern GPT/SquashFS boot process
- HAOS boots normally with full functionality
Results
Full HAOS installation working on 2007 hardware
All add-ons supported (unlike Container method)
Standard HAOS update process maintained
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