-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Raspberry Pi 4 SD card image broken on master #111683
Comments
For the time being, there is no quick way to work around the issue. From the list of available modules, most are needed. We'd need to be able to filter out a module from the list, which AFAIK for lists is impossible with NixOS modules. So uh... annoyingly it'll have to stay this way until some resolution of the overall issue :/... An alternative, but quite intrusive, would be to split the aarch64 profile into an "aarch64 base profile", from which the normal aarch64 and the raspberry pi 4 profiles inherit. Though I don't really like the approach since the raspberry pi 4 profile is, overall, a temporary measure for a somewhat popular and hard-to-work-with platform. It might be more worthwhile , in the long run, to take a final look at 5.10/5.11 mainline and if it is enough to allow a user to bootstrap themselves finally. |
@samueldr couldn't we allow missing kernel modules when generating images at least? |
The interface/abstraction for So |
Quick idea but what about adding a Edit: or yeah depending on how it would work using a dictionary? |
Using an attrset for availableKernelModules would be the solution. But that breaks existing use cases by default, probably. There might be something coming to handle this issue But this is a hard problem to solve correctly AFAIUI. I wouldn't like having the bad abstraction any more than the current breakage that I don't like. |
I suggest then to revert the commit that broke this until we have a better abstraction. |
I've merged #121720 that fixes this issue. Once it reaches the channels you can download it via Hydra. You can build it on nixpkgs master using |
I don't think it solved this issue. #121834 works around the issue by removing the raspberry pi 4 board-specific image. With #121720 merged, the modules are still added to the raspberry pi 4 board-specific image, even if they're not present in the kernel build. In fact, there may be more failures! It ends up adding more modules present in mainline, absent from the vendor-specific kernel build. |
https://nixos.wiki/wiki/NixOS_on_ARM/Raspberry_Pi_4 recommends using the generic image anyway, so that's why I considered it fixed. |
Ah sorry, I pre-emptively edited this page. And I'm splitting hair right now because technically the issue is still going on. But really it's all but merged-and-solved. |
It appears to still be broken. Booting the latest image from Hydra ( https://hydra.nixos.org/build/142828023 ) results in the image being unable to find /nix/.../init, and failing to continue booting from there. |
@necrophcodr I've booted the same image and it works. What steps did you take? Mine are:
|
I performed the same steps, except the last one where I instead used GNOME Disks to write the disk image to the SD card. I don't have a way to reproduce it currently, since the Raspberry Pi 4 I was testing it on, has since been formatted with a different OS to be used in a production system tomorrow. I'll see if I can get my hands on another RPi 4B and perform the same steps again. edit With an exception that I used unzstd instead. |
Same, unzip was a typo. |
I've gotten my hands on one now for a few minutes, and it appears to be getting an error like:
It prints this continually, until I press a key, and are presented with the option to reboot or continue. Continuing kernel panics, and reboot, well, reboots it. |
The SD card used is the NOOBs SD card, but overwritten using the |
Booting with the same SD card using Ubuntu Server 64bit OS or Ubuntu Core works fine. |
It sounds like it "works" up until stage-1, where the kernel is somehow unable to work with the SD card. It might be a combination of It would be helpful to know whether "Ubuntu Server 64bit OS" and "Ubuntu Core" are using the mainline kernel or not. The driver differences might exacerbate issues on marginal hardware. |
The underlying issue is now invalid with #121834 being merged. @necrophcodr I invite you to open an issue, linking to this issue, for your particular problem. It seems you have some kind of hardware-specific issue at first glance. |
Thanks, i will test it with other SD cards as well. It appears to only happen with this distribution, but it could certainly still be related to the hardware. |
It is likely the other distributions are using the vendor kernel, and that the driver differs in a way where only mainline has a specific issue. Using the "latest kernel" variant of the image may also be something to look into. |
I've tried the latest kernel variant as well, but I'll create a new issue with more details once I've collected more information. |
I am trying to build NixOS for the raspberry Pi 4 and ran into the same error that started this thread. FWIW, I'm seeing this on nixpkgs Would it be prudent to re-open this ticket or file a fresh issue? |
@anandsuresh please open a new issue and ping this issue with the specific problem you're observing detailed. Please detail what you are attempting to do (e.g. whether it's booting through SD or USB), and as much information as you can. Note that there is a known issue (totally unrelated to this one) about USB boot, (#143885). |
Describe the bug
The build of the RPI4 image has been broken for a few weeks now. See: https://hydra.nixos.org/job/nixos/trunk-combined/nixos.sd_image_raspberrypi4.aarch64-linux
The module closure fails to build with:
CC @samueldr
Maintainer information:
The text was updated successfully, but these errors were encountered: