Commit graph

50 commits

Author SHA1 Message Date
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
Daniel Barlow
e78028e58f make outputs.directory useful for tftp-booting devices
basically, add some more symlinks to it
2022-10-07 00:23:04 +01:00
Daniel Barlow
58c287ef6a add config option for kernel commmand line 2022-10-07 00:21:04 +01:00
Daniel Barlow
9cbffdab50 add support for OpenWrt device trees 2022-10-05 21:52:30 +01:00
Daniel Barlow
c70d556f44 write combined-image into a directory not $out directly
this makes the tftp workflow a bit easier
2022-10-04 23:09:20 +01:00
Daniel Barlow
e7987c9520 add build-host tftp server 2022-10-04 23:08:43 +01:00
Daniel Barlow
f9626d00f4 generate probably-non-functional firmware image for gl-ar750 2022-10-03 22:28:15 +01:00
Daniel Barlow
6a9b14f965 re-enable kernel checkedConfig support
Sometimes config options get silenty removed because they have
dependencies on other options that haven't been enabled. If you add
those as attributes here, the kernel build will check they're _still_
present in the config after make oldconfig has run.
2022-09-30 17:45:05 +01:00
Daniel Barlow
6f23a45696 configuration for users and groups 2022-09-28 21:31:15 +01:00
Daniel Barlow
2e13f1372e add outputs.manifest for diagnosing image size problems 2022-09-27 22:07:18 +01:00
Daniel Barlow
5e573cef09 squashfs builder just needs filesystem not entire config 2022-09-27 22:06:36 +01:00
Daniel Barlow
696bbe6521 rename systemPackages as defaultProfile.packages
it doesn't work the same way as in nixos, so don't name it the same way
2022-09-27 16:47:42 +01:00
Daniel Barlow
4cbe669783 move make-image to subdirectory 2022-09-27 16:47:42 +01:00
Daniel Barlow
797aa30c47 make s6-init-files into a module 2022-09-27 10:19:44 +01:00
Daniel Barlow
a427b9da5e move s6-rc db creation to a module 2022-09-26 20:59:56 +01:00
Daniel Barlow
1c14bb63fa callPackageify make-image.nix 2022-09-26 16:19:14 +01:00
Daniel Barlow
e29d009b2f make kernel builder callPackage'able 2022-09-25 22:02:45 +01:00
Daniel Barlow
0e73362a8c expose pkgs in default derivation 2022-09-25 13:18:26 +01:00
Daniel Barlow
0c25983c0b fix kconfig override
the default kconfig should be in a config stanza, not in the
default attr of the options stanza, otherwise it gets overridden
completely instead of merged
2022-09-25 13:17:21 +01:00
Daniel Barlow
c6e56b1637 merge-modules accepts >1 module 2022-09-25 11:52:02 +01:00
Daniel Barlow
e46abbccca put liminix-tools in package overlay 2022-09-22 11:10:41 +01:00
Daniel Barlow
6be5b90c96 boots to userland and runs busybox init 2022-09-20 23:04:08 +01:00
Daniel Barlow
b2f7a429f7 build a kernel, using malta_kvm_defconfig
(there's a lot in this config that I don't think is needed)
2022-09-20 18:54:27 +01:00
Daniel Barlow
4b118bca19 generate a mips squashfs with some s6-rc services
haven't even tried booting it but I don't expect it to work. Needs

- s6-linux-init or some other pid 1 program
- a kernel
2022-09-19 23:51:38 +01:00