Talk:NixOS on ARM: Difference between revisions

imported>Samueldr
Adds discussion point about non-upstream bootloader and kernel
 
(12 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== QEMU support ==
== NixOS "support" for board-specific kernels or bootloaders ==


As of June 2016, the versatile build of u-boot isn't built anymore.
I re-worked the introduction paragraph of the article, but I have added a partly unfounded remark about NixOS being able to work with specific kernels or bootloaders. The remark is built on the fact that there is [https://github.com/NixOS/nixpkgs/blob/0676d691724b2ceebde17377fddf9bc7fcf8f5b0/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix a raspberry pi specific image using a specific kernel], that [https://github.com/NixOS/nixpkgs/issues/29569#issuecomment-347023896 it is possible to use upstream forks with fixes for the kernel]. There is no documentation yet on how to use a vendor fork (e.g. allwinner non-upstream fork) for the kernel or u-boot, and no documentation on how to boot NixOS when extlinux support isn't present in the u-boot build.


Furthermore, the pre-built image is not present anymore on the mirror.
--[[User:Samueldr|samueldr]] ([[User talk:Samueldr|talk]]) 00:12, 21 January 2018 (UTC)


<blockquote>
<hr />
    U-Boot: Drop Versatile build                                     
 
    I had broken this at some point and the patch conflicts quite often.
    Hopefully soon the Raspberry Pi 2 emulation in QEMU can be used instead.
 
— https://github.com/NixOS/nixpkgs/commit/18572e23590f7407be60926e6d98d1a3580571c1
</blockquote>
 
Relevant edit: https://nixos.wiki/index.php?title=NixOS_on_ARM&diff=647&oldid=505
 
--[[User:Samueldr|Samueldr]] ([[User talk:Samueldr|talk]]) 20:01, 3 September 2017 (UTC)
 
Hopefully, there will soon (U-Boot 2018.01 release, I hope) an easy way to do this: https://lists.denx.de/pipermail/u-boot/2017-August/304302.html


--[[User:Dezgeg|Dezgeg]] ([[User talk:Dezgeg|talk]]) 08:25, 11 September 2017 (UTC)
== Latest u-boot builds form Hydra ==


It's coming back soon, I'll let [[User:Dezgeg|Dezgeg]] do the write-up when ready.
* https://hydra.nixos.org/jobset/nixpkgs/trunk/jobs-tab?filter=uboot


Don't want to wait? [https://botbot.me/freenode/nixos/2017-11-29/?msg=94029070&page=1 Here's the IRC log on #nixos with instructions.]
This isn't perfect, but fresh from nixpkgs-unstable.


--[[User:Samueldr|samueldr]] ([[User talk:Samueldr|talk]]) 01:14, 29 November 2017 (UTC)
--[[User:Samueldr|samueldr]] ([[User talk:Samueldr|talk]]) 01:29, 3 December 2018 (UTC)


<hr />
<hr />


== Native support for raspi in nixpkgs ==
== Distributed Builds ==


Since a couple of months hydra also builds nixpkgs for arm64. Additionally some configuration is already in nixpkgs for raspi2 and raspi1, however no binary cache is available.
I've added a short section about using an aarch64 remote builder to speed up builds for armv6l and armv7l (With the advent of the raspberry pi 4, this is probably a relatively convenient way to run nixos on the raspberry pi 1 / raspberry pi zero(w) without suffering very long build times). It might make sense to merge it with the section on cross-compiling with qemu, which also mentions distributed builds briefly, but I wasn't sure how best to do it.


Raspi3 should be natively supported but right now there is no guide on how to build an image and install it.
[[User:Thra11|Thra11]] ([[User talk:Thra11|talk]]) 20:33, 11 July 2019 (UTC)
There is https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix but the image really is nowhere to be found.
--[[User:Makefu|Makefu]] ([[User talk:Makefu|talk]]) 08:51, 11 September 2017 (UTC)


Added now.
== Option boot.loader.grub.devices ==
--[[User:Dezgeg|Dezgeg]] ([[User talk:Dezgeg|talk]]) 18:07, 16 September 2017 (UTC)


<hr />
I am currently trying to setup a Raspberry Pi and neither on the ARM installation page, the default configuration, nor this page here, does the required option "boot.loader.grub.devices" come up.


== NixOS "support" for board-specific kernels or bootloaders ==
With my configuration, the system requires me to set this.


I re-worked the introduction paragraph of the article, but I have added a partly unfounded remark about NixOS being able to work with specific kernels or bootloaders. The remark is built on the fact that there is [https://github.com/NixOS/nixpkgs/blob/0676d691724b2ceebde17377fddf9bc7fcf8f5b0/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix a raspberry pi specific image using a specific kernel], that [https://github.com/NixOS/nixpkgs/issues/29569#issuecomment-347023896 it is possible to use upstream forks with fixes for the kernel]. There is no documentation yet on how to use a vendor fork (e.g. allwinner non-upstream fork) for the kernel or u-boot, and no documentation on how to boot NixOS when extlinux support isn't present in the u-boot build.
This is my configuration: https://gist.github.com/ShalokShalom/f5b190f531d354614a7319a7f3d22fc1
 
--[[User:Samueldr|samueldr]] ([[User talk:Samueldr|talk]]) 00:12, 21 January 2018 (UTC)
Return to "NixOS on ARM" page.