Daniel Barlow
e5db2691e5
add CI job to test tftpboot
2023-12-18 22:42:29 +00:00
Daniel Barlow
d1e2d525a4
tftpboot omnia using bootz not bootm
...
because kernel size is now beyond the u-boot size
limit for bootm
2023-12-16 23:40:55 +00:00
Daniel Barlow
55fa9992d4
WIP
2023-12-13 21:54:15 +00:00
Daniel Barlow
95d9e014fb
omnia: fix paths
2023-12-13 21:52:28 +00:00
Daniel Barlow
601bb289ee
rename diskimage to mbrimage
2023-12-11 19:09:19 +00:00
Daniel Barlow
876bd7d8ce
rename flashimage to mtdimage
2023-12-11 19:09:18 +00:00
Daniel Barlow
5eeb277564
move output module imports example -> device
...
The outputs available are a characteristic of the device, not
the example.
2023-12-10 16:38:53 +00:00
Daniel Barlow
317457f582
extract common config for qemu devices into module
2023-12-09 17:10:41 +00:00
Daniel Barlow
382128b6cf
omnia: make wan interface work
2023-11-28 21:38:45 +00:00
Daniel Barlow
c803772074
omnia: add hardware ethernet and switch config
2023-11-27 21:37:15 +00:00
Daniel Barlow
cc73a98419
support setting network device names
...
this means that net devices in devices/foo/default.nix can be
specified by their sysfs paths (instead of by "eth0" and "eth1" that
may change from one kernel version to the next) and given mnenomic
names that are helpful for the hardware. Like "wan" and "lan[1..4]"
2023-11-26 23:15:28 +00:00
Daniel Barlow
31a2969972
omnia: add support for wifi
...
- ath9k and ath10k, both on PCI bus (which can be enumerated, hence
they don't need to be in device tree)
- need to disable PCIe ASPM for the ath9k to work
- appropriate firmware files added for ath10k
2023-11-26 13:25:01 +00:00
Daniel Barlow
76a370cc92
omnia kernel: add watchdog
...
it's enabled by u-boot so we need at least this minimal capability
otherwise the system reboots after three minutes
2023-11-26 13:07:44 +00:00
Daniel Barlow
27ce61ae4e
add bootable config for Turris Omnia
2023-11-24 23:29:12 +00:00
Daniel Barlow
c563a6451f
add missing param
2023-11-18 14:20:59 +00:00
Daniel Barlow
f9f4d97bb8
convert flash params to int
2023-11-12 20:39:06 +00:00
Daniel Barlow
abfb35a231
and entryPoint
2023-11-12 18:50:47 +00:00
Daniel Barlow
315907de98
convert hardware loadAddress to int
2023-11-12 18:47:31 +00:00
Daniel Barlow
185117843b
convert tftp.loadAddress from string to int
2023-11-12 18:37:33 +00:00
Daniel Barlow
0131686661
use parseInt for hex values
2023-11-12 18:25:38 +00:00
Daniel Barlow
f61e737b54
improve doc for outputs and hardware
...
Changed my mind about "installer" as a first-class concept, at least
in the current implementation. Not every documented output is an
installer
2023-11-12 17:15:58 +00:00
Daniel Barlow
262efaabe6
doc: put all the u-boot/serial stuff in one place to link from
2023-11-12 17:14:33 +00:00
Daniel Barlow
7cfb92e3ce
more doc
2023-11-10 21:17:20 +00:00
Daniel Barlow
5e046490de
support links from device pages to their installation methods
2023-11-09 23:02:35 +00:00
Daniel Barlow
4cb4f904f8
delete unused kconfig for arm qemus
2023-11-08 21:28:12 +00:00
Daniel Barlow
6489a39424
qemu armv7
2023-11-05 23:19:11 +00:00
Daniel Barlow
c40eef25d6
qemu: use phram instead of block2mtd
2023-11-05 19:13:51 +00:00
Daniel Barlow
80793aa694
belkin rt3200 is a ubifs device
2023-11-05 11:32:23 +00:00
Daniel Barlow
e6cb5e319b
extract NETDEVICES kconfig to kernel.nix module
2023-11-05 11:31:23 +00:00
Daniel Barlow
629914f65e
initial support for ubifs
2023-10-16 19:55:17 +01:00
Daniel Barlow
80a09a9a9b
rt3200: move the entryPoint
2023-10-10 20:25:42 +01:00
Daniel Barlow
bd20f3e419
uimage: make fit optional
2023-10-09 19:47:57 +01:00
Daniel Barlow
ed792e0dc0
rt3200: swap wireless driver load order
...
mt7515e loads first, so that wlan0 is 2.4GHz
mt7515e loads after, so that 5GHz gets wlan1
2023-10-09 19:47:57 +01:00
Daniel Barlow
d025c33d30
rt3200: enable flash/mtd
2023-10-09 19:47:57 +01:00
Daniel Barlow
a755c9c3c5
delete some inapplicable kconfig
2023-10-09 19:47:57 +01:00
Daniel Barlow
fdf74fa06b
add mt7915, 7615 wifi modules
...
7915 won't work until we have working MTD, because it needs to
read calibration data from flash
2023-10-09 19:47:57 +01:00
Daniel Barlow
b8dea2ed34
rt3200: add DSA
...
this creates a bunch of network interfaces {lan[1234],wan}@eth0
2023-10-09 19:47:57 +01:00
Daniel Barlow
1c4412a1f4
rt3200: enable serial console
2023-10-09 19:47:57 +01:00
Daniel Barlow
dbc16edf96
don't use ttyAMA0 console on all aarch64, just qemu
2023-10-09 19:47:57 +01:00
Daniel Barlow
528d619d76
WIP kernel config for belkin rt3200
2023-10-09 19:47:57 +01:00
Daniel Barlow
a896c4e31c
rename wlan services for devices with > 1 radio
...
let's standardise on having 2.4GHz radio be "wlan", and
5GHz as "wlan5"
2023-10-07 22:28:57 +01:00
Daniel Barlow
76f03ecf0f
move OF and USE_OF to arch modules
2023-09-30 21:52:13 +01:00
Daniel Barlow
f57997c605
remove explicit MTD_BLKDEVS, is selected by MTD_BLOCK
2023-09-30 21:45:50 +01:00
Daniel Barlow
3c483ebd9a
set PARTITION_ADVANCED only in ramdisk module
2023-09-30 21:29:12 +01:00
Daniel Barlow
a30b658999
remove CMDLINE_PARTITION, we don't need it
...
(at least, I think we don't)
2023-09-30 21:20:29 +01:00
Daniel Barlow
1ec7fcc197
remove MTD_CMDLINE_PARTS from per-device config
...
it's enabled in modules/ramdisk, which is required by
flashimage and tftpboot
2023-09-29 21:00:25 +01:00
Daniel Barlow
f9f934b40c
spell GL.iNet consistently in docs
2023-09-28 23:22:54 +01:00
Daniel Barlow
7e13eda490
add hardware device descriptions to doc
...
most of the text is recycled and follows no particular format
2023-09-28 12:17:30 +01:00
Daniel Barlow
3a2f074199
disable 4k flash erase blocks everywhere
2023-09-27 22:10:17 +01:00
Daniel Barlow
bca0c9b26b
gl-mt300a use regular-sized flash erase blocks
2023-09-26 16:43:03 +01:00
Daniel Barlow
be22fbbb0a
bootable aarch64 liminux with qemu
...
I may have broken the run-liminix-vm command a bit for MIPS due to
necessary changes in how we pass the command line. If CI isn't green
for this commit and youre trying the worked examples, I suggest
reverting to the commit before this one.
2023-09-20 22:55:51 +01:00
Daniel Barlow
9f87fd8625
import arch in qemu device config
2023-09-20 21:31:38 +01:00
Daniel Barlow
4389fa15f7
rename mips-vm as run-liminix-vm
2023-09-20 18:33:20 +01:00
Daniel Barlow
f75995e895
introduce modules/arch/{mipsel,mipseb}.nix
...
for settings that are common to all mipse[lb] but would not be shared
with e.g. aarch64 or x86
2023-09-20 17:30:05 +01:00
Daniel Barlow
35c7f1643f
change defaultOutput for hardware devices to flashimage
...
if you're using tftpboot you probably know what you're doing
2023-09-17 17:00:45 +01:00
Daniel Barlow
70fb9f86d3
mt300a vlan interface services depend on primary
2023-09-17 17:00:38 +01:00
Daniel Barlow
f7b30939b5
remove service-state when service exits
2023-09-13 22:49:00 +01:00
Daniel Barlow
83092b7b73
add watchdog service
2023-09-02 17:28:40 +01:00
Daniel Barlow
d3dc9752f8
swap qemu network interfaces around
...
lan and wan were backwards, it looks like
2023-09-01 17:54:15 +01:00
Daniel Barlow
92970e8ed0
qemu: use service-based-module for network interfaces
2023-08-31 23:50:42 +01:00
Daniel Barlow
e04ec2e959
move SWCONFIG defn into per-device files
...
it doesn't work on qemu
2023-08-31 23:50:07 +01:00
Daniel Barlow
b094220466
mt300a: use module-based network services for lan/wan
2023-08-31 18:27:07 +01:00
Daniel Barlow
333327be75
make a module for vlan
...
Acked-by: Daniel Barlow <<dan@telent.net>>
2023-08-30 23:26:44 +01:00
Daniel Barlow
efa1919e04
move squashfs kernel options into module
2023-08-30 22:59:28 +01:00
Daniel Barlow
de77635490
move bridge-related kernel config to the module
2023-08-30 17:29:42 +01:00
Daniel Barlow
31f0213b6f
convert network link/address to module-based-service
...
... and make bridge use it.
We also had to convert bridge back into a pair of services.
Downstreams want to depend on the bridge it self being configured
even if not necessarily all the members are up. e.g. don't want
to break ssh on lan if there's a misconfigured wlan device
2023-08-28 22:02:28 +01:00
Daniel Barlow
2e50368bd2
rename config.outputs to config.system.outputs
...
New rules: everything under "config" that isn't actually configuration
(e.g. build products) will in future live in config.system. This is
the first step.
2023-07-13 19:24:59 +01:00
Daniel Barlow
3dd247a719
update arch for gl-ar750
...
not sure this is needed, tbh
2023-06-20 20:11:25 +01:00
Daniel Barlow
19212b1eeb
add funky dd features reqd by ath10k_cal_data
2023-05-30 18:20:42 +01:00
Daniel Barlow
4cfaed7303
specify root device as /dev/mtdblockn
...
the (openwrt?) magic that autodetects it based on mtd labels
won't work with a two-stage boot
2023-04-26 22:16:15 +01:00
Daniel Barlow
2f3b108ef1
tftpboot: set phram erase block size to match hardware
...
this is needed for tftp boot with a jffs2 filesystem
2023-04-23 21:24:37 +01:00
Daniel Barlow
29c7af5892
set qemu flash erase block size
2023-04-10 22:57:51 +01:00
Daniel Barlow
0a2881914b
set erase block size to something that works for jffs2
2023-04-10 22:57:50 +01:00
Daniel Barlow
633a4f8003
move BLK_DEV_INITRD to base.nix
2023-04-10 22:57:50 +01:00
Daniel Barlow
342c87b256
qemu: boot from mtd using mtd2block
...
doesn't make much difference for squashfs but this will make it much
simpler to test jffs2/ubifs
2023-04-04 21:07:02 +01:00
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