Cl-install failed on older machine

I have older machines that do not support booting from a gpt partition. I have gotten calculate to work, but it was very painful. The problem is that cl-install doesn’t seem to recognize that I’m doing a pure legacy install, and attempts to do a UEFI install anyway, no matter what I tell it.

The automatic install (with default values) fails with “Failed to mount efivarfs, installation failed”. There is no autoinstall scheme for mbr-only systems. I can go and format the disk by hand using mbr and install to that, but the installer tries to install efivarfs anyway, and fails with the same message.

I know it can be made to work, because I’ve done it. But I wish there was a scheme for it, like

# cl-install -D /dev/sdx -S legacy

that would not attempt to install gpt or uefi anything. Really, having an non-gpt, non-uefi bios is a pretty common thing still and a good installer should have an option to install to it without failing. Calculate is a good, excellent gentoo for older systems that can’t compile everything themselves. But it is painful to get to the first boot.


# cl-install --version
# cl-install -T list
Partition table values:
[dos] DOS-type Partition Table
[gpt] GUID Partition Table (GPT) *

You can try
# cl-install -D /dev/sdx -T dos

Thanks! I did that, exactly as you noted. At the end of the install the exact same error message appears as before:

Failed to mount efivarfs:
mount: /run/calculate/mount/install/sys/firmware/efi/efivars: mount point does not exist
dmesg(1) may have more information.

  • Unmounting the target system volume
    Failed to umount /run/calculate/mount/install:
    umount: /run/calculate/mount/install: target is busy

Failed to install the system!

It is possible to run grub by hand from the command line:

# grub-install --target=i386-pc /dev/sdX

But the error I got was
Error: Failed to get canonical path of `none’

I then used:
# grub-install --recheck --root-directory=/mnt/test /dev/sdX

With the target root directory mounted at /mnt/test, this worked. It would also work with the directory calculate uses, but it was too much typing for me.

I think installing to pure MBR (not legacy mode) is very rare these days, but it would be nice if cl-install could incorporate this.

Please tell me where you got it:

# LANG=C cl-install -S list

  • You need to select a distribution image. Use the parameter --iso.
    Partitions options values:
    [swap] Swap partition
    [update] The partition for the update *
    [data] Data partition *
    [uefi] Use the UEFI bootloader *
    [lvm] Use LVM
  • To install the system, you need to specify the root device

I hope you watched
cl-install --help

Sorry to be confusing, that was a feature request. I finally did get calculate installed using the grub commands I described earlier specifying --recheck and --root-directory= . Everything works now using those options. I was asking for cl-install to have an option to force grub to not use the uefi bootloader. I don’t know what cl-install does under the hood, but clearly it was the grub step that was failing for me.

Thanks! I really appreciate calculate linux.

There is option --uefi none, and else option --mbr

Thank you! So the syntax would be

# cl-install -D /dev/sdx --mbr

Is that correct?

cl-install -D /dev/sdx --mbr list
to obtain true option