Commit graph

73 commits

Author SHA1 Message Date
Raito Bezarius
597fbc168e fix(default): add overlay via nixos module system
For some reason, the overlays are discarded when the package set gets
re-evaluated.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-08-23 19:36:34 +02:00
Raito Bezarius
258c33f409 feat(entrypoint): expose evalModules for external interop
e.g. colmena can make use of it to declare an heterogeneous set of
systems, mixing Liminix and NixOS systems.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-24 17:36:05 +02:00
Daniel Barlow
cd116ad9e7 list pkgs we need in bordervm build
it's a bit silly trying to build it with the whole liminix overlay
when it's a nixos system not a liminix system
2024-05-24 17:23:27 +02:00
1e9204f2f0 Merge pull request 'feat: add proper A/B schema' (#1) from preinit-ab into main
Reviewed-on: DGNum/liminix#1
2024-05-24 17:22:45 +02:00
Raito Bezarius
073e4b8731 fix(project): move to Python 2.7.18.8 for insecure packages
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-13 01:46:16 +02:00
Raito Bezarius
36527c20ca chore(shell): add a deployEnv shell
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-13 01:46:11 +02:00
Raito Bezarius
59d6640343 feat(zyxel): cleanup A/B schema
Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-05-13 01:45:27 +02:00
Daniel Barlow
7e4a05bbf8 separate kernel and base modules
this is needed for levitate
2024-04-28 12:44:27 +01:00
Daniel Barlow
05f2c9a2f7 add lua in nix-shell environment 2024-04-11 23:11:06 +01:00
Daniel Barlow
83e346d5a0 add deviceName param 2024-03-22 21:55:44 +00:00
Daniel Barlow
4ea518e296 expose modulesPath to ease out-of-tree configuration.nix 2024-03-20 18:58:44 +00:00
Raito Bezarius
d6ffdd7be6 devices/zyxel-nwa50ax: expose primary and secondary images
To support A/B a bit better.

Signed-off-by: Raito Bezarius <masterancpp@gmail.com>
2024-02-19 02:57:34 +01:00
Daniel Barlow
1781d4b6e4 add lzma to buildenv 2024-01-26 22:46:36 +00:00
Raito Bezarius
aff312bbbe project: Python 2.7 had an upgrade… ! 2023-12-09 17:10:41 +00:00
Daniel Barlow
7d5c7b9b44 export evaluation from default.nix and use it for docs 2023-11-09 22:14:31 +00:00
Daniel Barlow
a135cb1217 introduce lim, the liminix library
so far we have lim.parseInt, which parses an integer from a string
with optional base-selecting-prefix (e.g. 0755, 0x12ab)
2023-11-05 15:13:06 +00:00
Daniel Barlow
4389fa15f7 rename mips-vm as run-liminix-vm 2023-09-20 18:33:20 +01:00
Daniel Barlow
2e50368bd2 rename config.outputs to config.system.outputs
New rules: everything under "config" that isn't actually configuration
(e.g. build products) will in future live in config.system. This is
the first step.
2023-07-13 19:24:59 +01:00
Daniel Barlow
c3bb33c9ce add fennelrepl package
Runs fennel using a Lua compiled with the same options as the
host system, and with packages set up so it can find all the local
Lua packages

To shorten the dev feedback loop further, allows FENNEL_PATH to be set
on the command line so you can point directly it at the Fennel sources
for some library you're working against instead of having to run
nix-build and compile them to Lua
2023-07-04 22:58:51 +01:00
Daniel Barlow
6870abfe83 add min-copy-closure to buildEnv 2023-05-11 23:53:25 +01:00
Daniel Barlow
225fc6fe51 configurable busybox
allows modules to add to the busybox applets and change config
2023-03-10 18:40:45 +00:00
Daniel Barlow
91c0147919 set hostname before dhcp client runs 2023-03-08 22:11:59 +00:00
Daniel Barlow
e0ea576674 rename "device" config tree as "hardware"
we are also using "device" for "network device" (as in eth0,
wlan0 etc) so this makes it a bit less confusing perhaps
2023-03-03 22:52:33 +00:00
Daniel Barlow
bbd699d7b1 add module for device-specific config
in principle this module declares the config that's defined in
devices/foo/default.nix
2023-03-03 20:04:39 +00:00
Daniel Barlow
4f5b4924ff fix bordervm in hydra 2023-02-22 18:14:40 +00:00
Daniel Barlow
b60ce985b7 inline lib/merge-modules.nix
it wasn't really adding value once I learned that evalModules
is at nixpkgs.lib

https://github.com/telent/liminix/compare/main...vesim987:liminix:main#diff-8ebcd005c04c8eddff72aa83f26a9ee6cfef3c04ce16b8f051aa6c6f4b0c9e73L1
2023-02-16 17:22:27 +00:00
Daniel Barlow
d948438ae1 extract borderVm config into separate file 2023-02-15 22:06:28 +00:00
Daniel Barlow
ea6b9c8016 bordervm add network debugging utils 2023-02-15 22:06:28 +00:00
Daniel Barlow
9899fa91f6 bordervm static ethernet and tftp server 2023-02-15 22:06:28 +00:00
Daniel Barlow
e84833e52f WIP create VM for pppoe and tftpd 2023-02-15 22:06:28 +00:00
Daniel Barlow
9d651f5851 move files 2023-02-15 22:06:28 +00:00
Daniel Barlow
dd8c8edd9c rewrite phram boot to use correct sizes and offsets 2023-02-15 22:06:28 +00:00
Daniel Barlow
1a08aaad01 move outputs into a module 2023-02-10 23:10:44 +00:00
Daniel Barlow
0a06319d0c make loadAddress and entryPoint device configuration
... already having second thoughts about loadAddress
2023-02-10 18:20:01 +00:00
Daniel Barlow
8cead61740 convert devices from overlay to module
this makes it possible for devices to stash things in
`config` (e.g. pathname to DTS) that can later be overwritten
(even by the end user)
2023-02-10 17:54:33 +00:00
Daniel Barlow
4addcbbd51 turn run-qemu.sh script into mips-vm buildEnv command 2023-02-08 22:17:06 +00:00
Daniel Barlow
cc7daeabb3 add routeros to overlay 2023-02-08 18:13:35 +00:00
Daniel Barlow
78c55d36a9 improve build tool derivations, review README
The readme is still very badly organised, but not quite so out of
date.
2023-02-08 00:03:37 +00:00
Daniel Barlow
eaf90df56c per-device dts 2023-02-06 23:19:35 +00:00
Daniel Barlow
424abc72b8 rearrange all the ci stuff 2023-02-05 22:38:21 +00:00
Daniel Barlow
3b1bc7eff8 test derivation for ci 2023-01-29 21:19:10 +00:00
Daniel Barlow
64b9bad891 allow building mips (bigendian) without setting env vars 2023-01-29 10:00:13 +00:00
Daniel Barlow
e6a173f71c make liminix-config a parameter with default
this is for hydra
2023-01-29 09:25:03 +00:00
Daniel Barlow
76243d306c remove checkedConfig, check all the config 2022-10-19 22:09:38 +01:00
Daniel Barlow
f1b7780537 speed up kernel build
by having two separate derivations for patching the kernel source tree
and building it, we have to copy said source trees from one store
location to another which takes non-neglible time on spinning rust
(literally minutes on my machine). Replace with a single derivation
that can do more things on one tree in-place
2022-10-19 17:34:22 +01:00
Daniel Barlow
d1dda7bf74 remove redundant nixpkgs.pkgs 2022-10-19 17:10:35 +01:00
Daniel Barlow
4b513cdb98 use openwrt kernel for gl-ar750 2022-10-16 15:15:18 +01:00
Daniel Barlow
77922c875b add per-device overlay
presently this is used to reference the appropriate kernel and (if
needed) openwrt source trees, but I would not be surprised if we find
other uses
2022-10-15 18:55:33 +01:00
Daniel Barlow
7d1c85f680 kernel: enlarge offset to rootfs, disable sysfs devlink
the ag71xx driver doesn't probe with fw_devlink enabled
2022-10-15 16:11:40 +01:00
Daniel Barlow
5feda1a1e6 add 'phram' param for tftp boot without flashing 2022-10-07 00:24:35 +01:00