Commit Graph
94 Commits
Author SHA1 Message Date
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
Daniel Barlow 0b0efde12c tidy repo 2022-09-22 11:11:31 +01:00
Daniel Barlow e46abbccca put liminix-tools in package overlay 2022-09-22 11:10:41 +01:00
Daniel Barlow 4eea1b1f18 delete noodling in readme 2022-09-22 00:11:58 +01:00
Daniel Barlow fde7a269b7 add default service target, get some stuff running 2022-09-22 00:10:55 +01:00
Daniel Barlow edb701b87d set PATH for root user, mount /proc and /sys 2022-09-22 00:10:00 +01:00
Daniel Barlow 45025f128a switch to s6-linux-init and s6-rc
This is at the point where it runs a getty and a pile of s6-supervise
processes, though it doesn't seem to run the things being supervised
2022-09-21 23:01:21 +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 41598a75f0 link to CITL mips security paper 2022-09-20 18:24:27 +01:00
Daniel Barlow ad759b7c6d allow changing hardware device in tests 2022-09-20 16:09:44 +01:00
Daniel Barlow e892dc6e9c stop if test fails 2022-09-20 16:07:55 +01:00
Daniel Barlow fc1020732f placeholder readme 2022-09-20 15:46:42 +01:00
Daniel Barlow 83d576fb58 remove unused lets, add test case 2022-09-20 15:46:03 +01:00
Daniel Barlow b38b0bd932 add rudimentary test harness, turn example-configuration into a test 2022-09-20 15:22:37 +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