1 (edited by auanta 2023-02-28 22:33:43)

Topic: HOWTO: Boot Hyperbola in BIOS (non-EFI) system

My Hyperbola live USB won't boot on my legacy BIOS computer. Refind is an EFI bootloader... I checked refind.conf and it has no entries to enable legacy boot. If we want to continue using refind, I think someone will need to edit the configuration to support legacy BIOS.

Update: Refind is strictly EFI-only, and has a .conf option that only scans for BIOS bootloaders, in other words: GRUB or syslinux.

scanfor hdbios

For now, my workaround is Clonezilla.

Actually partclone is too inflexible, so I used rsync (my settings might need some improvement):

1. Format USB stick as ext3 for file transfer.
2. Use fdisk to format and partition the new computer's /dev/sda and make boot partition active
3. mkswap and swapon on swap partition
4. mkfs.ext3 on /boot and /
5. Source machine to a USB stick [usually the install seems to be less than 6GB]:

$ doas rsync -aAhvPHX --inplace --exclude={"/home/*", "/lost+found","/mnt*/*","/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/media/*"} / /mnt/

6. Destination machine (from any live usb, I used a recent Clonezilla ISO to work around the BIOS boot problem):

$ doas rsync -aAhvPHAXx --inplace /source/ /destination/

This will copy contents of source directory to inside of destination directory.
7. Edit /boot/syslinux/syslinux.cfg to reflect kernel location, hooks and modules.
8. Run *blkid* to get the new UUIDs to copy. Update /etc/fstab with new UUIDs and /dev/sda labels
9. Making sure contents of /boot are in the boot partition, mount the boot partition and run:

extlinux -i /mnt/boot/syslinux

and

cp -r /usr/lib/syslinux/bios/* /mnt/boot/syslinux/

10. Install the MBR. Syslinux manual says it isn't needed anymore, but I had to do it as this is the only thing that worked for me. Also, the altmbr.bin did not work for me... Parabola's wiki on syslinux is the best documentation, if you follow a manual install only.

# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/sda

11. Delete old users and add new users.
Be very careful to umount everything, taking the USB out without mounting will ruin the filesystem.

2

Re: HOWTO: Boot Hyperbola in BIOS (non-EFI) system

Well, this would need than attention for sure. But for now the main focus for 0.4.2 lies on top of runit.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

3 (edited by auanta 2022-09-21 19:39:50)

Re: HOWTO: Boot Hyperbola in BIOS (non-EFI) system

I have spent some time working with refind to see if I can fix it, and I have come to the conclusion that it is EFI-only, and can only call up/chain other BIOS-bootloaders.

Therefore the easiest fix would be to revert to syslinux, which supports both EFI and BIOS simultaneously.

Refind looked cool for a while, but having to run two different bootloaders isn't very KISS.

4

Re: HOWTO: Boot Hyperbola in BIOS (non-EFI) system

Thanks for the research. It is a pity, but if syslinux works also ... well then so be it. You want to revert therefore towards syslinux?

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!

5 (edited by auanta 2022-09-21 22:55:55)

Re: HOWTO: Boot Hyperbola in BIOS (non-EFI) system

throgh wrote:

Thanks for the research. It is a pity, but if syslinux works also ... well then so be it. You want to revert therefore towards syslinux?

Yes, that would be my suggestion is that for the Hyperbola ISO you guys revert to syslinux and include configs and modules for BIOS boot, 32 bit EFI, and 64 bit EFI. The installation and config is simple, and they seem to coexist nicely. This would enable installation on more machines, including the BIOS-only Thinkpads on which Libreboot can be installed. (The one I tried doesn't have libreboot yet.)

For me, I currently am using syslinux and as a workaround was able to use rsync to clone my machine to the new one, then configure syslinux for the BIOS system. There is a separate /boot/EFI directory for EFI, and /boot/syslinux for BIOS. The syslinux.cfg can be identical so just copy to each respective directory.

I haven't built an ISO before though, so grain of salt

6

Re: HOWTO: Boot Hyperbola in BIOS (non-EFI) system

Personal I use a mix of Libreboot and Coreboot, built and flashed also most myself. I stay also most time with ThinkPad X220 for more powered tasks in combination with Hyperbola 0.3.1 and 0.4.1 stable. Building is another story for sure. wink So in that combination I also go Grub and SeaBios.

In the start-times 2021 I had a installation with syslinux also for testing-purpose but returned back elsewhere to above. As you have also asked about possible single-board solutions: I will answer in the corresponding thread.

Human being in favor with clear principles and so also for freedom in soft- and hardware!

Certainly anyone who has the power to make you believe absurdities has the power to make you commit injustices: For a life of every being full with peace and kindness, including diversity and freedom. Capitalism is destroying our minds, the planet itself and the universe in the end!