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
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
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
f9626d00f4
generate probably-non-functional firmware image for gl-ar750
2022-10-03 22:28:15 +01:00
Daniel Barlow
ba80e66696
add config for 80211_hwsim simulated wlan adaptor
2022-09-30 17:51:15 +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
ad759b7c6d
allow changing hardware device in tests
2022-09-20 16:09:44 +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