Commit Graph

62 Commits (404162ac1ed08cd729fa1b50371597afd0242968)

Author SHA1 Message Date
Daniel Barlow 4ea60a6082 watchdog support for mt300n-v2 2023-03-24 17:11:36 +00:00
Daniel Barlow beb6e260d4 PoC support for hardware watchdog 2023-03-23 13:18:05 +00:00
Daniel Barlow efd878dc5e extract common code for patching kernel source fdorm openwrt 2023-03-18 19:17:58 +00:00
Daniel Barlow ce05f4e44c extract phram.mtd ramdisk support from tftpboot module
also rename tftproot output to tftpboot for consistency
2023-03-18 14:30:10 +00:00
Daniel Barlow 3f11a3c708 gl-ar750 gpio support is required for USB to work
_legacy_ gpio sysfs interface is required  by the openwrt
ath79 phy usb driver
2023-03-18 14:30:10 +00:00
Daniel Barlow ad3f241af9 support mt300n-v2 flash 2023-03-10 23:24:05 +00:00
Daniel Barlow 2594239bbc can't use builtins.fetchurl on hydra? 2023-03-10 18:51:07 +00:00
Daniel Barlow be06363e4f new example for rsync/usb backup server 2023-03-10 18:42:32 +00:00
Daniel Barlow d83bcc643e add wifi firmware, move things around in ram
* at the base address we were using, the filesystem was getting
corrupted presumably because the kernel unpacked into it

* leave a little more space between compressed kernel and
squashfs. this is probably ineffective but also harmless
2023-03-10 00:48:47 +00:00
Daniel Barlow f50b0627a2 gl-mt300n-v2: initialize switch & define networkInterfaces
It booted and mounted rootfs the first time I tried, which
was nice. Wireless doesn't work yet, it needs firmware
2023-03-09 19:30:57 +00:00
Daniel Barlow f36d8ef1d0 make mt300a flash-ready 2023-03-08 20:35:41 +00:00
Daniel Barlow 85b5edc39d vlan interfaces depend on parent 2023-03-08 20:34:39 +00:00
Daniel Barlow d290965711 shuffle kernel config for gl-mt300a 2023-03-07 22:49:33 +00:00
Daniel Barlow e8d5e4c788 move regulatory.db to wlan module 2023-03-07 21:32:21 +00:00
Daniel Barlow c046c39613 wlan support for mt300a 2023-03-07 19:11:12 +00:00
Daniel Barlow e86e9430fc vlans and mt300a wired network interfaces 2023-03-07 19:10:12 +00:00
Daniel Barlow 38756af1c1 add in_outputs shell function which ensures umask is set 2023-03-03 23:07:03 +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 263882cbe4 move dts config option from boot to device 2023-03-03 22:43:44 +00:00
Daniel Barlow 6d191b73ae add outputs.flashable - flashable firmware.bin 2023-03-02 23:01:26 +00:00
Daniel Barlow adc198b3af WIP push to see what passes 2023-03-01 22:24:58 +00:00
Daniel Barlow 259f5c767b ath10k kernel support and and firmware
- some firmware from kvalo repository
- a service to extract calibration data ART partition
- missing kernel symbol to enable PCI support
2023-03-01 21:08:47 +00:00
Daniel Barlow 41ff5a1fe6 move FW_LOADER* config to modules/base 2023-03-01 18:16:01 +00:00
Daniel Barlow f2e5f65149 add wireless support for hardware devices
* gl-ar750 the ath9k works, ath10k is untested
* gl-mt300[an] build but may not boot
2023-02-22 19:17:47 +00:00
Daniel Barlow 751920c8fc qemu: switch to building wireless as kernel modules
This is a hefty change

* add support for kernel backports project
* build wireless stack/drivers as modules from a backported kernel
* create a service to load/unload the modules
2023-02-22 18:41:41 +00:00
Daniel Barlow a2d8eaf95d make kernel config visually consistent: symbols are unquoted 2023-02-22 18:28:48 +00:00
Daniel Barlow 4faf529dc3 define kernel MODULE_SIG everywhere 2023-02-22 18:20:56 +00:00
Daniel Barlow 10aeb5e464 add notes about dual-band hardware 2023-02-19 18:14:27 +00:00
Daniel Barlow 81ccd11347 gl-ar750: support _actual_ mtd/spi not just fake one
the ath9k driver needs MTD because that's where it looks for
firmware/calibration data (ART partition)
2023-02-19 18:13:38 +00:00
Daniel Barlow 817c3793d4 move dts config from kernel to boot
The kernel does not need to know about the DTS. I am prepared
to be very slightly injured on this hill.
2023-02-18 15:13:19 +00:00
Daniel Barlow 5b51aa0826 tftp load address is per-device, IP addresses are local config 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 afd9bbbc80 building but untested kernels for gl-mt300a, gl-mt300n-v2 2023-02-06 23:19:53 +00:00
Daniel Barlow eaf90df56c per-device dts 2023-02-06 23:19:35 +00:00
Daniel Barlow 76243d306c remove checkedConfig, check all the config 2022-10-19 22:09:38 +01:00
Daniel Barlow 0a46ba7fc3 move some wifi-related comments into wlan module 2022-10-19 17:36:31 +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 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 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 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 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