Compare commits

..

400 Commits

Author SHA1 Message Date
a46bbb850a Fix cherrypick URL parsing with colon 2025-12-22 16:16:16 -08:00
7f09a92903 Update cherrypick hashes 2025-12-22 16:12:47 -08:00
5c64e19ef5 Update w1700k cherrypicks 2025-12-19 18:25:07 -05:00
16e401789a Add support for nonstandard cherrypicks 2025-12-19 12:45:41 -05:00
f3831e097d Default w1700k to source 2025-12-19 11:31:24 -05:00
13c7fbd87e Default w1700k to imagebuilder 2025-12-19 11:30:44 -05:00
cfab86865d Add w1700k profile 2025-12-19 11:20:40 -05:00
5b9f1f2f39 Re-add specific device config 2025-10-23 16:46:16 -04:00
c5bfc7907b Remove specific device config 2025-10-23 16:43:34 -04:00
533b0b5ffc Re-add specific device config 2025-10-23 16:34:37 -04:00
eba54804d3 Blank the seed file 2025-10-23 16:31:34 -04:00
09b62923a8 Re-add specific device config 2025-10-23 16:19:58 -04:00
960755e6a2 Use faster feeds mirror 2025-10-22 21:16:41 -04:00
0fa9b0d85a Streamling config options 2025-10-22 21:02:36 -04:00
4de18e6696 Add optional build clean arg to --source 2025-10-22 20:55:20 -04:00
3772d373bb Tune resource limits 2025-10-22 20:27:21 -04:00
b75597946d Improve worktree detection 2025-10-22 19:35:38 -04:00
018a91e216 Introduce reusable worktrees 2025-10-22 19:31:58 -04:00
0c61a27b06 Reorganize from_source() 2025-10-22 19:25:59 -04:00
675ed5eb39 Abandon upstream seed, untenable 2025-10-22 19:11:51 -04:00
94f60e30b1 Pass BIN_DIR to make and not .config 2025-10-22 15:46:06 -04:00
e8ccb76cc6 Remove more default buildbot configs 2025-10-21 23:58:35 -04:00
4274f876a7 Remove more default buildbot configs 2025-10-21 20:40:19 -04:00
4760c84bff Remove more default buildbot configs 2025-10-21 20:35:38 -04:00
20b3f7f4ec Strip CONFIG_ALL_KMODS 2025-10-21 10:45:18 -04:00
f178e39a28 Use CONFIG_ALL_KMODS=n in global profile 2025-10-20 16:31:48 -04:00
c7b954252d Fetch worktree branch instead of pull 2025-10-19 15:21:53 -04:00
18929109a2 Omit oldconfig step 2025-10-18 21:17:35 -04:00
8d24cb96a9 Switch to canonical make order 2025-10-18 12:27:40 -04:00
9be43af11a Make olddefconfig non-interactive 2025-10-18 11:33:04 -04:00
ce2e85d197 Attempt one step olddefconfig 2025-10-18 11:30:42 -04:00
aeead798c3 Test explicit branch 2025-09-23 16:12:57 -04:00
72355bb65a Use fetch --all to grab wt breanches 2025-09-23 15:37:13 -04:00
3053b24063 Update default release 2025-09-23 15:13:35 -04:00
186fe21d73 Update profiles 2025-09-10 19:29:56 -04:00
d63a909d54 Simplify script dir ID 2025-09-09 16:57:22 -04:00
9128c453f3 Move pfring exclusions to r4s 2025-08-19 16:54:27 -04:00
ffbd193b79 Clarify skipping lock files for --debug 2025-08-19 16:38:03 -04:00
5259c72de4 Exclude pfring kmods 2025-08-18 07:43:09 -04:00
045f43b51f Exclude more pfring packages 2025-08-15 16:53:59 -04:00
89cc3cddeb Exclude problematic packages 2025-08-13 17:34:37 -04:00
cd7449dd7c Re-disable multicore make 2025-08-11 17:44:04 -04:00
2b35e1e017 Re-enable multicore make 2025-08-11 17:10:20 -04:00
983f9ecb04 Exclude libpfring to fix compilation 2025-08-11 15:50:20 -04:00
b5f567ce2b Attempt to mix yes and execute() 2025-08-09 00:01:34 -04:00
a16e713895 Use canonincal method for now 2025-08-08 23:56:28 -04:00
70d24d7fae Replace defconfig with oldconfig 2025-08-08 22:33:30 -04:00
d5069d4c40 Add golang dependency 2025-08-08 22:24:39 -04:00
718b29cfe8 Try to omit oldconfig 2025-08-08 22:22:35 -04:00
e3ce0b6e57 Make oldconfig to prevent upstream clobbers 2025-08-08 20:50:07 -04:00
3ba76a4e8d Add early debugging 2025-08-08 19:48:53 -04:00
4f1f145a10 Fix comments 2025-08-08 14:33:50 -04:00
2123205ca0 Reformat profiles 2025-08-08 14:30:31 -04:00
e510f8ccb6 Don't build unecessary kmods 2025-08-08 14:20:50 -04:00
da398172e8 Workaround libpfring issue #26569 2025-08-06 21:10:36 -04:00
12067ac09b Disable cherrypicks by default since branch-specific 2025-08-06 21:06:25 -04:00
cf2c35b114 Specify fork with cherrypick 2025-08-06 21:01:08 -04:00
5629472aa3 Support cherrypicks 2025-08-06 20:55:59 -04:00
a7a85ee67a Use --detached worktrees 2025-08-05 14:14:16 -04:00
4890aa192d Cleanup some comments 2025-07-29 17:40:02 -04:00
819ff0add0 Update README 2025-07-29 02:13:55 -04:00
149da1be87 Update README 2025-07-29 02:12:03 -04:00
6f1bc4dd00 SHow more commit info 2025-07-29 02:01:52 -04:00
5d434f031d Remove extraneous normalize_and_ref output 2025-07-29 01:58:37 -04:00
25b5623a65 Add temp debug 2025-07-29 01:56:19 -04:00
20477c21ab Add temp debug 2025-07-29 01:54:34 -04:00
8ed85fff2b Add temp debug 2025-07-29 01:52:51 -04:00
ab8f58ca92 Add temp debug 2025-07-29 01:52:36 -04:00
20e11b7419 Add temp debug 2025-07-29 01:49:03 -04:00
11c28c7ab3 Add temp debug 2025-07-29 01:47:28 -04:00
908664b185 Resimplify worktrees 2025-07-29 01:43:53 -04:00
40ce9940ae Debug commit print 2025-07-29 01:15:10 -04:00
64ffeeca17 Fix git object 2025-07-29 01:06:01 -04:00
0106ac7eff Use full name for branch ref 2025-07-29 00:44:49 -04:00
86f5bf7e3f Skip fetch 2025-07-29 00:32:38 -04:00
a18d467c4f Hacky way to show latest commit 2025-07-29 00:25:06 -04:00
3a659b4798 Fix clashing worktrees 2025-07-29 00:05:26 -04:00
7f996e7724 Silence commond debug warning 2025-07-28 23:51:44 -04:00
3688539a90 Return early and add debug output for dependencies 2025-07-28 23:48:14 -04:00
c28d7683d8 Make BUILD_DIR worktree_dir 2025-07-28 23:44:19 -04:00
a5b559c59c Fix parsing in normalize_and_ref() 2025-07-28 23:29:46 -04:00
d22d21148c Implement per-profile modes 2025-07-28 23:24:16 -04:00
2b4dac7ef3 Hide openwrt src dir 2025-07-28 21:38:09 -04:00
498f8a7333 Use a global release object 2025-07-28 21:36:01 -04:00
d28f2e8c31 Only fetch if not checked out 2025-07-28 19:03:17 -04:00
ca3f1e82ed Use git fetch for branches 2025-07-28 19:00:44 -04:00
4b66de068b Refactor worktree code 2025-07-28 18:31:20 -04:00
1e88f1b912 Revert to serial debug 2025-07-28 17:45:51 -04:00
cbe7e0468d Use multicore debug 2025-07-28 01:02:49 -04:00
a664b70cf4 Update README 2025-07-28 00:36:14 -04:00
b5199d5682 Remove index update 2025-07-28 00:29:33 -04:00
35ec2993cc Remove worktree dir before add 2025-07-27 22:53:32 -04:00
e4838f361e Cleanup dependency arrays 2025-07-27 22:46:40 -04:00
f32b8c84b0 Update dependencies 2025-07-27 22:39:31 -04:00
f34953b3cc Fix for missing worktree metadata 2025-07-27 22:22:55 -04:00
e91394ee00 Add --depends to README 2025-07-27 21:29:26 -04:00
a40ac543e9 Use default CFLAGS 2025-07-27 00:05:03 -04:00
06a3209046 Use CFLAGS in make 2025-07-26 21:39:58 -04:00
5ef6d2dc0f Use CFLAGS var 2025-07-26 19:39:53 -04:00
36c0786255 Use -std=c17 for gcc15 2025-07-26 00:43:03 -04:00
25e66b3d19 Update openwrt default to 24.10.2 2025-07-25 19:25:30 -04:00
aa24a58aae Roll verbose into debug 2025-04-22 20:13:12 -04:00
7298fca349 User serial compilation for --debug 2025-04-22 16:58:06 -04:00
7191e10f91 Use n-1 cores 2025-04-22 16:55:43 -04:00
e80dddf9a7 Update default release 2025-04-21 16:48:51 -04:00
481e2e2277 Update print_help() 2025-02-22 17:21:03 -05:00
de84a404f0 Update default release 2025-02-22 17:06:32 -05:00
a5d57fdd3d Move from dirclean to distclean 2025-01-07 10:03:19 -05:00
732233df32 Update default release 2025-01-07 09:55:48 -05:00
93a962a008 Use zstd extension for IB too 2024-12-09 12:18:46 -05:00
ed13912034 Fix BIN_DIR bug 2024-12-09 12:10:06 -05:00
2ee0ed2a09 Add zstd package for new openwrt IB compression 2024-12-07 17:19:10 -05:00
f9f5f9a017 remove legacy python2 dependency 2024-12-07 17:03:54 -05:00
647f64c99e Move make clean options to beginning 2024-12-07 15:16:29 -05:00
e04a5a2de4 Use dirclean instead of distclean 2024-12-07 15:13:37 -05:00
395263ee66 Update feeds after distclean 2024-12-07 10:02:34 -05:00
bdc4ff67e7 Mke backup filenames human readable 2024-12-06 12:51:31 -05:00
1d078a30e0 Include target subdirs in sysupgrade filepath 2024-12-06 12:32:01 -05:00
0d8502bfac Add debugging to fix backup 2024-12-06 11:49:19 -05:00
a44254bcc9 FReformat case statements 2024-12-06 09:43:04 -05:00
dcf9aaee84 Add back partition size desc 2024-12-06 09:12:04 -05:00
8dc558a6d5 Do distclean before editing .config 2024-12-05 22:10:30 -05:00
ff275aa0ad Retry dirclean 2024-12-05 22:00:08 -05:00
0ead0af0b5 Remove kernel config overridden by defconfig 2024-12-05 21:56:59 -05:00
21899bb072 Remove tabs from profiles 2024-12-05 21:39:32 -05:00
84dc370d32 Separate debug output from verbose make 2024-12-05 21:37:15 -05:00
ab1569fced Remove unecessary element quoting 2024-12-05 21:25:11 -05:00
be5dfb2832 Reformat and simplify device profiles 2024-12-05 21:21:02 -05:00
7dbc7fc3ef Multicore --debug make 2024-11-30 20:57:50 -05:00
9efb42f944 Refactor image backup 2024-11-30 19:41:38 -05:00
6ba2335f8a Standardize var naming 2024-11-30 19:03:17 -05:00
114c9dfc68 Don't install zero dependencies 2024-11-30 18:28:34 -05:00
864756c815 Remove --skip-unavailable for dnf5 2024-11-29 22:20:31 -05:00
116636c9a3 Archive existing image builds 2024-11-29 22:17:09 -05:00
dc3ccef3fd Update comments 2024-11-26 11:13:35 -05:00
5ae94d72b4 Use make distclean 2024-11-25 17:23:59 -05:00
b245bffbc8 Disable buildbot 2024-11-20 11:41:10 -05:00
98c17f4ad7 Don't remove build dir 2024-11-19 20:01:52 -05:00
a75505f467 Reuse build dir 2024-11-18 09:55:48 -05:00
cabd3aca8b Add python3-devel to RHEL dependencies 2024-11-15 20:46:11 -05:00
75303a619e Use single-threaded make for --debug 2024-11-15 13:58:14 -05:00
60c73cac78 Don't pause on commit hash 2024-11-14 17:13:47 -05:00
3c8b230cc3 Skip unavailable dependencies 2024-11-12 13:10:57 -05:00
d22e0ead04 Additional execute() 2024-10-24 16:24:06 -04:00
e43971d3de Update profiles 2024-10-24 16:06:26 -04:00
81c16f674c More housekeeping 2024-10-24 15:58:05 -04:00
0dc3dc0d72 Housekeeping 2024-10-24 15:57:14 -04:00
6f6d92b659 Try to verify output file for stock builds 2024-10-24 15:41:21 -04:00
961a87fb6c Update README 2024-10-24 15:29:41 -04:00
63cd99cd4d Separate dependency lock files 2024-10-24 15:20:05 -04:00
d51c9e6359 Cleanup var declarations 2024-10-24 15:02:12 -04:00
a0afdfbd47 Fix image verification 2024-10-24 14:53:10 -04:00
2d97851c5b Add patch dependency 2024-10-24 14:44:47 -04:00
b00bd9f056 General code cleanup and refactoring 2024-10-24 14:39:28 -04:00
c061c18a8e Debug curl checksum issues 2024-10-24 13:32:21 -04:00
4d77b17269 Debug curl checksum issues 2024-10-24 13:22:32 -04:00
0de4af9bdb Debug curl checksum issues 2024-10-24 13:19:00 -04:00
78820d1058 workaround make bugs 2024-05-21 17:56:23 -04:00
8bea538b1f Improve execute() 2024-05-21 17:45:25 -04:00
8bb770bc3e Less destructive clean 2024-05-21 17:25:33 -04:00
6747571cf9 Workaround dirclean bug 2024-05-21 17:23:51 -04:00
6f793dddb9 Improve make debug 2024-05-21 17:12:03 -04:00
4d721f43c1 Simplify make 2024-05-21 17:05:13 -04:00
b2f2d34b27 Clean first 2024-05-21 16:12:57 -04:00
2d816f3b8a Overwrite worktree 2024-05-21 12:42:41 -04:00
1464cd93ba Update profiles, remove luci-app-wireguard 2024-05-21 12:38:42 -04:00
6dffe35f26 Overwrite worktree dir 2024-05-20 19:34:31 -04:00
157bb75907 Update copywrite 2024-05-20 18:39:45 -04:00
a2d72c218a Update profiles 2024-05-20 18:33:06 -04:00
3484c97fbf Use ionice for better host responsiveness 2024-04-24 13:02:19 -04:00
90700e9595 Make 'make' more resilient 2024-04-24 11:31:00 -04:00
b5d13f000e Make 'make' more resilient 2024-04-24 11:23:44 -04:00
fcf71c9d49 Make 'make' more resilient 2024-04-24 11:20:46 -04:00
7657759299 Update profiles 2024-04-24 11:20:10 -04:00
fd3cef6915 Try re-enabling multicore build 2024-04-23 15:10:06 -04:00
82c53029e0 Add additional depends packages 2024-04-23 15:03:01 -04:00
be53ed782c Fix derp 2024-04-22 15:27:31 -04:00
bc025c1c3d Try to keep worktree src 2024-04-22 15:15:29 -04:00
95f8d688cd Back to single thread 2024-04-18 15:12:41 -04:00
38c4bdc864 Try multicore 2024-04-18 13:58:14 -04:00
90b9a68bd3 Use upstream build direction 2024-04-18 13:55:41 -04:00
edf0cd7910 Add some build depends 2024-04-17 23:08:17 -04:00
8619045bbe Debug build 2024-04-17 22:09:45 -04:00
214bd46da4 Clarify prompt 2024-04-17 18:32:31 -04:00
b58093a243 Make prompt clearer 2024-04-17 17:48:41 -04:00
f251a19215 Free up a core 2024-04-17 17:20:58 -04:00
5a4f6e0988 Fix release compression 2024-04-17 17:13:40 -04:00
99146b1913 Switch to zstd imagebuilder 2024-04-17 15:23:31 -04:00
18fc3abcc9 Add perl-Time-Piece requirement 2024-04-17 12:43:09 -04:00
64c5b2bbc3 Make 23.05.3 default release 2024-04-17 12:11:46 -04:00
633356a6a3 Update to 23.05.0 2023-10-12 13:39:15 -04:00
d5bedbd09c Add luks support 2023-10-10 21:30:01 -04:00
8bd218c677 Switch n5100 to squashfs 2023-10-09 13:59:21 -04:00
d496a1670d Rework kopts 2023-10-09 12:13:15 -04:00
cd86dcffbc Rework kopts 2023-10-09 12:10:29 -04:00
254ca3b3ec Rework kopts 2023-10-09 12:05:48 -04:00
efe4666078 Add ax6000_ap profile 2023-09-05 10:51:18 -04:00
94da35b60e Profiles: reduce custom part sizes to speed up sysupgrade 2023-07-20 10:10:35 -04:00
433e4bf971 Profiles: increase boot part size 2023-07-20 09:38:12 -04:00
d2f17da948 Disable pager for --yes mode 2023-07-20 09:35:49 -04:00
3f4a3c7d7e Use a single git worktree command 2023-07-18 09:31:59 -04:00
764ffe11d1 Profiles: add x86 packages to n5100 2023-07-18 09:21:29 -04:00
43c5a632b1 Add --yes option 2023-07-18 09:20:40 -04:00
45009cc73f Add x86 profile 2023-07-17 11:50:41 -04:00
69f76bb290 Update profiles 2023-07-04 09:20:54 -04:00
e556d282d6 Update for 23.05.0-rc2 2023-07-03 08:25:16 -04:00
1f69eeb78d Cleanup 2023-06-29 14:25:12 -04:00
b9db1e303e Update profiles 2023-06-29 14:25:01 -04:00
bbf6f246df Silence warning 2023-06-27 19:02:50 -04:00
f609c72fc4 Add perl-IPC dependency 2023-06-27 16:52:29 -04:00
e349adeccf Pass TMPDIR 2023-06-27 16:48:02 -04:00
d44fdcc508 More commands to execute() 2023-06-27 15:53:21 -04:00
1cbea322d6 Fix version format 2023-06-27 15:34:43 -04:00
1a975bbe6f First stab at unified input versioning 2023-06-27 15:11:23 -04:00
58e5784313 Change nomenclature 2023-06-27 15:11:01 -04:00
ed198150b7 Normalize release commit-ish I 2023-06-02 09:50:25 -04:00
0e4496d2d4 Regenerate the feed index 2023-06-01 13:11:25 -04:00
1904d14773 Fix ax6000 array 2023-05-11 16:53:03 -04:00
5c6d589e0b Update profiles 2023-02-17 11:28:31 -05:00
80779c9f2d Skip dependency check for lockfile 2023-02-17 11:28:12 -05:00
ad76c9cc6b Fix derp 2023-02-16 15:20:16 -05:00
5867c8111e Fix commit hash reporting 2023-02-16 15:12:17 -05:00
128c141843 Make reset more specific 2023-02-16 14:59:44 -05:00
25c317c4d0 More reset fixes 2023-02-16 13:30:40 -05:00
42cbbd43c3 Improve askok 2023-02-16 13:16:27 -05:00
81cd5c0880 Improve reset 2023-02-16 13:13:47 -05:00
6953cdfc5e Move gitworktreedir to global 2023-02-16 13:04:56 -05:00
f1f7fca41e Revert package array 2023-02-16 12:14:09 -05:00
1d5b8c522a Fix packages 2023-02-16 12:09:13 -05:00
a9dd252ad6 Prettify package list 2023-02-15 14:32:45 -05:00
bf737644fb Fix conflicting worktrees 2023-02-15 14:22:13 -05:00
1f484d8bfc Avoid nullglob 2023-02-14 13:27:09 -05:00
f3aa4a0558 Update README 2023-02-14 13:26:47 -05:00
1ac5a8efaa Fix README typos 2023-02-14 10:48:14 -05:00
bff5d058b0 Cleanup global scope 2023-02-14 10:45:11 -05:00
498b491dc6 Add r4s stock profile for testing 2023-02-14 10:30:05 -05:00
16e677ed94 More global scope cleanup 2023-02-01 12:17:22 -05:00
5d5f74850f Reduce global vars 2023-02-01 11:42:16 -05:00
346094def6 Don't track output 2023-02-01 11:41:53 -05:00
6995284786 Fix funky whitespace for kopts 2023-01-31 18:22:10 -05:00
462593f523 Fix funky whitespace for kopts 2023-01-31 18:05:40 -05:00
335dd8e56f Fix funky whitespace for kopts 2023-01-31 18:02:02 -05:00
941b51da0f Make kopts respect whitespace 2023-01-31 17:53:35 -05:00
97f6e0a927 Fix track remote branch 2023-01-31 15:33:21 -05:00
03db94e20d Switch from tags to branch 2023-01-31 15:08:04 -05:00
07fc9e7953 Fix build order 2023-01-31 13:43:34 -05:00
cc42ef328c Force worktree 2023-01-31 13:25:30 -05:00
e06155527b Scale back r4s for testing 2023-01-31 13:08:13 -05:00
0243236b16 Remove tailscale 2023-01-31 12:01:07 -05:00
ebacce2f68 Temp revert commit hash 2023-01-31 10:04:52 -05:00
824c23901d r4s deployment testing 2023-01-31 10:03:42 -05:00
e61493239e Get git commit hash to address collisions 2023-01-30 14:49:55 -05:00
7bea684ecf Test dirclean for faster performance 2023-01-30 14:28:33 -05:00
d47f635133 Add debug 2023-01-30 13:36:38 -05:00
16e57cf094 Add debug 2023-01-30 12:44:23 -05:00
faccb7c619 Add debug 2023-01-30 12:31:01 -05:00
a7935e6888 Move --source output 2023-01-30 12:22:57 -05:00
847fd59e7c Fix bin dirs 2023-01-29 20:59:24 -05:00
c32971ebed Fix src dirs 2023-01-29 20:41:26 -05:00
0b05defeaf Fix sha256 check 2023-01-29 18:58:47 -05:00
63179bf7f2 Enable btrfs zstd support 2023-01-29 18:20:34 -05:00
66ff417333 More --source cleanup 2023-01-29 18:05:48 -05:00
f82e32f88a More --source cleanup 2023-01-29 18:01:10 -05:00
7370fb688d More --source cleanup 2023-01-29 17:53:37 -05:00
53a0a39af4 More --source cleanup 2023-01-29 17:37:04 -05:00
ce8a642658 Less debug 2023-01-29 17:17:50 -05:00
7431b22076 More work on --source 2023-01-29 17:16:12 -05:00
433b899ef0 More work on --source 2023-01-29 15:56:42 -05:00
afa6ea2abc More work on --source 2023-01-29 15:52:54 -05:00
5f55675193 More work on --source 2023-01-29 15:51:01 -05:00
5eb9aa3e99 More work on --source 2023-01-29 15:49:07 -05:00
c0a46f264a More work on --source 2023-01-29 15:45:17 -05:00
66639d832c More work on --source 2023-01-29 15:44:17 -05:00
489988c16d More debug output 2023-01-28 11:21:58 -05:00
63ce0122cf More debug output 2023-01-28 11:17:08 -05:00
f3bce0a6fe More debug output 2023-01-28 11:14:41 -05:00
e3a264d029 More debug output 2023-01-28 11:07:32 -05:00
194fd012fb Disable defconfig 2023-01-28 10:50:39 -05:00
37771a7b81 Write opts to .config 2023-01-27 16:46:45 -05:00
eaae9e8e9c Use .config instead of envs 2023-01-27 16:24:23 -05:00
dc6661572a Always recreate .config 2023-01-27 11:33:15 -05:00
f73ea6d5cf Refactor sshupgrade() 2023-01-27 11:12:24 -05:00
8823d70052 More work on --source 2023-01-26 23:32:34 -05:00
e3a92d444c More work on --source 2023-01-26 23:18:40 -05:00
dba19f1f09 Remove legacy code 2023-01-26 22:10:38 -05:00
0fe80c0a1c Add examples to --help 2023-01-26 21:47:46 -05:00
f4a87005a9 Update README 2023-01-26 21:44:14 -05:00
bc20bf535b Cleanup help 2023-01-26 21:37:16 -05:00
fbd2a63839 Update README 2023-01-26 21:36:28 -05:00
f028970924 Enable --source and ssh-upgrade, --flash to work 2023-01-26 21:31:21 -05:00
eb2d79ff7e Include wireguard dependency 2023-01-26 20:24:04 -05:00
215e0747b4 Add tailscale 2023-01-26 17:57:00 -05:00
7d093de1f9 Fix worktree option 2023-01-24 10:23:09 -05:00
586e5d298e First stab at git worktrees 2023-01-24 10:15:45 -05:00
dffa2128a8 Prune compilation items 2023-01-23 09:53:17 -05:00
de38f78a55 Allow empty options 2023-01-21 13:39:52 -05:00
4cb0cbc3e4 Add back curl 2023-01-21 12:51:35 -05:00
a4a21d47ee Remove broken curl 2023-01-21 12:37:28 -05:00
159249667f Temp disable targetclean 2023-01-21 12:24:15 -05:00
df7897c4a3 More debug output 2023-01-21 12:23:46 -05:00
a684747c94 Workaround tcpdump build fail 2023-01-20 19:34:18 -05:00
fd729d02eb defconfig after seed 2023-01-20 18:29:36 -05:00
98b49ca40b Add device profile to opts 2023-01-20 18:24:34 -05:00
b80f31b911 Use make envs 2023-01-20 17:57:52 -05:00
bc37d9c0b9 Update profiles 2023-01-20 17:57:21 -05:00
9158b6a966 Cleanup help 2023-01-14 14:49:53 -05:00
19e96f38f5 Simplify options 2023-01-14 14:46:26 -05:00
5a6c3de113 Symlink clang for qosify 2023-01-14 14:24:42 -05:00
d425cc9ed2 Symlink clang for qosify 2023-01-14 14:04:32 -05:00
8a7481f64b Install clang for qosify 2023-01-14 13:59:58 -05:00
d1edbee394 Tidy output 2023-01-14 13:56:41 -05:00
b040802d3f Remove dupe curl 2023-01-14 13:24:21 -05:00
6d65d2c7a6 Fix seedfile dl 2023-01-14 13:18:36 -05:00
3143e5b452 Support kopts 2023-01-14 12:43:25 -05:00
423e910a04 Cleanup checksum path 2023-01-14 12:23:43 -05:00
7e8cbb01fd Cleanup checksum path 2023-01-14 11:21:11 -05:00
d2eb875a97 Cleanup checksum path 2023-01-14 11:12:26 -05:00
2fe70355e6 Use default IB filename 2023-01-14 10:50:27 -05:00
b1f664ca7c More work on sha256sum 2023-01-14 10:45:27 -05:00
cafdfb4978 More work on sha256sum 2023-01-14 10:42:42 -05:00
fb6d8c4e4a More work on sha256sum 2023-01-14 10:41:52 -05:00
2947d088ff More work on sha256sum 2023-01-14 10:36:18 -05:00
099ceadfe1 More work on sha256sum 2023-01-14 10:34:56 -05:00
dd2ae010ab More work on sha256sum 2023-01-14 10:33:52 -05:00
4c130e347c More work on sha256sum 2023-01-14 10:32:29 -05:00
f504f3e89b More work on sha256sum 2023-01-14 10:12:25 -05:00
a9696ac713 Refactor verifyImage 2023-01-13 21:55:45 -05:00
8eb569ecdd Allow cp from debug 2023-01-13 21:34:13 -05:00
2b97ab1533 Refactor 2023-01-13 21:31:35 -05:00
3da0d408ff Use curl for hash 2023-01-13 21:26:28 -05:00
614082980d Add debug 2023-01-13 21:22:15 -05:00
c8c57db8d4 Add debug 2023-01-13 18:32:59 -05:00
e2ee50197c Fix for axel 2023-01-13 18:31:40 -05:00
b0dce34b83 Use checksums 2023-01-13 18:15:56 -05:00
44624918bf Fix derp 2023-01-13 17:29:43 -05:00
70e40077f6 Fix derp 2023-01-13 17:14:54 -05:00
25298352a6 Add more debug 2023-01-13 17:13:36 -05:00
86fc9f3170 Put .config in var 2023-01-13 16:49:13 -05:00
37b1355d46 Change make output to bindir 2023-01-13 16:12:16 -05:00
b7ba3ba159 Prevent make defconfig from overwriting devices 2023-01-13 15:56:27 -05:00
661de3fd19 Fix derp 2023-01-13 15:49:55 -05:00
31a4aac014 Only compile our target 2023-01-13 15:30:36 -05:00
60bb05e19a Support user packages in --source 2023-01-13 15:13:06 -05:00
0dfd58b9ef Separate bindirs 2023-01-13 14:41:23 -05:00
36d392c2f2 Integrate BINDIR 2023-01-13 14:32:19 -05:00
4fd858d635 Ensure srcdir and bindir 2023-01-13 11:48:47 -05:00
d342206f0a New directory layout 2023-01-13 11:40:45 -05:00
00b82452f4 Derp 2023-01-13 11:29:55 -05:00
97d7c84b58 Catch return 2023-01-13 11:27:34 -05:00
29ea95db65 Allow continue from failed profile 2023-01-13 10:59:41 -05:00
41900c4e02 Fix duplicate output 2023-01-13 10:51:00 -05:00
ed331cc581 Remove shellcheck disable 2023-01-13 10:47:39 -05:00
cf7b9e45c0 Use SEED_URL 2023-01-13 10:46:37 -05:00
0c1f60971e Prettify help 2023-01-13 10:44:01 -05:00
00c70b9da0 Simplify resetAll() 2023-01-13 10:36:20 -05:00
d14d8f9eb8 Fix reset 2023-01-13 10:26:03 -05:00
f3579cb9a7 Separate profile vars 2023-01-13 10:18:49 -05:00
94e6545fcc More multi-profile work 2023-01-12 17:08:21 -05:00
a4efc9e7d1 More multi-profile work 2023-01-12 16:44:59 -05:00
860631cf7d More multi-profile work 2023-01-12 16:40:39 -05:00
3683296110 More multi-profile work 2023-01-12 16:37:53 -05:00
3ee6de5fb1 More multi-profile work 2023-01-12 16:17:14 -05:00
0bd32d5d7c More multi-profile work 2023-01-12 14:42:39 -05:00
64081a1dda Work on --from-source 2023-01-11 16:15:53 -05:00
08601a3284 Work on --from-source 2023-01-11 16:11:14 -05:00
4cb4e85e4e Work on --from-source 2023-01-11 16:07:38 -05:00
2009725f33 Allow per-profile reset 2023-01-11 15:47:17 -05:00
93eb9afad1 Allow per-profile reset 2023-01-11 15:43:44 -05:00
14e8fcb814 Multi-profile support 2023-01-11 15:13:08 -05:00
dde5d6260a Multi-profile support 2023-01-11 15:11:54 -05:00
3ee0afda05 Multi-profile support 2023-01-11 15:10:52 -05:00
3f4b9042c9 Multi-profile support 2023-01-11 15:08:45 -05:00
c6158f241e Multi-profile support 2023-01-11 15:07:53 -05:00
22dd0f25f9 Multi-profile support 2023-01-11 15:04:18 -05:00
4447ccdd56 Multi-profile support 2023-01-11 14:59:47 -05:00
8ce8ea92fe Multi-profile support 2023-01-11 14:57:04 -05:00
2b1e94da87 Multi-profile support 2023-01-11 14:55:29 -05:00
295855e0ae Multi-profile support 2023-01-11 14:53:00 -05:00
e876247ccd Multi-profile support 2023-01-11 14:47:31 -05:00
b381222022 Multi-profile support 2023-01-11 14:45:59 -05:00
de5f6f02f3 Multi-profile support 2023-01-11 14:42:10 -05:00
b00195dbeb Multi-profile support 2023-01-11 14:39:24 -05:00
ac878b82ee Multi-profile support 2023-01-11 14:36:41 -05:00
242cdb02b8 Allow cli options to override 2023-01-11 14:31:21 -05:00
b9848a177a First stab at multi-profile support 2023-01-11 14:25:52 -05:00
724755d762 Catch input error 2023-01-11 14:02:17 -05:00
6856791364 Rewrite dependency logic for --from-source 2023-01-11 13:48:43 -05:00
3ab01b9d3d Update profiles 2023-01-11 10:21:16 -05:00
fd5e127ea3 update external README 2023-01-06 11:32:14 -05:00
11cfb54716 update internal README 2023-01-06 11:31:38 -05:00
1690069718 Alias --version and --release 2023-01-06 11:12:39 -05:00
6c65d6cc6e Update profiles 2022-12-31 10:51:37 -05:00
ba2382ba4c Enable make image multicore 2022-12-23 23:40:24 -05:00
e7b4ff46ae Update profiles 2022-12-23 23:10:51 -05:00
870fc789fe New device, some tidying 2022-12-21 12:58:41 -05:00
add848141c Remove debugging output 2022-10-13 12:22:09 -04:00
3fd02690a1 Workaround Bash 5.2 bug 2022-10-13 11:22:32 -04:00
7b0e749294 Tidy up for 22.03.0-rc1 2022-04-22 12:20:11 -04:00
21db10f5cb Revert breakout make download and count cpus 2022-02-23 16:28:32 -05:00
e44e98b144 Breakout make download and count cpus 2022-02-23 16:26:38 -05:00
8 changed files with 1025 additions and 579 deletions

12
.gitignore vendored
View File

@@ -1,6 +1,8 @@
sources/ src/
bin/ bin/
files/ .vscode/
patches/ *.code-workspace
.lock backups/
make.log .dependencies_source
.dependencies_ib

19
.vscode/launch.json vendored
View File

@@ -1,19 +0,0 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "bashdb",
"request": "launch",
"terminalKind": "integrated",
"name": "Bash-Debug (simplest configuration)",
"program": "${file}",
"args": [
"-d",
"-p", "r4s"
]
}
]
}

10
.vscode/settings.json vendored
View File

@@ -1,10 +0,0 @@
{
"window.title": "openwrtbuilder",
"cSpell.words": [
"infile",
"isfile",
"openwrt",
"regen",
"sysbackup"
]
}

13
.vscode/tasks.json vendored
View File

@@ -1,13 +0,0 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build RPi4 snapshot in toolbox",
"type": "shell",
"command": "toolbox run ${file} -p r4s -d",
"problemMatcher": []
}
]
}

View File

@@ -1,3 +1,56 @@
# openwrtbuilder # openwrtbuilder
See `openwrtbuilder --help` for help options. 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]...`
## Options
```(text)
--profile,-p PROFILE
--release,-r,--version,-v RELEASE ("snapshot", "22.03.3")
--buildroot,-b PATH (Default: script directory)
--source
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
Enabled by default for --ssh-upgrade
--flash,-f DEVICE
Example: /dev/sdX
--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
--help,-h
```
## Profiles
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 -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
Find `openwrtbuilder` useful? [Paypal me a coffee!](https://paypal.me/bryanroessler)
[↓ ↓ ↓ Bitcoin ↓ ↓ ↓](bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a)
[![Bitcoin](https://repos.bryanroessler.com/files/bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a.png)](bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a)

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +0,0 @@
{
"folders": [
{
"path": "."
}
],
"settings": {
"window.title": "openwrtbuilder",
"cSpell.words": [
"openwrtbuilder",
"padx"
],
"cSpell.ignoreWords": [
"openwrtbuilder"
]
}
}

301
profiles
View File

@@ -1,166 +1,159 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Device profiles for openwrtbuilder
# shellcheck disable=SC2034 # shellcheck disable=SC2034
# This file contains a set of device profiles for openwrtbuilder
# Packages to install for all profiles # Default (but optional) packages (precede with "-" to exclude)
default_packages="\ default_packages=(nano htop diffutils tar iperf3 zsh rsync curl tcpdump
luci \ openssh-sftp-server luci luci-ssl luci-proto-wireguard luci-app-statistics
luci-ssl \ collectd-mod-sensors collectd-mod-thermal collectd-mod-conntrack collectd-mod-cpu
nano \ )
htop \
tcpdump \
diffutils \
tar \
iperf \
bash \
rsync " # Leave trailing whitespace
# Default (but optional) kernel configs
default_configs=(
)
declare -Ag archer # Current devices
archer['profile']="tplink_archer-c7-v2" declare -Ag r4s=(
archer['target']="ath79/generic" [mode]="source"
archer['filesystem']="squashfs" [device]="friendlyarm_nanopi-r4s"
archer['packages']="\ [target]="rockchip/armv8"
$default_packages \ [filesystem]="ext4"
-dnsmasq \ [packages]="${default_packages[*]} \
-odhcpd \ luci-app-ddns luci-app-sqm \
-iptables \ adblock luci-app-adblock \
-ath10k-firmware-qca988x-ct \ collectd-mod-df usbutils kmod-usb-storage kmod-usb-storage-uas \
ath10k-firmware-qca988x-ct-full-htt" kmod-fs-btrfs btrfs-progs block-mount smcroute avahi-daemon \
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]="https://github.com/wurzerj/openwrt.git:59d6e31 \
# https://github.com/wurzerj/openwrt.git:bb251b8" # fix inconsistent reboot
)
declare -Ag linksys declare -Ag ax6000=(
linksys['profile']="linksys_ea8300" [mode]="imagebuilder"
linksys['target']="ipq40xx/generic" [device]="xiaomi_redmi-router-ax6000-stock"
linksys['filesystem']="squashfs" [target]="mediatek/filogic"
linksys['packages']="\ [release]="snapshot"
$default_packages \ [filesystem]="squashfs"
-dnsmasq \ [packages]="${default_packages[*]} \
-odhcpd \ -dnsmasq -odhcpd-ipv6only -nftables -firewall4 tailscale"
-iptables" )
declare -Ag rpi4 declare -Ag ax6000_uboot=(
rpi4['profile']="rpi-4" [mode]="imagebuilder"
rpi4['target']="bcm27xx/bcm2711" [device]="xiaomi_redmi-router-ax6000-ubootmod"
rpi4['filesystem']="ext4" [target]="mediatek/filogic"
rpi4['packages']="\ [release]="snapshot"
$default_packages \ [filesystem]="squashfs"
kmod-usb-net-asix-ax88179 \ [packages]="${default_packages[*]} \
kmod-usb-net-rtl8152 \ -dnsmasq -odhcpd-ipv6only -nftables -firewall4"
luci-app-upnp \ )
luci-app-wireguard \
luci-app-vpn-policy-routing \
-dnsmasq \
dnsmasq-full \
luci-app-ddns \
luci-app-sqm"
declare -Ag r2s declare -Ag n5100=(
r2s['profile']="friendlyarm_nanopi-r2s" [device]="generic"
r2s['target']="rockchip/armv8" [target]="x86/64"
r2s['filesystem']="ext4" [filesystem]="squashfs"
r2s['packages']="\ [packages]="${default_packages[*]} \
$default_packages \ luci-app-ddns irqbalance collectd-mod-df \
luci-app-upnp \ usbutils kmod-usb-storage kmod-usb-storage-uas kmod-fs-btrfs \
luci-app-wireguard \ btrfs-progs block-mount cryptsetup kmod-crypto-xts smcroute \
luci-app-vpn-policy-routing \ avahi-daemon ethtool ca-bundle smartmontools intel-microcode \
-dnsmasq \ lm-sensors samba4-server luci-app-samba4 tailscale shadow-useradd"
dnsmasq-full \ [config]="${default_configs[*]} \
luci-app-ddns \ CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_PROGS_ZSTD=y \
luci-app-sqm \ CONFIG_TARGET_ROOTFS_PARTSIZE=512 CONFIG_TARGET_KERNEL_PARTSIZE=32"
luci-app-statistics \ # [files]="/mnt/backup"
collectd-mod-sensors \ )
collectd-mod-thermal \
collectd-mod-conntrack \
smcroute \
curl \
ethtool"
declare -Ag r4s declare -Ag w1700k=(
r4s['release']="snapshot" [mode]="source"
r4s['profile']="friendlyarm_nanopi-r4s" [device]="gemtek_w1700k"
r4s['target']="rockchip/armv8" [target]="airoha/an7581"
r4s['filesystem']="ext4" [filesystem]="squashfs"
r4s['repo']="src/gz stangri_repo https://repo.openwrt.melmac.net" [release]="snapshot"
# fw3 + vpn-policy-routing [packages]="${default_packages[*]} \
# r4s['packages']="\ luci-app-ddns luci-app-sqm \
# $default_packages \ adblock luci-app-adblock \
# luci-app-upnp \ smcroute avahi-daemon \
# luci-app-wireguard \ lm-sensors samba4-server luci-app-samba4 tailscale shadow-useradd \
# luci-app-vpn-policy-routing \ ethtool ca-bundle tailscale"
# vpn-policy-routing \ [cherrypicks]="\
# -dnsmasq \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:8d449e968cfaa774ab7a219b3a5ab4251b2f9352 \
# dnsmasq-full \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:3033241393ef6eb562539c6a3ccb9d3cf1a25d05 \
# luci-app-ddns \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:79a21e0986a9efe6de3a07394a71ac15a2107b16 \
# luci-app-sqm \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:2f8a1cbf901df0d325dfe112fdfe8013a72c8305 \
# luci-app-statistics \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:71b09bc5852797cdbf7cb3b56a7d8fcd9d4ca9db \
# collectd-mod-sensors \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:fe0135f0b7037a9cc1985d5937dd24cb99bfccb1 \
# collectd-mod-thermal \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:cdb937180fb971fe702078f0e0fef63f2fcce337 \
# collectd-mod-conntrack \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:6dc847c802b9dc597fc2c64711ca85499f128d1d \
# smcroute \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:b6e6cf911915dd987eecde908a2013419565cff4 \
# curl \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:708089948949e66f5234249fc631e0453b58942e \
# ethtool \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:9841a707a577385498591bcfb56b836176325c2f \
# kmod-ipt-nat6 \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:8446ec6431a3247683a27070d3c69f2789b52c70 \
# -firewall4 \ https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:05380e2ef5fb96c171da23453ba32aa349a4b126"
# -nftables \ )
# -kmod-nft-offload \
# firewall \
# ip6tables \
# iptables \
# kmod-ipt-offload"
# fw3 + pbr declare -Ag rpi4=(
r4s['packages']="\ [device]="rpi-4"
$default_packages \ [target]="bcm27xx/bcm2711"
luci-app-upnp \ [filesystem]="ext4"
luci-app-wireguard \ [packages]="${default_packages[*]} \
luci-app-pbr \ luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full luci-app-ddns luci-app-sqm \
pbr-ipt \ kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8152"
-dnsmasq \ )
dnsmasq-full \
luci-app-ddns \
luci-app-sqm \
luci-app-statistics \
collectd-mod-sensors \
collectd-mod-thermal \
collectd-mod-conntrack \
smcroute \
curl \
ethtool \
kmod-ipt-nat6 \
-firewall4 \
-nftables \
-kmod-nft-offload \
firewall \
ip6tables \
iptables \
kmod-ipt-offload"
# fw4 + pbr declare -Ag r4s_stock=(
# r4s['packages']="\ [device]="friendlyarm_nanopi-r4s"
# $default_packages \ [target]="rockchip/armv8"
# luci-app-upnp \ [filesystem]="ext4"
# luci-app-wireguard \ [release]="snapshot"
# luci-app-pbr \ )
# pbr-netifd \
# -dnsmasq \
# dnsmasq-full \
# luci-app-ddns \
# luci-app-sqm \
# luci-app-statistics \
# collectd-mod-sensors \
# collectd-mod-thermal \
# collectd-mod-conntrack \
# smcroute \
# curl \
# ethtool \
# kmod-nft-nat6"
declare -Ag x5000r declare -Ag totolink=(
x5000r['profile']="totolink_x5000r" [device]="totolink_x5000r"
x5000r['target']="ramips/mt7621" [target]="ramips/mt7621"
x5000r['filesystem']="squashfs" [filesystem]="squashfs"
x5000r['packages']="\ [packages]="${default_packages[*]} \
$default_packages \ -dnsmasq -odhcpd-ipv6only -nftables -firewall4 \
-dnsmasq \ -kmod-nft-offload collectd-mod-iwinfo"
-odhcpd \ )
-iptables"
declare -Ag archer=(
[device]="tplink_archer-c7-v2"
[target]="ath79/generic"
[filesystem]="squashfs"
[packages]="${default_packages[*]} -dnsmasq -odhcpd -iptables \
-ath10k-firmware-qca988x-ct ath10k-firmware-qca988x-ct-full-htt"
)
declare -Ag linksys=(
[device]="linksys_ea8300"
[target]="ipq40xx/generic"
[filesystem]="squashfs"
[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 \
luci-app-ddns luci-app-sqm luci-app-statistics collectd-mod-sensors \
collectd-mod-thermal collectd-mod-conntrack smcroute curl ethtool"
)
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 \
luci-app-statistics collectd-mod-sensors collectd-mod-thermal \
collectd-mod-conntrack curl ethtool travelmate"
)