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
Daniel Barlow
1dbdbbbb1a
thinking
2022-09-27 22:58:56 +01:00
Daniel Barlow
dfdaa27f39
make ppp log to stderr not syslog
2022-09-27 22:57:06 +01:00
Daniel Barlow
0632b5102e
remove .service/.target/.bundle etc suffixes on service names
...
they don't seem to be providing value
2022-09-27 22:56:53 +01:00
Daniel Barlow
5d17919474
remove .service/.target/.bundle etc suffixes on service names
...
they don't seem to be providing value
2022-09-27 22:35:29 +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
e2650aa162
add pppoe derivation, replacing override
...
we use a custom installPhase so we don't drag in a bunch of
scripts that we don't need and don't work
2022-09-27 22:04:22 +01:00
Daniel Barlow
af4cd2e05c
make mksquashfs fail on error
2022-09-27 17:36:25 +01:00
Daniel Barlow
a5e3fffa12
what's so amazing about really deep thoughts?
2022-09-27 16:48:17 +01:00
Daniel Barlow
5d10a9e760
rename config.environment as config.filesystem
2022-09-27 16:48:17 +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
b7ff973b4b
explain package/module distinction, add notes on side tracks
2022-09-27 14:11:23 +01:00
Daniel Barlow
e8880c199b
allow overriding init
2022-09-27 14:06:39 +01:00
Daniel Barlow
e40a91fca0
move all remaining pseudofiles to base module
2022-09-27 14:06:07 +01:00
Daniel Barlow
797aa30c47
make s6-init-files into a module
2022-09-27 10:19:44 +01:00
Daniel Barlow
85f7f7293d
add bin/init to s6-rc module
...
... which suggests it could be better named; init is from
s6-linux-init not s6-rc
2022-09-26 21:11:07 +01:00
Daniel Barlow
4c89e9aee6
add passwd and group in environment.etc
2022-09-26 21:02:10 +01:00
Daniel Barlow
a427b9da5e
move s6-rc db creation to a module
2022-09-26 20:59:56 +01:00
Daniel Barlow
bd6cbd373f
add config environment.etc which gets converted to pseudofiles
2022-09-26 20:46:28 +01:00
Daniel Barlow
09a9dba963
export "dir" and "symlink" from pseudofiles package
2022-09-26 18:27:43 +01:00
Daniel Barlow
1c14bb63fa
callPackageify make-image.nix
2022-09-26 16:19:14 +01:00
Daniel Barlow
c6c6b51893
make s6-rc-database a package
2022-09-26 15:59:21 +01:00
Daniel Barlow
cd5afb22e7
remove static busybox
2022-09-26 14:46:06 +01:00
Daniel Barlow
d5ccecf038
make "shutdown" work
...
create a package for the s6-compatible shutdown/halt/poweroff
commands and put it on the path ahead of busybox
2022-09-26 14:13:23 +01:00
Daniel Barlow
2430e80ca1
todo
2022-09-26 13:45:16 +01:00
Daniel Barlow
7803eebfd4
add a "route" service
2022-09-26 13:44:40 +01:00
Daniel Barlow
676c94782b
separate files for networking and services
2022-09-26 12:26:54 +01:00
Daniel Barlow
4bfba33170
handle case when ppp0 eists but is down
2022-09-26 12:11:44 +01:00
Daniel Barlow
f0024dcac5
check type of kernel config attrsets
2022-09-26 12:11:26 +01:00
Daniel Barlow
1b1aa9de76
much TODO about nothing
2022-09-26 11:47:11 +01:00
Daniel Barlow
9902d4052b
add a type definiton for s6-rc modules
2022-09-26 11:46:09 +01:00
Daniel Barlow
cbee488d22
automated test for pppoe
2022-09-26 11:17:31 +01:00
Daniel Barlow
f3f51ac6be
vmlinux: tidy up
2022-09-25 23:27:39 +01:00
Daniel Barlow
e29d009b2f
make kernel builder callPackage'able
2022-09-25 22:02:45 +01:00
Daniel Barlow
a7e54c087c
more style
2022-09-25 21:22:00 +01:00
Daniel Barlow
617355773e
explain relationship with NixWRT
2022-09-25 21:21:27 +01:00
Daniel Barlow
5d51d15b86
working pppoe with readiness notification on ip-up
2022-09-25 21:12:50 +01:00
Daniel Barlow
47f8fa9797
write down things I'll forget otherwise
2022-09-25 21:11:34 +01:00
Daniel Barlow
a34a3ade08
make udhcp wait for its interface to be ready
2022-09-25 21:10:57 +01:00
Daniel Barlow
3677ab9cb3
move service state out of s6 scandir
...
getting weird permission errors, seems simpler all raound just to
put them somewhere else
2022-09-25 21:10:04 +01:00
Daniel Barlow
1d9f39bf87
support notification-fd file in longrun
2022-09-25 21:06:08 +01:00
Daniel Barlow
92e42f1d45
fix oneshot "up" and "down" files
...
they're supposed to be names of executables, not text of
shell scripts
2022-09-25 21:02:10 +01:00
Daniel Barlow
01aa423dad
pkgs.writeAshScript is similar to writeShellScript but busybox
2022-09-25 20:50:20 +01:00
Daniel Barlow
3540f594b1
address service: rename addr->address & add prefixLength
...
these names are consistent with nixos
2022-09-25 16:51:13 +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
c1835d97ee
add pppoe
2022-09-25 11:54:31 +01:00
Daniel Barlow
c6e56b1637
merge-modules accepts >1 module
2022-09-25 11:52:02 +01:00
Daniel Barlow
887a4ff966
WIP introduce nixos module system for configuration
2022-09-25 11:10:22 +01:00
Daniel Barlow
0f999f9ae4
smoke test : remove temporary files afterwards
2022-09-24 21:13:15 +01:00
Daniel Barlow
8dd7bb958a
improve qemu tooling, and document it
2022-09-24 21:03:26 +01:00
Daniel Barlow
aa589e8d6b
two kinds of brain dump
2022-09-24 17:47:14 +01:00
Daniel Barlow
d284179272
script and README to start routeros configured for pppoe
2022-09-24 13:04:47 +01:00
Daniel Barlow
7a4314baee
run-tests cd into each test directory before running it
2022-09-23 17:21:43 +01:00
Daniel Barlow
1bc8fd7873
remove trace output
2022-09-22 12:45:41 +01:00
Daniel Barlow
dd124e49dd
udhcp: write service responses as outputs
2022-09-22 12:42:20 +01:00