Unable to connect to internet during install

Trying to install on a Lenovo Thinkpad T14 AMD Gen 3 laptop. Using either the graphical or minimal (new kernel, see below) installer, I am unable to connect to the internet and begin an install. EDIT: I also attempted to use Ethernet with the graphical installer but it didn’t seem to work, though GNOME reported a wired connection, unsure what the problem is there. The Network Card is a Qualcomm NFA725A, which seems to have received support somewhere between 5.16 to 5.19.

Note that I am a complete newbie to Nix and NixOS.

I tried a minimal installer with a newer 5.19 kernel, downloaded from Hydra as I suspect the issue is with the graphical ISO unable to use the WiFi card, but despite the linked minimal ISO having the 5.19 kernel, following the wpa_supplicant steps from the manual does not work; the wpa_cli just continually scans for my WPA2 network and fails to find and connect to it.

I am unsure if the manual’s steps apply for WPA2. I tried looking for documentation on the interactive wpa_cli but I was not able to find anything about setting the KEY_MGMT field.

I do know that Fedora seems to run happily with internet on the machine with the 6.0 kernel. Is there any way to get an installer with the 6.0 kernel in the ISO? I couldn’t find a newer minimal ISO than the one linked above but I probably just don’t know where to look. (Would be even better if there was a graphical installer with it too.)

Your issue is likely linked with How to get a NixOs image with newer kernel? - #6 by ius

So if you have a phone, the simplest thing you can do to get internet during install is to enable USB tethering to share the phone’s internet (wifi or data) over usb. On android, it’s trivial: just plug the USB cable between the phone and the computer, go to (approximate translation) Settings > Connections > Mobile access point and modem > USB modem and enjoy internet! You can then install the most recent kernel using

boot.kernelPackages = pkgs.linuxPackages_latest;

Otherwise if you don’t have a phone and if the issue is the kernel’s version (which might be the case if kernel 6 works on other distributions), I can imagine two ways to get a more recent kernel directly in the ISO:

  • either you are lucky enough and hydra builds it for your… Seems like you already found how to search from it, I don’t know if you can find an image with a kernel more recent than 5.19.
  • or you can build your own iso as describe here. If you want the calamares install, it should be as simple as creating a file iso.nix:
# This module defines a small NixOS installation CD.  It does not
# contain any graphical stuff.
{ config, pkgs, ... }:
{
  imports = [
    <nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix>

    # Provide an initial copy of the NixOS channel so that the user
    # doesn't need to run "nix-channel --update" first.
    <nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
    # Get latest kernel
    boot.kernelPackages = pkgs.linuxPackages_latest;
  ];
}

(you also have default setting with gnome version and more… see the folder https://github.com/NixOS/nixpkgs/tree/master/nixos/modules/installer/cd-dvd) and then to compile it with:

$ nix-build '<nixpkgs/nixos>' -A config.system.build.isoImage -I nixos-config=iso.nix

the resulting iso will be in result/iso/.

If you are not sure how to use wpa_cli, I guess the Network Manager included in plasma should be much easier to use.

If you are still unable to get wifi working with a recent kernel, it may be worth checking if dmesg or journalctl -e give more details on the hardware errors you might get.

2 Likes

I’ve got an iPhone which seems to require some libraries that I am not sure are on the ISO, searches don’t seem to turn up much.

Creating my own ISO image was OK except for one probably major issue?

Installed nix on my old Linux machine. Attempting to create an ISO gave me a zfs is broken error. Oddly, the usual solution to this which was

boot.supportedFilesystems = lib.mkForce[ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ];

did not seem to work, the same error kept popping up (I did add lib to the top {config, pkgs, ...}: line) … eventually I set the flag to allow broken packages but I’m worried this was a bad idea…

Currently running the command but I suspect it’ll fail if it attempts to build ZFS (which it seems to be doing as of writing)? I’m unable to figure out why the supported filesystems line does not disallow ZFS from being used at all, been searching up if there’s some new way to write that line or something I’m missing. Seems odd…

Thanks for your help, wondering if you might be able to guide me in this issue.

EDIT: ISO built despite ZFS seeming to build during the process. Will try an install.

Well, booted the new ISO, WiFi works now! I’ll mark your reply as the Solution, I guess that’s the end of that…

Thanks for your help again!

Cool! It’s weird that disabling zfs fails… I’ve been using a similar command (except that I disable everything) with much success to build an image (sd-card) for the raspberry pi https://github.com/cwi-foosball/foosball/blob/30e1551fd6b60f9bd64f979c29a6668323e5e92a/lib/mkNixosConfigAndIntegratedVm.nix#L72 I never needed to allow broken build…