Install HA on old laptop without UEFI

Did you try this method?

So with Oracle VM Bluetooth is not working, with VMware Bluetooth is working? Any tutorial for this?

I don’t know(but im sure there must be some Tuturial out there, for VMWare) as usual i just install latest version VMWare Player16, Run it , Followed the instructions in HA docs, for the “Official” Homeassistant OS -Image from HA … i think, and as i had “Dissable” my Wifi on my Windows Machine, it obviously didn’t “reconiced” this( or i rejected it, dont remember), but i didn’t want HA to use the Wifi) So VMw shoved Ethernet and Bluetooth … later i installed the Passive BLE, Integration, through HACS, Followed the instructions for that, but change to discover, just to test, apparently my phone was also detected, but the 2 temps i have to hold the pair button, to pair them

EDIT: Adding Pic

1 Like

Just a Side Note: … i have and use UEFI + GPT-Disk

1 Like

If anyone else, stumbles over this thread: the actual solution to the original question is in the docs

You can get all the perks of Home Assistant OS on a system without UEFI, by doing a manual install of debian and then adding the HA components, as per the instructions

I just managed to install HAOS on non-UEFI system. If anyone will be stucked with this here is an overview of what I did:

  1. Write image of haos_generic-x86-64-9.4.img.xz with Etcher
  2. Boot some linux distro (e.g. Ubuntu) and create 3 partitions at this SSD/HDD: /boot (~ 500MB), bios_grub (~ 1MB) and root (I used 20GB for this)
  3. Install some Linux on this partitions (I used Debian) next to HAOS, which will install Grub at disk bootloader area e.g. /dev/sda (it’s possible to install Grub only, not whole linux distro, as the Grub-bios is what is needed actually)
  4. Boot installed Linux distro, mount HAOS EFI system partition with grub-efi and append content of grub.cfg to your /boot/grub/grub.cfg
  5. Reboot - menuentry for HAOS should now be present. Now it’s possible to boot HAOS.
  6. With “set default” set HAOS the default boot system so additional installed linux will not boot.

I think it’s simplest way to have HAOS on non-UEFI system. I’m using old netbook Samsung N150, with Intel Atom (2 cores, 5.5W)

6 Likes

Hello, I’m also installing into some Samsung netbook I had (NC110) but I’m failing to do step 4 :confused:
Which partition is HAOS EFI? I currently have these partitions:

/dev/sda1 hassos-boot fat16

/dev/sda2 hassos-kernel0

/dev/sda3 hassos-system0

/dev/sda4 hassos-kernel1

/dev/sda5 hassos-system1

/dev/sda6 hassos-bootstate

/dev/sda7 hassos-overlay ext4

/dev/sda8 hassos-data ext4

And the rest of partitions are from the donor OS (I installed Xubuntu 16.04)

Currently if I do sudo update-grub2 it won’t detect HASS-OS on any partition above except it says:
Failed to probe /dev/sda3 for filesystem type
Which makes sense since it showed in gparted (on my Xubuntu installation) with an unknown filesystem

Thanks btw

EDIT: The bad this with my devices is it has a broken screen, so I cannot change bios settings and the like

NVM! I got it!! The boot partition was indeed /dev/sda1, so like you said I’ve installed grub-efi on xubuntu, added the contents of the grub.cfg inside that partition onto the file located at /boot/grub/grub.cfg directly at the end (I’ve got 5 entries in my original grub.cfg so I when I rebooted I had to (blindly) tap down 6 times and enter and then it booted!!

So many thanks for the insights!

EDIT (again, sorry): I’m having no space left errors now… on a new install? I’ve read that’s the media is (SD card or HDD in my case) faulty, I’m retrying from scratch

please let me know how this ends up working out for you. @matys.home’s instructions really confused me (e.g., after creating the 3 partitions from step 2, which partition should the linux distro be installed in? root or boot? when where will HOAS need to be installed in? and step 4’s got me just straight up lost… :/)

1 Like

In the new spare partition ‘root’, and check my last comment for step 4

EDIT: If anyone is having trouble with step 6, what fixed it for me was that there were files in /boot/loader/entries. After moving these to somewhere else HAOS booted by default.

@DiegoJp @matys.home How did you manage to complete step 6 - set default? I’ve tried in the GRUB CLI, tried modifying and deleting files in /etc/grub.d/ and rebuilding and i’ve gotten nothing to work so far after several hours of trying

It’s not really necessary to install a full Linux just to load the EFI GRUB that’s included with the x86 image. We can just create a small partition and install GRUB into it and point it at the existing grub.cfg file. Use your favorite Linux live CD/DVD/USB (I’m liking Parrot OS today).

Use gparted to create a small ext4 partition on the HassIO drive. I’m assuming it’s /dev/sda. It’ll probably tell you that the partition table doesn’t include the whole disk and offer to fix it. Let it. A 10MB partition should be fine. Tell gparted to leave 0 bytes after the partition so it ends up at the end of the disk. That way HassIO will be able to resize its partitions and use all the unallocated space.

Note: You may end up with a tiny bit of unallocated space after this partition even if tell gparted to make it 0. That’s due to alignment. Don’t worry about it.

Mount the new partition (should be sda9 but check):

sudo mount /dev/sda9 /mnt

Install GRUB on the new partition. If you’re using Parrot OS you’ll need to install the GRUB package first:

sudo apt install grub2

Then install GRUB onto the HassIO drive. Replace /dev/sda with your device if different:

sudo grub-install --compress=xz --root-directory=/mnt /dev/sda --force

Now that GRUB is installed, all that’s left is to configure it to redirect to the HassIO installation. Run the following to create the necessary config file in /mnt/boot/grub/grub.cfg (the first line tells it to use the first partition on the first drive, the second tells it where HassIO’s GRUB config file is):

cat <<! | sudo dd of=/mnt/boot/grub/grub.cfg
set root=(hd0,1)
configfile /efi/boot/grub.cfg
!

Remove the boot media and reboot. You should go straight to the HassIO boot menu.

16 Likes

Greeting dbrand666 thanks for your post. if you could, being new to HA and Linux, and trying to install on a legacy machine, could you maybe give more detail and make it easier to understand for a newbie. Thank you!

1 Like

Thanks you for editing the code added line(s). From someone who doesn’t know linux and was giving this another shot. It finally worked for me.

Welcome to the community!

Glad it worked for you. I’ll keep updating the instructions with the feedback I’m getting. If you had trouble figuring anything out, let me know.

The problem I was having is I didn’t know how to create a grub.cfg and you didn’t mention how to do it. I’m assuming the new line you entered does that and the last line saves it? Also when you said to install grub on the HassIO drive, I wasn’t sure if you meant a specific partition. I left it as dev/sda with out a partition and it work, so I guess not. Now I get to spend the weekend seting up my second instance. Thanks again

Greetings and thank you both for your help,

Installed grub on /dev/sda9

When trying to install grub on /dev/sda or /dev/sda1 get following error:

“Installing for i386 - pc platform.
grub-install: error: failed to get canonical path of ‘overlay’.”

Did you remember to run this?

sudo mount /dev/sda9 /mnt

yes i did. i just tried it again now and same error