Commit graph

272 commits

Author SHA1 Message Date
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
3ef30056c4 trim down the qemu kernel config
just retain the options we need to pass the tests
2022-10-18 22:28:07 +01:00
Daniel Barlow
c6ed5d6f2d add ipv4/v6 to base kernel config 2022-10-18 18:56:29 +01:00
Daniel Barlow
026932a745 add unix-domain socket support
this is a curious config option to default to "n", I think
2022-10-18 15:48:37 +01:00
Daniel Barlow
3ff9e49085 enable eth1 2022-10-18 15:48:29 +01:00
Daniel Barlow
c2bcf2dd3e fixup 4b513cd 2022-10-18 15:47:27 +01:00
Daniel Barlow
45d52a6c99 tidy kconfig a bit 2022-10-16 15:31:10 +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
fa31d00d6a openwrt ag71xx as module 2022-10-15 16:28:19 +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
70fa328574 support out-of-tree module builds in vmlinux derivation
run "make modules_prepare" to create scripts/modules.lds
2022-10-09 09:55:30 +01:00
Daniel Barlow
2276c548ba name the openwrt source tree so we can find it in /nix/store 2022-10-09 09:53:55 +01:00
Daniel Barlow
e823e7a29c HALFARSED enable toggling promptless kconfig symbols
Some kernel config symbols we need to enable in some configurations
don't have a "prompt" entry in the Kconfig files, meaning that
make oldconfig (or any other make fooconfig) won't change them.
So we add a Kconfig.local where they can be selected

In this patch we hardcode the required symbol. Next step would be
to generalise so that they could be specified in something like a
config.kernel.hiddenConfig attrset
2022-10-09 09:50:17 +01:00
Daniel Barlow
20b9eb16ec make dnsmasq smaller
remove dependency on nettle -> gmp -> glibc
2022-10-08 20:05:17 +01:00
Daniel Barlow
cd37627cbe bug 2022-10-08 11:25:57 +01:00
Daniel Barlow
cd1428255b dear diary 2022-10-08 11:22:31 +01:00
Daniel Barlow
fe7080e75c kconfig reqd for tmpfs mount, getty baud rate to = gl-ar750 u-boot 2022-10-07 23:26:24 +01:00
Daniel Barlow
1c39da8544 tidy kconfig 2022-10-07 23:26:00 +01:00
Daniel Barlow
8e8c34b3fa gl-ar750: frob kernel config for ttyS0 (SERIAL_OF_PLATFORM) 2022-10-07 23:24:36 +01:00
Daniel Barlow
423cf4cbee WIP gl-ar750 mounts root fs and starts pid 1
but still can't open /dev/console so it panics quite quickly
2022-10-07 00:26:32 +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
af79e1e9e9 build dtb (forgot to commit this file?) 2022-10-07 00:19:29 +01:00
Daniel Barlow
1bd35a1edd enable config for items in checkedConfig
don't make me have to write them twice
2022-10-07 00:18:37 +01:00
Daniel Barlow
67c21e51d7 gl-ar750: boots 2022-10-05 21:58:39 +01:00
Daniel Barlow
309bb0db2d qemu kernel: choose an endianness
more than mildly surprised this wasn't causing it to
report some kind of error, tbh
2022-10-05 21:57:38 +01:00
Daniel Barlow
4c2e460042 qemu: remove =m kconfig to shorten build times
it's not as though we're using any of the modules anyway
2022-10-05 21:55:31 +01:00
Daniel Barlow
9cbffdab50 add support for OpenWrt device trees 2022-10-05 21:52:30 +01:00
Daniel Barlow
2f3072d7d5 enable /proc/config.gz
previous attempt hadn't noticed that it has a missing dependency
2022-10-05 21:50:10 +01:00
Daniel Barlow
8da5a88e07 build real lzma 2022-10-05 18:19:09 +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
a1a1abb8c7 rearrange TODO list 2022-10-02 23:04:15 +01:00
Daniel Barlow
e9f04931fa improve syntax for accessing service outputs 2022-10-02 16:35:55 +01:00
Daniel Barlow
2d7bb6b2fa twiddle docs 2022-10-02 14:47:35 +01:00
Daniel Barlow
f030efbd49 extract "service" function to reduce duplicated code 2022-10-02 14:44:29 +01:00
Daniel Barlow
7f280b5d6a add QEMU_OPTIONS env var for run-qemu 2022-10-02 10:05:28 +01:00
Daniel Barlow
0ed97a5232 support /proc/config.gz 2022-10-02 10:04:36 +01:00
Daniel Barlow
1aa9f8d61f add s6 package for logfile timestamp decoder s6-tai64nlocal 2022-10-02 10:04:35 +01:00
Daniel Barlow
da8866a01a first pass at a hostapd service, rough around the edges 2022-10-02 10:04:35 +01:00
Daniel Barlow
8cff11d0a3 add Licence information 2022-10-01 12:13:47 +01:00
Daniel Barlow
95f27eaf84 add note about contributions 2022-10-01 09:26:15 +01:00
Daniel Barlow
ba80e66696 add config for 80211_hwsim simulated wlan adaptor 2022-09-30 17:51: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
c320d0afc7 add dnsmasq and example config for it
would be good to move more of this into a module, but that
doesn't sit well with the (potential) ability to run more than one
dnsmasq service, as modules are singletons
2022-09-28 21:33:18 +01:00
Daniel Barlow
6f23a45696 configuration for users and groups 2022-09-28 21:31:15 +01:00