Skip to content

Commit

Permalink
Update Exit firmware building
Browse files Browse the repository at this point in the history
Up until now this repo has supported building exit firmwares, but exit
firmwares where not exceptionally useful by virtue of the design of the
exit software itself. Since private information such as postgresql
credentials had to be built into the image for it to be usable and no
dashboard existed to assist in field configuration exit images while
technically possible have only ever been built once or twice.

This patch updates the firmware builder to reflect upstream changes in
beta 22 of Rita Exit which make it entierly feasible to build out ship
and forget exit firmwares that don't require any special configuration
to be used in the field.
  • Loading branch information
jkilpatr committed May 30, 2024
1 parent 88e7659 commit d90192b
Show file tree
Hide file tree
Showing 24 changed files with 275 additions and 265 deletions.
119 changes: 119 additions & 0 deletions config/mikrotik_hap-ac3-exit
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
CONFIG_TARGET_ipq40xx=y
CONFIG_TARGET_ipq40xx_mikrotik=y
CONFIG_TARGET_ipq40xx_mikrotik_DEVICE_mikrotik_hap-ac3=y
CONFIG_HTOP_LMSENSORS=y
CONFIG_IFSTAT_SNMP=y
CONFIG_LIBCURL_COOKIES=y
CONFIG_LIBCURL_FILE=y
CONFIG_LIBCURL_FTP=y
CONFIG_LIBCURL_HTTP=y
CONFIG_LIBCURL_MBEDTLS=y
CONFIG_LIBCURL_NGHTTP2=y
CONFIG_LIBCURL_NO_SMB="!"
CONFIG_LIBCURL_PROXY=y
CONFIG_LIBCURL_UNIX_SOCKETS=y
CONFIG_OPENSSL_ENGINE=y
CONFIG_OPENSSL_PREFER_CHACHA_OVER_GCM=y
CONFIG_OPENSSL_WITH_ASM=y
CONFIG_OPENSSL_WITH_CHACHA_POLY1305=y
CONFIG_OPENSSL_WITH_CMS=y
CONFIG_OPENSSL_WITH_DEPRECATED=y
CONFIG_OPENSSL_WITH_ERROR_MESSAGES=y
CONFIG_OPENSSL_WITH_IDEA=y
CONFIG_OPENSSL_WITH_MDC2=y
CONFIG_OPENSSL_WITH_PSK=y
CONFIG_OPENSSL_WITH_SEED=y
CONFIG_OPENSSL_WITH_SRP=y
CONFIG_OPENSSL_WITH_TLS13=y
CONFIG_OPENSSL_WITH_WHIRLPOOL=y
CONFIG_PACKAGE_althea-babeld=y
CONFIG_PACKAGE_althea-cron-jobs=y
CONFIG_PACKAGE_althea-tools=y
CONFIG_PACKAGE_althea-usb=y
CONFIG_PACKAGE_block-mount=y
CONFIG_PACKAGE_ca-certificates=y
CONFIG_PACKAGE_curl=y
CONFIG_PACKAGE_e2fsprogs=y
CONFIG_PACKAGE_htop=y
CONFIG_PACKAGE_ifstat=y
CONFIG_PACKAGE_iftop=y
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_ipset=y
# CONFIG_PACKAGE_kmod-ath10k-ct is not set
CONFIG_PACKAGE_kmod-ath10k-ct-smallbuffers=y
CONFIG_PACKAGE_kmod-crypto-kpp=y
CONFIG_PACKAGE_kmod-crypto-lib-chacha20=y
CONFIG_PACKAGE_kmod-crypto-lib-chacha20poly1305=y
CONFIG_PACKAGE_kmod-crypto-lib-curve25519=y
CONFIG_PACKAGE_kmod-crypto-lib-poly1305=y
CONFIG_PACKAGE_kmod-crypto-sha256=y
CONFIG_PACKAGE_kmod-fs-ext4=y
CONFIG_PACKAGE_kmod-ipt-core=y
CONFIG_PACKAGE_kmod-ipt-ipset=y
# CONFIG_PACKAGE_kmod-ledtrig-gpio is not set
CONFIG_PACKAGE_kmod-lib-crc16=y
CONFIG_PACKAGE_kmod-mii=y
CONFIG_PACKAGE_kmod-nf-ipt=y
CONFIG_PACKAGE_kmod-sched-cake=y
CONFIG_PACKAGE_kmod-sched-core=y
CONFIG_PACKAGE_kmod-scsi-core=y
CONFIG_PACKAGE_kmod-udptunnel4=y
CONFIG_PACKAGE_kmod-udptunnel6=y
CONFIG_PACKAGE_kmod-usb-ehci=y
CONFIG_PACKAGE_kmod-usb-net=y
CONFIG_PACKAGE_kmod-usb-net-cdc-eem=y
CONFIG_PACKAGE_kmod-usb-net-cdc-ether=y
CONFIG_PACKAGE_kmod-usb-net-cdc-mbim=y
CONFIG_PACKAGE_kmod-usb-net-cdc-ncm=y
CONFIG_PACKAGE_kmod-usb-net-cdc-subset=y
CONFIG_PACKAGE_kmod-usb-net-ipheth=y
CONFIG_PACKAGE_kmod-usb-net-rtl8150=y
CONFIG_PACKAGE_kmod-usb-net-rtl8152=y
CONFIG_PACKAGE_kmod-usb-ohci=y
CONFIG_PACKAGE_kmod-usb-ohci-pci=y
CONFIG_PACKAGE_kmod-usb-storage=y
CONFIG_PACKAGE_kmod-usb-storage-uas=y
CONFIG_PACKAGE_kmod-usb-uhci=y
CONFIG_PACKAGE_kmod-usb-wdm=y
CONFIG_PACKAGE_kmod-usb2=y
CONFIG_PACKAGE_kmod-usb2-pci=y
CONFIG_PACKAGE_kmod-wireguard=y
CONFIG_PACKAGE_libatomic=y
CONFIG_PACKAGE_libblkid=y
CONFIG_PACKAGE_libcomerr=y
CONFIG_PACKAGE_libcurl=y
CONFIG_PACKAGE_libevdev=y
CONFIG_PACKAGE_libevent2-core=y
CONFIG_PACKAGE_libext2fs=y
CONFIG_PACKAGE_libiperf3=y
CONFIG_PACKAGE_libipset=y
CONFIG_PACKAGE_libncurses=y
CONFIG_PACKAGE_libnetsnmp=y
CONFIG_PACKAGE_libnghttp2=y
CONFIG_PACKAGE_libopenssl=y
CONFIG_PACKAGE_libpcap=y
CONFIG_PACKAGE_libpci=y
CONFIG_PACKAGE_libpcre=y
CONFIG_PACKAGE_libpcre2=y
CONFIG_PACKAGE_librt=y
CONFIG_PACKAGE_libss=y
CONFIG_PACKAGE_libudev-zero=y
CONFIG_PACKAGE_libusb-1.0=y
CONFIG_PACKAGE_libustream-mbedtls=m
CONFIG_PACKAGE_libustream-openssl=y
CONFIG_PACKAGE_libuuid=y
CONFIG_PACKAGE_mtr-nojson=y
CONFIG_PACKAGE_nano=y
CONFIG_PACKAGE_r8152-firmware=y
CONFIG_PACKAGE_rita-exit-dash=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_tc-tiny=y
CONFIG_PACKAGE_tcpdump=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_tmux=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_PACKAGE_usbutils=y
CONFIG_PACKAGE_vim-full=y
CONFIG_PACKAGE_wireguard-tools=y
CONFIG_PCRE2_JIT_ENABLED=y
CONFIG_PCRE_JIT_ENABLED=y
3 changes: 2 additions & 1 deletion config/x86_64-exit
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ CONFIG_OPENSSL_WITH_SRP=y
CONFIG_OPENSSL_WITH_TLS13=y
CONFIG_PACKAGE_althea-babeld=y
CONFIG_PACKAGE_althea-cron-jobs=y
CONFIG_PACKAGE_althea-exit=y
CONFIG_PACKAGE_rita-exit=y
CONFIG_PACKAGE_rita-exit_dash=y
CONFIG_PACKAGE_althea-tools=y
CONFIG_PACKAGE_ca-certificates=y
CONFIG_PACKAGE_curl=y
Expand Down
2 changes: 1 addition & 1 deletion profiles/devices/glb1300-extender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ package_id: arm_cortex-a7_neon-vfpv4
image_paths:
- "ipq40xx/generic/openwrt-ipq40xx-generic-glinet_gl-b1300-squashfs-sysupgrade.bin"
supported: true
extender: true
rita_type: "extender"

channel: 11
# 5ghz note only 20mhz channel widths
Expand Down
2 changes: 1 addition & 1 deletion profiles/devices/mikrotik_hap-ac2-extender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ image_paths:
- "ipq40xx/mikrotik/openwrt-ipq40xx-mikrotik-mikrotik_hap-ac2-initramfs-kernel.bin"
- "ipq40xx/mikrotik/openwrt-ipq40xx-mikrotik-mikrotik_hap-ac2-squashfs-sysupgrade.bin"
supported: true
extender: true
rita_type: "extender"

private_radio:
- radio0
Expand Down
10 changes: 3 additions & 7 deletions profiles/devices/x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@

# To flash just untar the ext4 image and write it to a flash drive

rita_type: "exit"
# used to select which config
conf_to_build: x86_64
conf_to_build: x86_64-exit

# used in op tools and althea-firmware-release
device: x86_64
device_template: x86_64

# used in /etc/customfeeds.conf path
package_id: x86_64
Expand All @@ -20,14 +21,9 @@ image_paths:
- "x86/64/openwrt-x86-64-generic-squashfs-combined-efi.img.gz"
- "x86/64/openwrt-x86-64-generic-squashfs-combined.vdi"
- "x86/64/openwrt-x86-64-generic-squashfs-combined.vmdk"
# - "x86/64/openwrt-x86-64-generic-ext4-combined.img.gz"
# - "x86/64/openwrt-x86-64-generic-image.iso"

supported: true

channel: 11
five_ghz_channel: 36

listen_interfaces:
- eth2
- eth3
Expand Down
91 changes: 0 additions & 91 deletions profiles/exit/config-example.yml

This file was deleted.

29 changes: 29 additions & 0 deletions profiles/exit/mikrotik_hap-ac3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
rita_type: "exit"
conf_to_build: "mikrotik_hap-ac3-exit"

device: mikrotik_hap-ac3
package_id: arm_cortex-a7_neon-vfpv4
image_paths:
- "ipq40xx/mikrotik/openwrt-ipq40xx-mikrotik-mikrotik_hap-ac3-initramfs-kernel.bin"
- "ipq40xx/mikrotik/openwrt-ipq40xx-mikrotik-mikrotik_hap-ac3-squashfs-sysupgrade.bin"
supported: true

private_radio:
- radio0
- radio1

channel: 11
# 5ghz note only 20mhz channel widths
five_ghz_channel: 36

# Reference value, see network.j2 to modify
wan_interface: "wan"

listen_interfaces:
- lan2
- lan3
- lan4

lan_interfaces: "lan1"

rust_target: armv7-unknown-linux-musleabihf
41 changes: 41 additions & 0 deletions profiles/exit/x86_64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Config for generic x86_64 pc's as an exit, setup for 5 ports currently.
# as a note PCI cards seem to start with eth0 as the first port on the
# lowest number pci slot card, counting down, then returning to the mobo port
# this may not always hold true

# To flash just untar the ext4 image and write it to a flash drive or internal disk
rita_type: "exit"

# used to select which config
conf_to_build: x86_64-exit

# used in op tools and althea-firmware-release
device: x86_64

# used in /etc/customfeeds.conf path
package_id: x86_64

# used to copy images to completed-images upon completion
image_paths:
- "x86/64/openwrt-x86-64-generic-squashfs-combined.img.gz"
- "x86/64/openwrt-x86-64-generic-squashfs-combined-efi.img.gz"
- "x86/64/openwrt-x86-64-generic-squashfs-combined.vdi"
- "x86/64/openwrt-x86-64-generic-squashfs-combined.vmdk"

supported: true

listen_interfaces:
- eth2
- eth3
- eth4
- eth5
- eth6
- eth7
- eth8

lan_interfaces: "eth1"

# Reference value, see network.j2 to modify
wan_interface: "eth0"

rust_target: x86_64-unknown-linux-musl
Loading

0 comments on commit d90192b

Please sign in to comment.