Talk:NixOS on ARM: Difference between revisions

From NixOS Wiki
Latest comment: 11 July 2019 by Thra11 in topic Distributed Builds
imported>Samueldr
m Adds link to a page listing uboot builds from hydra
 
(10 intermediate revisions by 5 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>
    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)
 
It's coming back soon, I'll let [[User:Dezgeg|Dezgeg]] do the write-up when ready.
 
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.]
 
--[[User:Samueldr|samueldr]] ([[User talk:Samueldr|talk]]) 01:14, 29 November 2017 (UTC)
 
This has changed by now - u-boot supports QEMU's 'virt' machine (with highmem=off, though). Added to the wiki at [[NixOS_on_ARM/QEMU]] .
 
--[[User:flokli|— flokli]] ([[User talk:flokli|talk]]) 23:23, 10 April 2018 (UTC)


<hr />
<hr />


== Native support for raspi in nixpkgs ==
== Latest u-boot builds form Hydra ==


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.
* https://hydra.nixos.org/jobset/nixpkgs/trunk/jobs-tab?filter=uboot


Raspi3 should be natively supported but right now there is no guide on how to build an image and install it.
This isn't perfect, but fresh from nixpkgs-unstable.
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.
--[[User:Samueldr|samueldr]] ([[User talk:Samueldr|talk]]) 01:29, 3 December 2018 (UTC)
--[[User:Dezgeg|Dezgeg]] ([[User talk:Dezgeg|talk]]) 18:07, 16 September 2017 (UTC)


<hr />
<hr />


== NixOS "support" for board-specific kernels or bootloaders ==
== Distributed Builds ==
 
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.


--[[User:Samueldr|samueldr]] ([[User talk:Samueldr|talk]]) 00:12, 21 January 2018 (UTC)
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.


<hr />
[[User:Thra11|Thra11]] ([[User talk:Thra11|talk]]) 20:33, 11 July 2019 (UTC)


== Latest u-boot builds form Hydra ==
== Option boot.loader.grub.devices ==


* https://hydra.nixos.org/jobset/nixpkgs/trunk/jobs-tab?filter=uboot
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.  


This isn't perfect, but fresh from nixpkgs-unstable.
With my configuration, the system requires me to set this.  


--[[User:Samueldr|samueldr]] ([[User talk:Samueldr|talk]]) 01:29, 3 December 2018 (UTC)
This is my configuration: https://gist.github.com/ShalokShalom/f5b190f531d354614a7319a7f3d22fc1

Latest revision as of 04:47, 7 April 2024

NixOS "support" for board-specific kernels or bootloaders

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 a raspberry pi specific image using a specific kernel, that 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.

--samueldr (talk) 00:12, 21 January 2018 (UTC)Reply


Latest u-boot builds form Hydra

This isn't perfect, but fresh from nixpkgs-unstable.

--samueldr (talk) 01:29, 3 December 2018 (UTC)Reply


Distributed Builds

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.

Thra11 (talk) 20:33, 11 July 2019 (UTC)Reply

Option boot.loader.grub.devices

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.

With my configuration, the system requires me to set this.

This is my configuration: https://gist.github.com/ShalokShalom/f5b190f531d354614a7319a7f3d22fc1