Gnome live usb hangs at boot, minimal can't find wifi

I got a new Asus Proart X13 and downloaded the latest ISO nixos-gnome-24.11.716947.26d499fc9f1d-x86_64-linux.iso.crdownload. When I boot from USB it says <<< NixOS Stage 1 >>> and then when it gets to “Starting systemd-udev version 256.10” it hangs.

The laptop has one of the newer Ryzen “AI 9” HX 370 CPUs so I suspect it needs a relatively new kernel. Any suggestions?

When I run the minimal installer instead I do get to a bash prompt, but then wpa_cli doesn’t work, complaining that it can’t connect to wpa_supplicant even though I already told systemd to start the service. If I run ip link or ifconfig the only listed interface is loopback.

For anybody running into this later here’s what I did:

  • Used the minimal installer instead
  • Used the usb ethernet adapter the laptop comes with so I could use wired internet instead, just for the install
  • Put the following in my configuration.nix during install. This asks for the newest kernel (which supports the HX370 better) that as of this writing the nvidia drivers work with, enables the nvidia drivers setting the amdgpu to be the main one and the nvidia one to only be used if you opt in for a specific app (see Nvidia - NixOS Wiki), then sets up i3 and the X server so you can get into a graphical environment without Gdm/Gnome. Haven’t tried getting Wayland working yet.
  # this is the latest version that still works with the nvidia drivers
  boot.kernelPackages = pkgs.linuxPackages_6_12;

  services.xserver = {
    enable = true;

    desktopManager = {
      xterm.enable = false;
    };
   
    displayManager = {
        defaultSession = "none+i3";
    };

    windowManager.i3 = {
      enable = true;
      extraPackages = with pkgs; [
        dmenu #application launcher most people use
        i3status # gives you the default i3 status bar
        i3lock #default i3 screen locker
        i3blocks #if you are planning on using i3blocks over i3status
     ];
    };
  };

  # Enable OpenGL
  hardware.graphics = {
    enable = true;
  };

  # Enable OpenGL
  hardware.graphics = {
    enable = true;
  };

  # Load nvidia driver for Xorg and Wayland
  services.xserver.videoDrivers = ["nvidia"];

  hardware.nvidia = {

    # Modesetting is required.
    modesetting.enable = true;

    # Nvidia power management. Experimental, and can cause sleep/suspend to fail.
    # Enable this if you have graphical corruption issues or application crashes after waking
    # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead 
    # of just the bare essentials.
    powerManagement.enable = false;

    # Fine-grained power management. Turns off GPU when not in use.
    # Experimental and only works on modern Nvidia GPUs (Turing or newer).
    powerManagement.finegrained = false;

    # Use the NVidia open source kernel module (not to be confused with the
    # independent third-party "nouveau" open source driver).
    # Support is limited to the Turing and later architectures. Full list of 
    # supported GPUs is at: 
    # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus 
    # Only available from driver 515.43.04+
    open = true;

    # Enable the Nvidia settings menu,
    # accessible via `nvidia-settings`.
    nvidiaSettings = true;

    # Optionally, you may need to select the appropriate driver version for your specific GPU.
    package = config.boot.kernelPackages.nvidiaPackages.latest;

    prime = {
        offload = {
             enable = true;
             enableOffloadCmd = true;
        };
        # Make sure to use the correct Bus ID values for your system!
        nvidiaBusId = "PCI:196:0:0";
        amdgpuBusId = "PCI:197:0:0"; # For AMD GPU
   };
  };

  nixpkgs.config.allowUnfree = true;

Hi, I’m the ISO maintainer for NixOS and I would still like to figure out what was going wrong with the graphical ISO. Can you try booting it again, but at the boot menu, press the e key and add plymouth.enable=0 to the kernel params?

2 Likes

Sure, I put it after the loglevel setting since that looked like the right general area, got this

That’s really odd. What did you use to write the ISO to the USB drive?

1 Like

I just did sudo cp nixos-gnome-24.11.716947.26d499fc9f1d-x86_64-linux.iso.crdownload /dev/sdb, then ejected in thunar to be sure it was fully written. I just repeated it to make sure it wasn’t a fluke.

Ok yea that should be fine. I guess the next things to check would be A) that your download isn’t corrupted, i.e. that the sha256 of the ISO file matches the one on Download | Nix & NixOS and B) You can press i at that error screen to enter a shell and run dmesg to see if the kernel logged an error about the squashfs.

1 Like

From the extension (.crdownload) this looks like an unfinished download or am I missing something?

1 Like

… I missed that, and yes that sounds likely

1 Like

Oops, yes @eblechschmidt is right, for my original plymouth.enable=0 tests I was copying an incomplete image! I just used tab completion and didn’t inspect the full name. Maybe there should be some integrity check at the start of install so users don’t waste maintainer time with this? :sweat_smile:

Okay so with the correct full image, I can reproduce my original issue if I don’t set plymouth.enable=0, where it gets stuck on the Starting systemd step. When I do set it, I successfully get into the graphical installer! What would be the next step to debug why, assuming you still want to know why this setting was necessary?

It’s really weird that having plymouth enabled causes it to not reach the GUI… What if you hit the escape key after the screen seems to hang? That causes plymouth to show a log instead of the boot splash.

1 Like

I pressed escape and nothing happened, so I started to type up a post but then when I looked back a few seconds later it went into the graphical installer :man_shrugging: So then to check my sanity I rebooted and this time didn’t press escape at all, and waited longer, and it went into the installer again!

I am certain the first time I ran into this issue waiting did not help (I left home and came back a few hours later with it still hung). I have no idea what’s different now :man_shrugging: :man_shrugging: :man_shrugging: PEBKAC? :upside_down_face:

Huh, well ok then :stuck_out_tongue: