コミットを比較
114 コミット
8dc558a6d5
...
master
| 作成者 | SHA1 | 日付 | |
|---|---|---|---|
| 5b9f1f2f39 | |||
| c5bfc7907b | |||
| 533b0b5ffc | |||
| eba54804d3 | |||
| 09b62923a8 | |||
| 960755e6a2 | |||
| 0fa9b0d85a | |||
| 4de18e6696 | |||
| 3772d373bb | |||
| b75597946d | |||
| 018a91e216 | |||
| 0c61a27b06 | |||
| 675ed5eb39 | |||
| 94f60e30b1 | |||
| e8ccb76cc6 | |||
| 4274f876a7 | |||
| 4760c84bff | |||
| 20b3f7f4ec | |||
| f178e39a28 | |||
| c7b954252d | |||
| 18929109a2 | |||
| 8d24cb96a9 | |||
| 9be43af11a | |||
| ce2e85d197 | |||
| aeead798c3 | |||
| 72355bb65a | |||
| 3053b24063 | |||
| 186fe21d73 | |||
| d63a909d54 | |||
| 9128c453f3 | |||
| ffbd193b79 | |||
| 5259c72de4 | |||
| 045f43b51f | |||
| 89cc3cddeb | |||
| cd7449dd7c | |||
| 2b35e1e017 | |||
| 983f9ecb04 | |||
| b5f567ce2b | |||
| a16e713895 | |||
| 70d24d7fae | |||
| d5069d4c40 | |||
| 718b29cfe8 | |||
| e3ce0b6e57 | |||
| 3ba76a4e8d | |||
| 4f1f145a10 | |||
| 2123205ca0 | |||
| e510f8ccb6 | |||
| da398172e8 | |||
| 12067ac09b | |||
| cf2c35b114 | |||
| 5629472aa3 | |||
| a7a85ee67a | |||
| 4890aa192d | |||
| 819ff0add0 | |||
| 149da1be87 | |||
| 6f1bc4dd00 | |||
| 5d434f031d | |||
| 25b5623a65 | |||
| 20477c21ab | |||
| 8ed85fff2b | |||
| ab8f58ca92 | |||
| 20e11b7419 | |||
| 11c28c7ab3 | |||
| 908664b185 | |||
| 40ce9940ae | |||
| 64ffeeca17 | |||
| 0106ac7eff | |||
| 86f5bf7e3f | |||
| a18d467c4f | |||
| 3a659b4798 | |||
| 7f996e7724 | |||
| 3688539a90 | |||
| c28d7683d8 | |||
| a5b559c59c | |||
| d22d21148c | |||
| 2b4dac7ef3 | |||
| 498f8a7333 | |||
| d28f2e8c31 | |||
| ca3f1e82ed | |||
| 4b66de068b | |||
| 1e88f1b912 | |||
| cbe7e0468d | |||
| a664b70cf4 | |||
| b5199d5682 | |||
| 35ec2993cc | |||
| e4838f361e | |||
| f32b8c84b0 | |||
| f34953b3cc | |||
| e91394ee00 | |||
| a40ac543e9 | |||
| 06a3209046 | |||
| 5ef6d2dc0f | |||
| 36c0786255 | |||
| 25e66b3d19 | |||
| aa24a58aae | |||
| 7298fca349 | |||
| 7191e10f91 | |||
| e80dddf9a7 | |||
| 481e2e2277 | |||
| de84a404f0 | |||
| a5d57fdd3d | |||
| 732233df32 | |||
| 93a962a008 | |||
| ed13912034 | |||
| 2ee0ed2a09 | |||
| f9f5f9a017 | |||
| 647f64c99e | |||
| e04a5a2de4 | |||
| 395263ee66 | |||
| bdc4ff67e7 | |||
| 1d078a30e0 | |||
| 0d8502bfac | |||
| a44254bcc9 | |||
| dcf9aaee84 |
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,7 +1,8 @@
|
||||
src/
|
||||
bin/
|
||||
.vscode/
|
||||
.dependencies
|
||||
.dependencies_sc
|
||||
*.code-workspace
|
||||
backups/
|
||||
.dependencies_source
|
||||
.dependencies_ib
|
||||
|
||||
|
||||
30
README.md
30
README.md
@@ -1,10 +1,10 @@
|
||||
# openwrtbuilder
|
||||
|
||||
Sanely build and deploy OpenWRT images using the Image Builder or from source code.
|
||||
Build and deploy OpenWRT images using shell-style device profiles, via source code or the official Image Builder.
|
||||
|
||||
## Usage
|
||||
|
||||
`openwrtbuilder [--option [VALUE]]... -p PROFILE [-p PROFILE]...`
|
||||
`openwrtbuilder [OPTION [VALUE]]... -p PROFILE [-p PROFILE]...`
|
||||
|
||||
## Options
|
||||
|
||||
@@ -13,8 +13,9 @@ Sanely build and deploy OpenWRT images using the Image Builder or from source co
|
||||
--release,-r,--version,-v RELEASE ("snapshot", "22.03.3")
|
||||
--buildroot,-b PATH (Default: script directory)
|
||||
--source
|
||||
Build image from source, not from Image Builder
|
||||
Allows make config options to be passed in profile
|
||||
Build image from source code, not from Image Builder.
|
||||
Allows make config options to be passed in profile.
|
||||
Uses git worktree for multi-profile deduplication.
|
||||
--ssh-upgrade HOST
|
||||
Example: root@192.168.1.1
|
||||
--ssh-backup SSH_PATH
|
||||
@@ -24,6 +25,8 @@ Sanely build and deploy OpenWRT images using the Image Builder or from source co
|
||||
--reset
|
||||
Cleanup all source and output files
|
||||
Can be combined with -p to reset a specific profile
|
||||
--depends
|
||||
Force dependency installation
|
||||
--yes,-y
|
||||
Assume yes for all questions (automatic mode)
|
||||
--debug,-d
|
||||
@@ -32,15 +35,22 @@ Sanely build and deploy OpenWRT images using the Image Builder or from source co
|
||||
|
||||
## Profiles
|
||||
|
||||
See `./profiles` for example device profile definitions.
|
||||
See `profiles` for example device profile definitions. Multiple `--profile` can be passed at once.
|
||||
|
||||
The default build mode is `imagebuilder` unless `--source` is passed. Default profile modes can be set individually in `profiles`.
|
||||
|
||||
## Examples
|
||||
|
||||
* `./openwrtbuilder -p r4s -r snapshot --debug`
|
||||
* `./openwrtbuilder -p ax6000 -r 23.05.5 --source --debug`
|
||||
* `./openwrtbuilder -p rpi4 -r 23.05.5 --flash /dev/sdX`
|
||||
* `./openwrtbuilder -p linksys -r snapshot --ssh-upgrade root@192.168.1.1`
|
||||
* `openwrtbuilder -p r4s -p ax6000`
|
||||
* `openwrtbuilder -p r4s -r snapshot --debug`
|
||||
* `openwrtbuilder -p ax6000 -r 23.05.5 --source --debug`
|
||||
* `openwrtbuilder -p rpi4 -r 23.05.5 --flash /dev/sdX`
|
||||
* `openwrtbuilder -p linksys -r snapshot --ssh-upgrade root@192.168.1.1`
|
||||
|
||||
## Additional Info
|
||||
|
||||
Did you find `openwrtbuilder` useful? [Buy me a coffee!](https://paypal.me/bryanroessler)
|
||||
Find `openwrtbuilder` useful? [Paypal me a coffee!](https://paypal.me/bryanroessler)
|
||||
|
||||
[↓ ↓ ↓ Bitcoin ↓ ↓ ↓](bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a)
|
||||
|
||||
[](bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a)
|
||||
|
||||
783
openwrtbuilder
783
openwrtbuilder
ファイル差分が大きすぎるため省略します
差分を読み込み
65
profiles
65
profiles
@@ -1,63 +1,80 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2034
|
||||
# Device profiles for openwrtbuilder
|
||||
# shellcheck disable=SC2034
|
||||
|
||||
# Default packages
|
||||
default_packages="luci luci-ssl luci-proto-wireguard luci-app-statistics \
|
||||
collectd-mod-sensors collectd-mod-thermal collectd-mod-conntrack \
|
||||
collectd-mod-cpu nano htop diffutils tar iperf3 zsh rsync \
|
||||
openssh-sftp-server"
|
||||
# Default (but optional) packages (precede with "-" to exclude)
|
||||
default_packages=(nano htop diffutils tar iperf3 zsh rsync curl tcpdump
|
||||
openssh-sftp-server luci luci-ssl luci-proto-wireguard luci-app-statistics
|
||||
collectd-mod-sensors collectd-mod-thermal collectd-mod-conntrack collectd-mod-cpu
|
||||
)
|
||||
|
||||
# Default (but optional) kernel configs
|
||||
default_configs=(
|
||||
)
|
||||
|
||||
# Current devices
|
||||
declare -Ag r4s=(
|
||||
[mode]="source"
|
||||
[device]="friendlyarm_nanopi-r4s"
|
||||
[target]="rockchip/armv8"
|
||||
[filesystem]="ext4"
|
||||
[packages]="$default_packages luci-app-ddns luci-app-sqm irqbalance \
|
||||
[packages]="${default_packages[*]} \
|
||||
luci-app-ddns luci-app-sqm \
|
||||
adblock luci-app-adblock \
|
||||
collectd-mod-df usbutils kmod-usb-storage kmod-usb-storage-uas \
|
||||
kmod-fs-btrfs btrfs-progs block-mount smcroute avahi-daemon \
|
||||
curl ethtool ca-bundle"
|
||||
[config]="CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_PROGS_ZSTD=y \
|
||||
CONFIG_BUILDBOT=n"
|
||||
ethtool ca-bundle tailscale"
|
||||
[config]="${default_configs[*]} \
|
||||
CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_PROGS_ZSTD=y \
|
||||
CONFIG_TARGET_ROOTFS_PARTSIZE=512 CONFIG_TARGET_KERNEL_PARTSIZE=32"
|
||||
[files]="/mnt/backup"
|
||||
# For 24.10 branch (Linux 6.6)
|
||||
# [cherrypicks]="wurzerj:59d6e31 wurzerj:bb251b8" # fix inconsistent reboot
|
||||
)
|
||||
|
||||
declare -Ag ax6000=(
|
||||
[mode]="imagebuilder"
|
||||
[device]="xiaomi_redmi-router-ax6000-stock"
|
||||
[target]="mediatek/filogic"
|
||||
[release]="snapshot"
|
||||
[filesystem]="squashfs"
|
||||
[packages]="$default_packages -dnsmasq -odhcpd-ipv6only -nftables -firewall4"
|
||||
[packages]="${default_packages[*]} \
|
||||
-dnsmasq -odhcpd-ipv6only -nftables -firewall4 tailscale"
|
||||
)
|
||||
|
||||
declare -Ag ax6000_uboot=(
|
||||
[mode]="imagebuilder"
|
||||
[device]="xiaomi_redmi-router-ax6000-ubootmod"
|
||||
[target]="mediatek/filogic"
|
||||
[release]="snapshot"
|
||||
[filesystem]="squashfs"
|
||||
[packages]="$default_packages -dnsmasq -odhcpd-ipv6only -nftables -firewall4"
|
||||
[packages]="${default_packages[*]} \
|
||||
-dnsmasq -odhcpd-ipv6only -nftables -firewall4"
|
||||
)
|
||||
|
||||
declare -Ag n5100=(
|
||||
[device]="generic"
|
||||
[target]="x86/64"
|
||||
[filesystem]="squashfs"
|
||||
[packages]="$default_packages luci-app-ddns irqbalance collectd-mod-df \
|
||||
[packages]="${default_packages[*]} \
|
||||
luci-app-ddns irqbalance collectd-mod-df \
|
||||
usbutils kmod-usb-storage kmod-usb-storage-uas kmod-fs-btrfs \
|
||||
btrfs-progs block-mount cryptsetup kmod-crypto-xts smcroute \
|
||||
avahi-daemon curl ethtool ca-bundle smartmontools intel-microcode \
|
||||
lm-sensors samba4-server luci-app-samba4 tailscale shadow-useradd"
|
||||
[config]="CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_PROGS_ZSTD=y \
|
||||
[config]="${default_configs[*]} \
|
||||
CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_PROGS_ZSTD=y \
|
||||
CONFIG_TARGET_ROOTFS_PARTSIZE=512 CONFIG_TARGET_KERNEL_PARTSIZE=32"
|
||||
[files]="/mnt/backup"
|
||||
# [files]="/mnt/backup"
|
||||
)
|
||||
|
||||
declare -Ag rpi4=(
|
||||
[device]="rpi-4"
|
||||
[target]="bcm27xx/bcm2711"
|
||||
[filesystem]="ext4"
|
||||
[packages]="$default_packages kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8152 \
|
||||
luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full luci-app-ddns luci-app-sqm"
|
||||
[packages]="${default_packages[*]} \
|
||||
luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full luci-app-ddns luci-app-sqm \
|
||||
kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8152"
|
||||
)
|
||||
|
||||
declare -Ag r4s_stock=(
|
||||
@@ -71,7 +88,8 @@ declare -Ag totolink=(
|
||||
[device]="totolink_x5000r"
|
||||
[target]="ramips/mt7621"
|
||||
[filesystem]="squashfs"
|
||||
[packages]="$default_packages -dnsmasq -odhcpd-ipv6only -nftables -firewall4 \
|
||||
[packages]="${default_packages[*]} \
|
||||
-dnsmasq -odhcpd-ipv6only -nftables -firewall4 \
|
||||
-kmod-nft-offload collectd-mod-iwinfo"
|
||||
)
|
||||
|
||||
@@ -79,7 +97,7 @@ declare -Ag archer=(
|
||||
[device]="tplink_archer-c7-v2"
|
||||
[target]="ath79/generic"
|
||||
[filesystem]="squashfs"
|
||||
[packages]="$default_packages -dnsmasq -odhcpd -iptables \
|
||||
[packages]="${default_packages[*]} -dnsmasq -odhcpd -iptables \
|
||||
-ath10k-firmware-qca988x-ct ath10k-firmware-qca988x-ct-full-htt"
|
||||
)
|
||||
|
||||
@@ -87,14 +105,16 @@ declare -Ag linksys=(
|
||||
[device]="linksys_ea8300"
|
||||
[target]="ipq40xx/generic"
|
||||
[filesystem]="squashfs"
|
||||
[packages]="$default_packages -dnsmasq -odhcpd -iptables"
|
||||
[packages]="${default_packages[*]} \
|
||||
-dnsmasq -odhcpd -iptables"
|
||||
)
|
||||
|
||||
declare -Ag r2s=(
|
||||
[device]="friendlyarm_nanopi-r2s"
|
||||
[target]="rockchip/armv8"
|
||||
[filesystem]="ext4"
|
||||
[packages]="$default_packages luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full \
|
||||
[packages]="${default_packages[*]} \
|
||||
luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full \
|
||||
luci-app-ddns luci-app-sqm luci-app-statistics collectd-mod-sensors \
|
||||
collectd-mod-thermal collectd-mod-conntrack smcroute curl ethtool"
|
||||
)
|
||||
@@ -103,7 +123,8 @@ declare -Ag r2s_tr=(
|
||||
[device]="friendlyarm_nanopi-r2s"
|
||||
[target]="rockchip/armv8"
|
||||
[filesystem]="ext4"
|
||||
[packages]="$default_packages luci-app-upnp luci-app-pbr luci-app-ddns \
|
||||
[packages]="${default_packages[*]} \
|
||||
luci-app-upnp luci-app-pbr luci-app-ddns \
|
||||
luci-app-statistics collectd-mod-sensors collectd-mod-thermal \
|
||||
collectd-mod-conntrack curl ethtool travelmate"
|
||||
)
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする