Installing NixOS on eMMC successful, but unable to boot

Hello friends,

I am trying to install NixOS on a Lenovo IdeaPad Slim 1-11AST-05 laptop. The laptop doesn’t have a SSD, only eMMC for storage. I know, I know…

I have used the graphical installer successfully without receiving any errors. I have installed it once encrypted and once without encryption. At the end of the installation the installer asks to restart the machine, to which I have agreed. The first time I tried this, I forgot to remove the USB drive, which launched the installer image again. So I decided to remove the USB drive after the machine shut down and just before it restarts.

However, I am now only presented with the boot menu presenting me with a choice of eMMC Card and Windows Boot Manager. Selecting either of those two options does not do anything. Any ideas?

1 Like

This is what I’m using on my eMMC based device (runs openHAB for home automation):

{
  boot.initrd.availableKernelModules = [
    # General
    "ahci" "ata_piix" "sd_mod" "sr_mod" "usb_storage"
    "ehci_hcd" "uhci_hcd"
    # MMC
    "mmc_block" "sdhci_acpi"
  ];
}

Did you pick the right boot method? (uefi / vs mbr)

1 Like

Thanks for sharing, Peter. How would I use this script?

Hi Solene, I have used legacy mode (mbr). Should I use UEFI instead? I’ve had problems before circumventing Windows via UEFI. Whilst you’re here, before NixOS I have tried to install OpenBSD, but the installer sadly didn’t even recognise the eMMC, only the USB drive as sd1.

Have you set the laptop’s BIOS to use legacy mode for booting? And configured NixOS to install the bootloader in mbr mode?

The fact that windows’ bootloader shows up at all sounds suspiciously like you’re booting through uefi, I don’t think they have a fallback anymore.

IMO generally uefi is easier these days, since everything is set to default to it.

Thanks for sharing, Peter. How would I use this script?

It’s not a script. Edit /etc/nixos/configuration.nix after you’ve done the step where you generate the config.

The laptop is recent, I suppose it only supports UEFI :slight_smile: you should definitely reinstall using UEFI.

As for OpenBSD, you could try the development version to see if the support has been added for this device.

Thanks all, I’ve tried it in UEFI now and it worked a treat. D’oh!

For posterity: make sure to disable Secure Boot in BIOS. That should do the trick to circumvent any Windows pre-install from auto-booting.

@peterhoeg excuse my ignorance, I should’ve really tried an install via console as well.