Hello,
I’m very grateful for finding this thread! I managed to install HAOS and get it booting from BIOS on an old laptop based on the instructions here.
Basically I used @matys.home 's instructions and method. Having very little experience about Linux, this required several attempts before I was successful.
The steps provided by @carloshurtadom is what I tried first but I don’t fully understand how those steps alone can work since installing the HAOS image will wipe the disk clean of everything else if I’m not mistaken? So I just ended up in the situation that when trying to install grub with sudo grub-install --compress=xz --root-directory=/mnt /dev/sda --force
then Debian was telling me that there is no BIOS boot partition on the disk which as far as I understand is correct after just having installed the HAOS image. Maybe I’m missing some point to be successful with this method?
But thanks for both anyway since there were useful points in both instructions.
What I did at the end:
- Had an SSD set up as GPT in the laptop
Booted to Debian Live 11 from USB
Installed HAOS image
curl -L https://github.com/home-assistant/operating-system/releases/download/9.4/haos_generic-x86-64-9.4.img.xz |xz -d >/dev/sda
Installed gparted
sudo apt install gparted
Launched gparted from GUI which informed me that the partition table doesn’t include the whole disk and I let gparted fix it. This was crucial step at least for me for next steps because otherwise Debian installation to same disk was not possible as the full unallocated space left on the disk was not usable in the installation before the fix.
Launched Debian installation from the GUI in Debian Live 11.
In the installation process I created the necessary partitions to unallocated space on the disk ( /boot (~ 500MB), bios_grub (~ 8MB) and root (20GB)). This was not very easy even with graphical interface due to never having done this before in Linux. So the /boot is defined as “mounting point” and bios_grub is configured with the flag for the corresponding partition (was also wondering if “boot” flag is required for /boot but seems not needed). For root partition the mounting point had to be “/” and root flag enabled. The installer also automatically set the bios_grub flagged partition as 8MiB. After creating all 3 partitions then it will allow to continue the installation.
Booted to installed Debian and copied the grub.cfg contents from HAOS EFI system partition (so I mounted /dev/sda1 in my case and opened grub.cfg from there) to the grub.cfg in /boot/grub/grub.cfg. This step will also need that you allow read/write access for /boot/grub/grub.cfg
In the above steps when creating the partitions, I also made a mistake which I realized afterwards. So I created the partitions right after the HAOS partitions on the disk which caused the situation that HAOS was not able to utilize the free unallocated space (endless “Preparing Home Installation”). I used gparted in Debian Live USB to move the Debian partitions (all 3 of them) to the end of the disk space afterwards which I guess is risky but worked well in my case. After doing this HAOS was able to use the unallocated space available right after its’ own partitions.
After all of the above, the HAOS was available in the boot menu and can be launched.
I would be grateful for some detailed instuctions on how to set the HAOS as default boot system in Debian side? I was playing around with this but the only way I managed to change the default boot selection is when I added one of the HAOS menu entries as custom menu entry in /etc/grub.d which does not really work without the other content from grub.cfg in HAOS EFI partition.
Long reply but hope this maybe helps some other newbies such as myself