OpenWRT: Difference between revisions
imported>Astro |
imported>Flokli No edit summary |
||
Line 5: | Line 5: | ||
== Using ImageBuilder in nix-shell == | == Using ImageBuilder in nix-shell == | ||
Get a copy of: https://github.com/nix-community/nix-environments/blob/master/envs/openwrt/shell.nix | Get a copy of: https://github.com/nix-community/nix-environments/blob/master/envs/openwrt/shell.nix | ||
{{warning|Currently (2023-04-17), the openwrt build fails with a "/usr/lib/libuuid.so: file not recognized: file format not recognized".}} | |||
Currently (01/2022) I've tested builds using nixpkgs-21.11 and unstable, and both worked. This could possibly break/behave different in the future so you can e.g. pin to an older nixpkgs-revision by replacing the first lines of the above code with this: | Currently (01/2022) I've tested builds using nixpkgs-21.11 and unstable, and both worked. This could possibly break/behave different in the future so you can e.g. pin to an older nixpkgs-revision by replacing the first lines of the above code with this: |
Revision as of 13:09, 17 April 2023
is an open-source project for embedded operating systems based on Linux, primarily used on embedded devices to route network traffic. The main components are Linux, util-linux, musl, and BusyBox. All components have been optimized to be small enough to fit into the limited storage and memory available in home routers. (Source: https://en.wikipedia.org/wiki/OpenWrt)
OpenWRT provides different possibilities (https://openwrt.org/docs/guide-developer/imagebuilder_frontends) to build custom images for your devices. There is also a little helper tool suggested on IRC called "autobuild" (https://johannes.truschnigg.info/code/openwrt_autobuild/) which helps to manage/keep track of image-configurations for your devices. It's also working with the nix-shell below - please note that there is currently some misbehavior when "make_clean" is set to "True" the system says build is triggered but there are no files/logs/processes running then.
Using ImageBuilder in nix-shell
Get a copy of: https://github.com/nix-community/nix-environments/blob/master/envs/openwrt/shell.nix
Currently (01/2022) I've tested builds using nixpkgs-21.11 and unstable, and both worked. This could possibly break/behave different in the future so you can e.g. pin to an older nixpkgs-revision by replacing the first lines of the above code with this:
{ opkgs ? import <nixpkgs> {} }:
let
pkgs = import (opkgs.fetchFromGitHub {
owner = "NixOS";
repo = "nixpkgs";
rev = "<revision>";
sha256 = "<hash>";
}) {};
...