The firmware location appears incorrect.
ityspace opened this issue · comments
When I use my flakes configurations, and add apple-silicon-support to configuration, it reports that Asahi perpheral firmware extraction is enabled but the firmware location appears incorrect.
I ran into this whilst attempting to build my NixOS+Asahi Configuration while on a MacOS, so I dug into this. You can see the relevant bits here:
In essence, you have to have the peripheral firmware installed at the default locations of either /boot/asahi
or /mnt/boot/asahi
. If you have it at a different location, you should specify a different peripheralFirmwareDirectory
or you could disable firmware extraction with extractPeripheralFirmware = false;
. These directories should exist when installing Asahi Linux via this repo (or after).
In my case, it won't work because I'm building my NixOS configuration on a NixOS VM (the Nix-Darwin Linux builder) that doesn't have the /boot/asahi
or /mnt/boot/asahi
directory (this is fine for me as I was just testing my build).
Hope this information is helpful as I also wanted to understand why my test build was failing.
I'm having issues with this.
I was able to rebuild by setting extractPeripheralFirmware = false;
But, now I can't use internet, seems like other things are broken?
But I can't build if I turn it on..
and its definitely located at /boot/asahi/all_firmware.tar.gz...
Edit:
I can rebuild if I pass --impure to the command..
Edit2:
But I donnwaanna have to pass --impure.. I like pure
You need to copy the firmware into your NixOS configuration repository as the README reads:
mkdir -p /mnt/etc/nixos/firmware && cp /mnt/boot/asahi/{all_firmware.tar.gz,kernelcache*} /mnt/etc/nixos/firmware
And then reference it in your NixOS configuration (and make sure firmware
sub-directory is check-ed in to your NixOS configuration repository):
{
# Specify path to peripheral firmware files.
hardware.asahi.peripheralFirmwareDirectory = ./firmware;
}
You need to copy the firmware into your NixOS configuration repository as the README reads:
mkdir -p /mnt/etc/nixos/firmware && cp /mnt/boot/asahi/{all_firmware.tar.gz,kernelcache*} /mnt/etc/nixos/firmwareAnd then reference it in your NixOS configuration (and make sure
firmware
sub-directory is check-ed in to your NixOS configuration repository):{ # Specify path to peripheral firmware files. hardware.asahi.peripheralFirmwareDirectory = ./firmware; }
I added that line, got a new error (yay, progress) but what’s going on with this? What’s preventing a rebuild here? https://paste.ee/p/XqAK2
You need to copy the firmware into your NixOS configuration repository as the README reads:
mkdir -p /mnt/etc/nixos/firmware && cp /mnt/boot/asahi/{all_firmware.tar.gz,kernelcache*} /mnt/etc/nixos/firmwareAnd then reference it in your NixOS configuration (and make sure
firmware
sub-directory is check-ed in to your NixOS configuration repository):{ # Specify path to peripheral firmware files. hardware.asahi.peripheralFirmwareDirectory = ./firmware; }I added that line, got a new error (yay, progress) but what’s going on with this? What’s preventing a rebuild here? https://paste.ee/p/XqAK2
Did you commit the firmware
subdirectory to your repository ?
Did you commit the firmware subdirectory to your repository ?
https://github.com/aspauldingcode/.dotfiles/tree/main/system/NIXY2/firmware
Think so?