pinecube-nixos
pinecube-nixos copied to clipboard
Understanding nixpkgs archive contents
Dan, thanks for the awesome work. I'm trying to learn what you did and I wonder if there's an easy way to grok what is in nixpkgs=https://github.com/danielfullmer/nixpkgs/archive/e69838e006a7271006ab834b521187891bf93ff4.tar.gz archive. What did you do to that specifically to make the PineCube work? I'm happy to help with docs and as I get smarter about all this to help with code. I'm especially keen to bring golang stuff to the table for the PineCube (and later the PineBook Pro once mine arrives).
Can you summarize the changes you made? Or better, is that tarball of a specific commit tag that I can go see the differences? Thanks!
I wonder if it's this commit: https://github.com/danielfullmer/nixpkgs/commits/e69838e006a7271006ab834b521187891bf93ff4
That's it! There's also the pinecube-wip
branch on my nixpkgs fork, which includes a few additional fixes I needed to get diskless network booting working. (I hope to have time to eventually document how I got that working.) The other changes in that branch against upstream nixpkgs aren't too extensive:
There's the rtl8189es
commit that could probably be PR'd to nixpkgs, or included directly in my pinecube repo. (Not sure if it's worth upstreaming if the pinecube is the only NixOS device using the rtl8189es). I haven't been able to get wifi to work on my device. Are also you able to confirm that wifi works for you?
The "random cross compilation hacks" commit was just a bunch of random fixes I made while trying to cross-compile images. I can't remember all the original issues that those changes fixed. IIRC, the rsync cross compilation issue was fixed in upstream nixpkgs, so that likely isn't necessary.
The goal of course would be to build against upstream nixpkgs, by either pulling any package overrides into this pinecube-nixos repo, or upstreaming the changes into nixpkgs. I just found it more convenient to fork nixpkgs temporarily.
Thanks for the support, btw!
I'm trying to add git and emacs-nox to the image, and I'm getting this:
src/meson.build:639:4: ERROR: Problem encountered: Introspection support is requested but it isn't available in cross builds
And I don't know enough yet how to troubleshoot it. I'm guessing something is not in the temp package repo, but I'm clueless still. Reading and playing still.
I have not tried wifi yet. It's on the list. For my near term projects I plan to use PoE so I'll have networking that way, but I do have some ideas where I'll need WiFi.
Cross-compilation to an armv7l target only has partial support in NixOS--hence the need for some of those random fixes I mentioned. So, I'm not too surprised that git
or emacs-nox
might not properly cross-compile.
Also, if you have additional NixOS related questions, the #nixos and #nixos-aarch64 channels on Freenode can be good resources. The way NixOS is built for pinecube is a fairly non-standard configuration (cross-compiled and written to an sdcard image), so it unfortunately isn't a great introduction to NixOS for a new user. :)
Btw, I'm "devnull" on the pine64 discord.
Hmmm. I need to figure out how hard it is to do these patches. I am really liking NixOS overall and thanks to your work it was easy to build for the PineCube. That's my ultimate goal... the PineCube. If NixOS incurs a huge pain just to port small tools...
Greg Herlein | +1-415-368-7546 | LinkedIn http://www.linkedin.com/in/gherlein
On Sat, Dec 5, 2020 at 12:39 PM Daniel Fullmer [email protected] wrote:
Cross-compilation to an armv7l target only has partial support in NixOS--hence the need for some of those random fixes I mentioned. So, I'm not too surprised that git or emacs-nox might not properly cross-compile.
Also, if you have additional NixOS related questions, the #nixos and #nixos-aarch64 channels on Freenode can be good resources. The way NixOS is built for pinecube is a fairly non-standard configuration (cross-compiled to an sdcard image), so it unfortunately isn't a great introduction to NixOS for a new user. :)
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/danielfullmer/pinecube-nixos/issues/3#issuecomment-739413061, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABKK5CADSIIL5RWKUTWL5TSTKLBBANCNFSM4UOX6OPQ .