Compare commits

...

155 Commits

Author SHA1 Message Date
b3fba8f4ee feat: use emissary 2024.3.13-stable.821.cec5c78
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2024-03-13 08:26:54 +00:00
e216c0ddbf feat: use emissary 2024.3.12-stable.1525.b5c36f1
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-03-12 15:30:55 +00:00
ede2142b9f feat(x86): use random uuid to generate machine id
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-03-08 20:15:11 +01:00
c9bedc3bf8 feat: use emissary 2024.3.4-stable.1803.0b34b48
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2024-03-04 18:08:24 +00:00
df8872064a feat: use emissary 2024.3.4-stable.1752.ab08d30
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-03-04 17:57:14 +00:00
af6c9cfbe6 feat: use emissary 2024.3.4-stable.809.4a1a434
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-03-04 08:14:37 +00:00
73159308d1 feat: use emissary 2024.3.3-stable.1740.7671872
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-03-03 17:45:41 +00:00
158ef63f36 feat: add configurable agent and claim url for status page
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
ref arcad/emissary#21
2024-03-01 13:24:51 +01:00
64ef4a1b5c feat: use emissary 2024.3.1-stable.1041.8f21313
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2024-03-01 10:46:27 +00:00
70a31262ee feat: use emissary 2024.2.29-stable.1433.eee7e60
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-02-29 15:14:38 +00:00
eeecad130e feat: use emissary 2024.1.12-stable.1306.79f5301
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-01-12 13:11:35 +00:00
7cd6626a64 feat: use emissary 2024.1.11-stable.1331.a5c81dc
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-01-11 13:36:29 +00:00
ea9f7230ac feat: install package kmod-fs-ext4
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-01-11 12:07:35 +01:00
4009da19cf feat(agent): ensure /data/emissary directory before service start
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2024-01-11 10:13:01 +01:00
83608ce85e feat: execute data partition script earlier
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-01-11 10:09:56 +01:00
922310c823 feat(x86): use default root partition size
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-01-11 10:00:40 +01:00
6ecdd2c54b feat: automatically create /data mountpoint with available disk free space 2024-01-11 10:00:06 +01:00
57a40f12e3 feat: use emissary 2024.1.10-stable.1332.fefac83
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2024-01-10 13:37:10 +00:00
642ed76421 feat(x86): extend root partition to 1024Mb
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2024-01-10 12:03:21 +01:00
91f34171b6 feat: use emissary 2023.12.5-stable.2142.c43d1a5
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-12-05 21:48:23 +00:00
8529525524 feat: use emissary 2023.12.5-stable.2029.d9f11ac
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-12-05 20:35:17 +00:00
c50babbc50 feat: use emissary 2023.12.5-stable.1332.16a59fe
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-12-05 13:37:18 +00:00
b5e7560c53 feat: use emissary 2023.12.3-stable.1328.8d42bf0
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-12-03 13:47:55 +00:00
9f616e4dd9 feat: use emissary 2023.12.1-stable.1421.3c3d7fe
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-12-01 14:26:03 +00:00
8ca78641ff feat: start emissary-agent later in the boot process and retry more times on error
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-12-01 14:43:22 +01:00
e2417fbdcc feat: use emissary 2023.12.1-stable.1326.ddddbbc
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-12-01 13:31:34 +00:00
82fb14dc36 feat: use emissary 2023.12.1-stable.1253.32ce5a2
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-12-01 12:57:51 +00:00
655ba28a6c feat: use emissary 2023.12.1-stable.1126.6a7945d
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-12-01 11:30:57 +00:00
c053c996d9 chore: add links to release message
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-11-30 20:12:22 +01:00
25917a63b9 feat: use openwrt 23.05.2
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-11-30 20:05:16 +01:00
53a55bbc48 feat: use emissary 2023.11.30-stable.1853.86ddb6a
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-11-30 18:58:49 +00:00
cb184ccd4f feat: use emissary 2023.11.30-stable.1847.a6da1be
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-11-30 18:51:33 +00:00
5a9623f96f feat: use emissary 2023.10.25-stable.1928.b2b839c
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-25 19:33:56 +00:00
120da74f01 feat: use emissary 2023.10.24-stable.2055.7fa3011
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-24 21:00:12 +00:00
c6aa6a8089 feat: use openwrt 23.05.0
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-24 09:02:22 +02:00
2276e202d2 feat(bpi-r3): use openwrt 23.05.0
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-23 09:27:40 +02:00
2caa7781e0 feat: use emissary 2023.10.22-stable.2118.0d2aac4
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-10-22 21:23:20 +00:00
241b9ad3cc feat: use emissary 2023.10.22-stable.2105.38795a9
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-22 21:10:27 +00:00
f7da4a3b74 feat: use emissary 2023.10.22-stable.848.327226a
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-22 08:53:33 +00:00
f93a9cfaca feat: use emissary 2023.10.22-stable.750.fbf818e
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-22 07:54:58 +00:00
acc3c13249 feat: use emissary 2023.10.21-stable.1947.46a853a
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-21 19:52:19 +00:00
abd5cef671 feat: use emissary 2023.10.21-stable.1939.f31a63e
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-21 19:43:47 +00:00
b910fecb21 feat: use emissary 2023.10.20-stable.1539.c8a2303
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-20 15:44:02 +00:00
1ff432c20e feat: use emissary 2023.10.19-stable.2022.ced2658
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-20 09:07:04 +00:00
ae5caf88d3 feat: use emissary 2023.10.13-stable.1222.e756a60
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-13 12:27:28 +00:00
f165301856 feat: use emissary 2023.10.13-stable.1030.752f1ae
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-13 10:35:23 +00:00
50ce5a25ee feat: sentry integration
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-13 12:29:51 +02:00
b8a8c9257b fix: typo in agent config
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-10-12 23:00:35 +02:00
7608a983e6 feat: add *.itb upgrade firmware files
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-10-12 19:12:28 +02:00
28c2bf152c feat(bpi-r3): use openwrt 23.05.0-rc4
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-10-12 09:50:55 +02:00
707a8c6f30 feat: share common uci-defaults rule + add agent additional collectors
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-10-11 10:09:51 +02:00
4b5f2b63d0 feat(bpi-r3): add default firewall rules 2023-10-11 10:09:51 +02:00
ce0b211bfa feat: use emissary 2023.10.3-stable.538.9068203
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-10-03 05:43:03 +00:00
0fbae8a5ca feat: use emissary 2023.10.3-stable.410.a84fa05
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-10-03 04:14:55 +00:00
eaf60e139e feat: use emissary 2023.9.20-stable.1602.6318a8b
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-09-20 16:08:07 +00:00
c4d659a8fa feat(bpi-r3): use openwrt 23.05.0-rc3
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-08-30 11:36:25 -06:00
8038eb5c97 Merge pull request 'bananapi-r3' (#2) from bananapi-r3 into master
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
Reviewed-on: #2
Reviewed-by: wpetit <wpetit@cadoles.com>
2023-08-30 18:03:38 +02:00
b17355f36b docs: Corrected documentation related to Banana BPI hardware
All checks were successful
arcad/emissary-firmware/pipeline/pr-master This commit looks good
2023-08-30 16:57:01 +02:00
7bfb1982b7 ci: install python3-distutils in docker environment 2023-08-30 16:57:01 +02:00
490b5558a7 doc: refactor bpi hardware sheet 2023-08-30 16:57:01 +02:00
ce8460a277 doc: add make download-emissary-release in doc 2023-08-30 16:57:01 +02:00
7a300bdbf0 doc: create hardware-sheet for bananapi. doc use to discover hardware and install firmware on it only 2023-08-30 16:57:01 +02:00
86792b320e fix: clear default configuration by setting only requires 2023-08-30 16:57:01 +02:00
241d234ece fix: simplify firmware configuration. test => start, ssh access, emissary-agent, contact emissary server OK 2023-08-30 16:57:01 +02:00
e07c26e24d remise en état du fichier n'ayant pas besoin d'être modifié! 2023-08-30 16:57:01 +02:00
972aec6e6b feat(bpi-r3): default firmware ok. Lan ok, emissary install 2023-08-30 16:57:01 +02:00
f2d8692a4b feat: add basic bananapi r3 target 2023-08-30 16:57:01 +02:00
b0e9d61731 feat: use emissary 2023.8.25-stable.1853.3d7a094
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-08-25 18:59:44 +00:00
f0601b2028 feat: use emissary 2023.8.25-stable.1802.612f18a
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-08-25 18:06:34 +00:00
4edf42183f feat: use emissary 2023.8.25-stable.1652.077964c
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-08-25 16:59:31 +00:00
f6fd4979d8 ci: do not pull before updating emissary release version
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-08-25 10:59:11 -06:00
fca8010604 feat: use emissary v2023.8.25-14eecbf
Some checks failed
arcad/emissary-firmware/pipeline/head There was a failure building this commit
2023-08-25 15:36:04 +00:00
4c6226f47e feat: use emissary v2023.8.25-c51ac0a
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-08-25 15:14:08 +00:00
357af4b7cf feat: use emissary v2023.8.25-61ac5e8
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-08-25 15:05:04 +00:00
f2993c3667 feat: use emissary v2023.8.25-929394c
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-08-25 15:01:23 +00:00
5a3eeca071 ci: limit release to master branch
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-08-25 07:55:09 -06:00
4af7147a1a feat: use emissary v2023.8.25-a1ec5b8
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-08-25 13:29:53 +00:00
bec89173c1 doc: add missing command
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-08-02 06:41:25 -06:00
6f646ce7b7 doc: add firmware compilation tutorial
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-07-31 13:25:47 -06:00
9d0064ccfb feat: use emissary v2023.6.25-42d49eb
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-06-25 17:51:13 +00:00
3b981873cc feat: use emissary v2023.6.23-4217850
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-06-23 16:42:43 +00:00
c7465dba27 feat: use emissary v2023.6.23-4a58847
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-06-23 12:46:15 +00:00
4a4232e358 feat: use emissary v2023.6.23-4255940
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-06-23 12:30:35 +00:00
250bf06367 feat: use emissary v2023.6.22-a5fbe3e
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-06-22 15:09:27 +00:00
3ca90a54a9 feat: use emissary v2023.6.22-8b5a97d
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-06-22 15:05:47 +00:00
58d1ffc9a2 feat: use emissary v2023.5.26-d73e027
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-05-26 13:56:56 +00:00
a7f3f2faea feat: use emissary v2023.5.25-054744e
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-05-25 19:27:45 +00:00
6d0e693fc4 feat: use emissary v2023.5.24-58ef3b0
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-05-24 08:19:36 +00:00
68a1de079e feat: use emissary v2023.5.24-e568092
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-05-24 08:01:26 +00:00
7f1472f21b feat: use emissary v2023.5.23-ece97ef
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-05-23 18:48:19 +00:00
291ad94b15 feat: use emissary v2023.5.23-4311cf6
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-05-23 12:53:02 +00:00
4b181ec9e1 feat: use emissary v2023.4.26-6a976c0
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-26 14:00:14 +00:00
81360c3fda feat(turris,omnia): re-enable disk resizing
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-26 15:55:13 +02:00
2cf46ed9a5 feat(turris,omnia): customize uci config
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-04-25 14:04:38 +02:00
df763ef49a feat(turris,omnia): add uci-defaults scripts 2023-04-25 14:04:38 +02:00
9e153e38cb feat: use emissary v2023.4.25-d188af8
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-25 11:57:47 +00:00
9214c097b3 feat: use emissary v2023.4.24-e975381
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-24 11:55:12 +00:00
2339bc3aa6 feat: use emissary v2023.4.24-0d03a70
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-24 10:27:28 +00:00
908a36896e feat: use emissary v2023.4.21-64ea0e0
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-21 18:09:10 +00:00
23452a06ff feat(rpi): default firmware ok
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-21 18:42:06 +02:00
83f97abcbd feat: use emissary v2023.4.21-541d30d
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-04-21 11:13:54 +00:00
d0f6e63007 feat: use emissary v2023.4.21-87a4509
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-21 10:51:10 +00:00
087f8a27a8 feat: use emissary v2023.4.20-fcd159c
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-20 17:32:21 +00:00
42c157a1e5 feat: use emissary v2023.4.20-ef3048b
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-20 10:26:56 +00:00
7b722293b7 feat: use emissary v2023.4.20-3d01cf0
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-20 09:04:43 +00:00
d37c10afae fix(turris,omnia): disable reboot after resize temporarily
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-17 11:57:46 +02:00
40d6d2df03 fix(turris,omnia): reboot after disk resize
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-04-14 17:37:19 +02:00
f70763aed7 feat: use emissary v2023.4.14-813f837
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-04-14 14:32:47 +00:00
475a807302 feat: use emissary v2023.4.13-ed35ee5
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-13 11:52:10 +00:00
4e075cbd8e feat: use emissary v2023.4.13-4b5bc0b
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-13 10:11:55 +00:00
ed52367837 feat: use emissary v2023.4.13-dee6218
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-13 09:39:49 +00:00
a6c32c5315 feat: use emissary v2023.4.13-76656e8
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-13 09:32:01 +00:00
a35c5563db feat: use emissary v2023.4.13-41b1619
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-13 09:08:54 +00:00
751f5398e1 feat: use emissary v2023.4.12-35d5ee8
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-12 09:13:52 +00:00
9b2c2e5cdc feat: use emissary v2023.4.11-2315ee7
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-11 13:14:45 +00:00
2aa581e3c0 feat: use emissary v2023.4.11-86a6d81
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-11 10:09:57 +00:00
fc7be554a3 feat: use emissary v2023.4.11-8fb86c6
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-11 09:17:18 +00:00
f6df7651da feat(turris,omnia): automatically resize partition at startup
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-07 11:38:36 +02:00
87b15c940f feat: use emissary v2023.4.6-12f8b3a
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-04-06 19:00:29 +00:00
30d48ce4aa feat: use emissary v2023.4.6-4cf53d9
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-06 17:28:39 +00:00
2f06b5fdcf feat: use emissary v2023.4.6-47c2546
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-06 16:29:28 +00:00
c3070d2922 feat: use emissary v2023.4.6-2117391
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-06 16:21:15 +00:00
38a0d35c7b feat: use emissary v2023.4.6-b213b8d
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-06 14:01:51 +00:00
9a48ff1a65 feat: use emissary v2023.4.6-9dcddc5
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-06 13:17:58 +00:00
e1ed8f9bd1 feat: use emissary v2023.4.6-253c93d
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-06 09:04:09 +00:00
cec076241a feat: use emissary v2023.4.6-d2f865c
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-06 08:47:39 +00:00
adb3877206 feat: use emissary v2023.4.6-06b1235
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-06 08:26:51 +00:00
dd3bb6748c feat: use emissary v2023.4.6-06b1235-dirty
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-06 08:25:50 +00:00
d58fe78b43 feat: use emissary v2023.4.5-2e1ee44
Some checks failed
arcad/emissary-firmware/pipeline/head There was a failure building this commit
2023-04-05 21:32:38 +00:00
30e31359ec feat: use emissary v2023.4.5-2e1ee44-dirty
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-05 21:25:26 +00:00
2839b21113 feat: use emissary v2023.4.4-242a247
Some checks failed
arcad/emissary-firmware/pipeline/head There was a failure building this commit
2023-04-04 18:44:04 +00:00
b096b36e5c feat: use emissary v2023.4.4-242a247-dirty
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-04 18:30:45 +00:00
d945203a70 feat: use emissary v2023.4.2-562d698
Some checks failed
arcad/emissary-firmware/pipeline/head There was a failure building this commit
2023-04-02 16:32:38 +00:00
aff32b8627 feat: use emissary v2023.4.2-562d698-dirty
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-02 16:10:04 +00:00
f9c6997cdc feat: do not keep agent state between upgrades
Some checks failed
arcad/emissary-firmware/pipeline/head There was a failure building this commit
2023-04-01 21:24:58 +02:00
4e1772995d feat: use emissary v2023.4.1-909549f
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-04-01 17:47:38 +00:00
f58c7cc6a7 feat: use emissary v2023.4.1-7d551a8
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-01 17:34:21 +00:00
95046def13 feat: use emissary v2023.4.1-d02eb91
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-01 12:36:55 +00:00
dc26c10bb3 feat: use emissary v2023.4.1-d2bcdd2
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-04-01 11:31:55 +00:00
7fbc1930df chore: display emissary version in release body
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-03-31 17:50:33 +02:00
d65ba3f252 feat: use emissary v2023.3.31-c638fe1
All checks were successful
arcad/emissary-firmware/pipeline/head This commit looks good
2023-03-31 15:35:20 +00:00
b56e563aa0 feat: use emissary v2023.3.31-5fc5f5f
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-03-31 15:20:01 +00:00
2c701ffc16 chore: add jenkins pipeline
Some checks reported errors
arcad/emissary-firmware/pipeline/head Something is wrong with the build of this commit
2023-03-31 17:19:44 +02:00
aa22f3c55b feat: update emissary to v2023.3.29-e5b6c5e 2023-03-29 21:43:31 +02:00
f6c3de68b2 feat: use emissary v2023.3.29-351f22e 2023-03-29 17:45:27 +02:00
1470bea902 chore: filter download emissary artefacts 2023-03-29 16:05:01 +02:00
aa314a939f feat: move all emissary 'data' files to /data 2023-03-29 12:23:28 +02:00
844c5d0e17 chore: allow override of used image in flash script 2023-03-29 12:23:01 +02:00
656081568e feat(turris,omnia): use armv7 arch for emissary binary 2023-03-29 12:22:27 +02:00
b03e00fe5b feat: multiples fix 2023-03-27 19:28:58 +02:00
b4d6c75d52 feat: keep state.json and agent-key.json between upgrades 2023-03-25 16:46:00 +01:00
02db564bb0 feat: add turris omnia target 2023-03-10 11:22:03 +01:00
50025decc1 feat: differentiate machine-id generation in x86 target 2023-03-10 11:21:22 +01:00
55b49679f1 feat: use dmi data to generate machine id 2023-03-09 15:09:43 +01:00
78cffa1c12 chore: remove generated files from repo 2023-03-09 15:09:17 +01:00
41 changed files with 649 additions and 163 deletions

105
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,105 @@
pipeline {
agent {
dockerfile {
filename 'Dockerfile'
dir 'misc/jenkins'
}
}
parameters {
persistentText(name: 'emissaryRelease', defaultValue: 'latest', description: 'Numéro de release Emissary', successfulOnly: false)
}
stages {
stage('Cancel older jobs') {
steps {
script {
def buildNumber = env.BUILD_NUMBER as int
if (buildNumber > 1) milestone(buildNumber - 1)
milestone(buildNumber)
}
}
}
stage('Update emissary release') {
when {
branch 'master'
expression {
return params.emissaryRelease != 'latest'
}
}
steps {
script {
currentEmissaryRelease = readFile('emissary_release.txt').trim()
if (currentEmissaryRelease == params.emissaryRelease) {
currentBuild.result = 'SUCCESS'
return
}
withCredentials([
usernamePassword([
credentialsId: 'forge-jenkins',
usernameVariable: 'GIT_USERNAME',
passwordVariable: 'GIT_PASSWORD'
])
]) {
sh """
git config user.email "jenkins@cadoles.com"
git config user.name "Jenkins"
git config credential.https://forge.cadoles.com.username "\$GIT_USERNAME"
git config credential.https://forge.cadoles.com.helper '!f() { test "\$1" = get && echo "password=\$GIT_PASSWORD"; }; f'
echo '${params.emissaryRelease}' > emissary_release.txt
git add emissary_release.txt
git commit -m "feat: use emissary ${params.emissaryRelease}"
git push origin \$(git rev-parse HEAD):${env.GIT_BRANCH}
"""
}
}
}
}
stage('Build') {
steps {
script {
withCredentials([
usernamePassword([
credentialsId: 'forge-jenkins',
usernameVariable: 'GITEA_DOWNLOAD_USERNAME',
passwordVariable: 'GITEA_DOWNLOAD_PASSWORD'
])
]) {
sh '''
make download-emissary-release
make all
'''
}
}
}
}
stage('Release') {
when {
branch 'master'
}
steps {
withCredentials([
usernamePassword([
credentialsId: 'forge-jenkins',
usernameVariable: 'GITEA_RELEASE_USERNAME',
passwordVariable: 'GITEA_RELEASE_PASSWORD'
])
]) {
sh 'make gitea-release'
}
}
}
}
post {
always {
cleanWs()
}
}
}

View File

@ -5,7 +5,7 @@ GIT_VERSION := $(shell git describe --always)
DATE_VERSION := $(shell date +%Y.%m.%d)
FULL_VERSION := v$(DATE_VERSION)-$(GIT_VERSION)
OPENWRT_VERSION ?= 22.03.2
OPENWRT_VERSION ?= 23.05.2
OPENWRT_TARGET ?= mvebu/cortexa9
OPENWRT_TARGET_DASHED ?= $(shell echo $(OPENWRT_TARGET) | sed 's|/|-|')
OPENWRT_PROFILE ?= linksys_wrt1200ac
@ -15,21 +15,22 @@ BIN_DIR_NAME_SUFFIX ?=
IMAGEBUILDER_URL ?= https://downloads.openwrt.org/releases/$(OPENWRT_VERSION)/targets/$(OPENWRT_TARGET)/openwrt-imagebuilder-$(OPENWRT_VERSION)-$(OPENWRT_TARGET_DASHED).Linux-x86_64.tar.xz
IMAGEBUILDER_ARCHIVE_PATH := tmp/imagebuilder-$(OPENWRT_VERSION)-$(OPENWRT_TARGET_DASHED).tar.xz
IMAGEBUILDER_DIR_PATH := $(PWD)/imagebuilder/$(OPENWRT_VERSION)/$(OPENWRT_TARGET)
IMAGEBUILDER_ARCHIVE_PATH ?= tmp/imagebuilder-$(OPENWRT_VERSION)-$(OPENWRT_TARGET_DASHED).tar.xz
IMAGEBUILDER_DIR_PATH ?= $(PWD)/imagebuilder/$(OPENWRT_VERSION)/$(OPENWRT_TARGET)
IMAGEBUILDER_CUSTOM_PACKAGES_DIR_PATH := $(IMAGEBUILDER_DIR_PATH)/packages
IMAGEBUILDER_CUSTOM_FILES_DIR_PATH := $(IMAGEBUILDER_DIR_PATH)/files
BIN_DIR := "$(shell readlink -f bin)/$(OPENWRT_VERSION)/$(OPENWRT_TARGET)/$(OPENWRT_PROFILE)$(BIN_DIR_NAME_SUFFIX)"
GITEA_DOWNLOAD_RELEASE_NAME ?= latest
EMISSARY_RELEASE ?= $(shell cat emissary_release.txt)
EMISSARY_ARCH ?= armv6
EMISSARY_RECONCILIATION_INTERVAL ?=
EMISSARY_SERVER_URL ?=
BASE_INSTALL ?= install-emissary-files
BASE_INSTALL ?= install-emissary-files install-common-uci-defaults install-common-additional-agent-collectors
ADDITIONAL_INSTALL ?=
ADDITIONAL_OPENWRT_PACKAGES ?=
include targets/*.mk
include install/*.mk
@ -45,16 +46,17 @@ build: $(IMAGEBUILDER_DIR_PATH) $(IMAGEBUILDER_CUSTOM_PACKAGES_DIR_PATH) $(IMAGE
# Cleanup old packages signature
rm -f $(IMAGEBUILDER_DIR_PATH)/Packages $(IMAGEBUILDER_DIR_PATH)/Packages.gz $(IMAGEBUILDER_DIR_PATH)/Packages.sig
# Build firmware
$(MAKE) \
-C "$(IMAGEBUILDER_DIR_PATH)" \
EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
PROFILE="$(OPENWRT_PROFILE)" \
PACKAGES="$(OPENWRT_PACKAGES)" \
PACKAGES="$(OPENWRT_PACKAGES) $(ADDITIONAL_OPENWRT_PACKAGES)" \
CONFIG_IPV6=n \
FILES="$(IMAGEBUILDER_CUSTOM_FILES_DIR_PATH)" \
BIN_DIR="$(BIN_DIR)" \
ROOTFS_PARTSIZE="$(ROOTFS_PARTSIZE)" \
clean image
$(IMAGEBUILDER_DIR_PATH): $(IMAGEBUILDER_ARCHIVE_PATH)
@ -76,9 +78,8 @@ $(IMAGEBUILDER_CUSTOM_FILES_DIR_PATH):
rm -rf "$(IMAGEBUILDER_CUSTOM_FILES_DIR_PATH)"
mkdir -p "$(IMAGEBUILDER_CUSTOM_FILES_DIR_PATH)/etc"
echo "# Firmware built with https://forge.cadoles.com/Cadoles/emissary-firmware" > "$(IMAGEBUILDER_CUSTOM_FILES_DIR_PATH)/etc/emissary_firmware"
echo "BUILD_DATE=$(shell date --iso-8601=seconds)" >> "$(IMAGEBUILDER_CUSTOM_FILES_DIR_PATH)/etc/emissary_firmware"
echo "GIT_VERSION=$(GIT_VERSION)" >> "$(IMAGEBUILDER_CUSTOM_FILES_DIR_PATH)/etc/emissary_firmware"
echo "# Firmware built with https://forge.cadoles.com/arcad/emissary-firmware" > "$(IMAGEBUILDER_CUSTOM_FILES_DIR_PATH)/etc/emissary_firmware"
echo "FIRMWARE_VERSION=$(FULL_VERSION)" >> "$(IMAGEBUILDER_CUSTOM_FILES_DIR_PATH)/etc/emissary_firmware"
echo "OPENWRT_PROFILE=$(OPENWRT_PROFILE)" >> "$(IMAGEBUILDER_CUSTOM_FILES_DIR_PATH)/etc/emissary_firmware"
rm -rf files/*
@ -100,6 +101,7 @@ gitea-release: tools/gitea-release/bin/gitea-release.sh
\( -name '*.img.gz' \
-or -name '*.bin' \
-or -name '*.img' \
-or -name '*.itb' \
\) -exec cp {} .gitea-release/ \;
GITEA_RELEASE_PROJECT="emissary-firmware" \
@ -109,8 +111,8 @@ gitea-release: tools/gitea-release/bin/gitea-release.sh
GITEA_RELEASE_NAME="$(FULL_VERSION)" \
GITEA_RELEASE_COMMITISH_TARGET="$(GIT_VERSION)" \
GITEA_RELEASE_IS_DRAFT="false" \
GITEA_RELEASE_BODY="" \
GITEA_RELEASE_ATTACHMENTS="$(shell find .gitea-release/* -type f)" \
GITEA_RELEASE_BODY='Based on OpenWRT [`$(OPENWRT_VERSION)`](https://downloads.openwrt.org/releases/$(OPENWRT_VERSION)/targets/) and with Emissary [`$(EMISSARY_RELEASE)`](https://forge.cadoles.com/arcad/emissary/releases/tag/$(EMISSARY_RELEASE))' \
GITEA_RELEASE_ATTACHMENTS="$$(find .gitea-release/* -type f)" \
tools/gitea-release/bin/gitea-release.sh
.PHONY: download-emissary-release
@ -119,7 +121,8 @@ download-emissary-release: tools/gitea-download/bin/gitea-download.sh
GITEA_DOWNLOAD_PROJECT="emissary" \
GITEA_DOWNLOAD_ORG="arcad" \
GITEA_DOWNLOAD_BASE_URL="https://forge.cadoles.com" \
GITEA_DOWNLOAD_RELEASE_NAME="$(GITEA_DOWNLOAD_RELEASE_NAME)" \
GITEA_DOWNLOAD_RELEASE_NAME="$(EMISSARY_RELEASE)" \
GITEA_DOWNLOAD_ATTACHMENTS_FILTER="\.tar\.gz$$" \
tools/gitea-download/bin/gitea-download.sh
tools/gitea-release/bin/gitea-release.sh:
@ -142,5 +145,5 @@ UPX_VERSION := 4.0.2
tools/upx/bin/upx:
mkdir -p tools/upx/bin
curl -L --output tools/upx/upx-$(UPX_VERSION)-amd64_linux.tar.xz https://github.com/upx/upx/releases/download/v$(UPX_VERSION)/upx-$(UPX_VERSION)-amd64_linux.tar.xz
cd tools/upx && tar -xJf upx-$(UPX_VERSION)-amd64_linux.tar.xz
ln -s $(shell readlink -f tools/upx/upx-$(UPX_VERSION)-amd64_linux/upx) tools/upx/bin/upx
cd tools/upx && tar -xJf upx-$(UPX_VERSION)-amd64_linux.tar.xz && wait $$!
$(SHELL) -c 'ln -s $$(readlink -f tools/upx/upx-$(UPX_VERSION)-amd64_linux/upx) tools/upx/bin/upx'

View File

@ -1,7 +1,20 @@
# Documentation
## Structure du projet
```shell
doc/ # Documentation technique
install/ # Tâches Make d'installation spécifiques aux différentes cibles de construction
misc/ # Fichiers spécifiques aux différentes cibles de construction
targets/ # Tâches Make de définition des différentes cibles de construction
```
## Tutoriels
- [Premiers pas](./tutorials/first-steps.md)
- [Compiler un firmware](./tutorials/firmware-compilation.md)
- [Flasher une borne](./tutorials/device-flashing.md)
- [Flasher une borne](./tutorials/device-flashing.md)
## Fiches matériel
- [Banana Pi](./hardware/bananapi.md)

140
doc/hardware/bananapi.md Normal file
View File

@ -0,0 +1,140 @@
# BananaPi
![banana-rpi3](./../img/bpi-r3-case.jpg)
## Caractéristiques
- MediaTek MT7986(Filogic 830) Quad core ARM Cortex A53
- Wifi 6 2.4G/5GMT7976C
- 2G DDR RAM
- 8G eMMC flash
- 128MB Nand flash
- 2x 2.5GbE network port
- 1x M.2 Key B USB inerface
- 1x M.2 KEY M PCIe inerface
- 1x USB2.0 interface
- 1x Wan port (gigabit)
- 4x LAN port (gigabit)
## Installation
Par défaut, la borne est livrée sans système d'exploitation, ce qui rend impossible la procédure de flashage conventionnelle.
BPI fournit un logiciel qui permet de prendre un fichier .img et de le mettre en place sur une carte SD.
### Installation bpi-tools
Il est recommandé d'installer préalablement pv pour plus de commodité. (Disponible et validé sur Ubuntu et Manjaro)
```Shell
apt-get install pv
```
Pour installer bpi-tools sur votre machine, si vous ne pouvez pas accéder à l'URL via curl, rendez-vous sur le dépôt de bpi-tools et effectuez le processus manuellement.
```Shell
curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools | sudo -E bash
```
### Installation firmware avec emissary
Dans cet exemple, nous partirons de l'image OpenWrt avec Emissary suivante : ```openwrt-22.03.2-emissary-v2023.08.02-bec8917-bcm27xx-bcm2711-rpi-4-squashfs-factory.img```
1. Téléchargement de l'image : Téléchargez l'image depuis la [forge cadoles](https://forge.cadoles.com/arcad/emissary-firmware/releases)
Après le téléchargement, vous obtiendrez un fichier au format .gz.</br>
2. Extraction : Exécutez la commande suivante pour extraire l'image (remplacez les ```**``` par les détails spécifiques du fichier) : ```gunzip openwrt-**-emissary-***-****-**-**-rpi-4-squashfs-factory.img.gz```
3. Déplacement dans le dossier : Placez-vous dans le dossier contenant le fichier .img.
4. Connexion de la carte SD : Branchez la carte SD sur votre machine. Pour vérifier l'identification de la carte, vous pouvez utiliser la commande ```dmesg``` et examiner les dernières lignes (généralement /dev/sda).
5. Vérification du chemin d'accès : Confirmez le chemin d'accès à la carte SD (/dev/sd...).
6. Copie sur la carte SD : Lancez la copie sur la carte SD en utilisant la commande bpi-copy (remplacez le nom de l'image et le chemin d'accès à la carte SD) :
```Shell
sudo bpi-copy openwrt-22.03.2-emissary-v2023.08.02-bec8917-bcm27xx-bcm2711-rpi-4-squashfs-factory.img /dev/sda
```
Le résultat ressemblera à ceci :
```Shell
==============================================================
jeu. 03 août 2023 10:09:12 CEST
*** start COPY (blue led on ) .....
umount device: /dev/sda
umount /dev/sda1
umount /dev/sda2
==============================================================
IMGFILE=openwrt-22.03.2-emissary-v2023.08.02-bec8917-bcm27xx-bcm2711-rpi-4-squashfs-factory.img
==============================================================
img
8+1 enregistrements lus
8+1 enregistrements écrits
90475842 octets (90 MB, 86 MiB) copiés, 0,130052 s, 696 MB/s
86,3MiO 0:00:00 [ 648MiO/s] [ <=> ]
0+1381 enregistrements lus
0+1381 enregistrements écrits
*** end COPY (blue led off) .....
jeu. 03 août 2023 10:09:18 CEST
==============================================================
RUNTIME 0:6
OK!! You can remove the BOOTDISK /dev/sda now!!
```
Une fois la copie terminée, retirez la carte SD. Vous pouvez maintenant l'insérer dans le boîtier de destination.
Après avoir flashé la carte, assurez-vous que les commutateurs sont correctement positionnés (sélection du boot), insérez la carte SD et branchez la borne.
Connectez-vous à un port LAN du boîtier qui distribuera une adresse IP via DHCP. Vous pourrez ensuite utiliser SSH pour y accéder.
### OS pour banana-bpi fournit par bpi
Pour installer OpenWrt sur le BPI-R3, vous devez d'abord télécharger l'image ```bananapi_bpi-r3-sdcard.img.gz``` fourni par OpenWrt. Vous pouvez le télécharger depuis leur [page de téléchargement](https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/). Si vous ne trouvez pas le fichier directement, suivez ces indications :
1. Accédez à la page de téléchargement OpenWrt (cf image suivante).
2. Recherchez le dossier correspondant au modèle de votre matériel, dans ce cas bananapi_bpi-r3.
3. Téléchargez le fichier bananapi_bpi-r3-sdcard.img.gz.
![img](./../img/bpi-r3-download.png)
Après avoir téléchargé le fichier, vous pouvez continuer avec les étapes d'installation.
#### Flash du Firmware OpenWrt pour BPI
Suivez les étapes ci-dessous pour flasher la carte avec le firmware OpenWrt pour BPI :
1. Téléchargement de l'image : Si vous avez suivi les instructions précédentes, vous devriez avoir l'image de l'OS.
2. Extraction de l'image : Exécutez la commande suivante pour extraire l'image (remplacez les **** par les détails spécifiques du fichier) : ```gunzip bananapi_****.img.gz```
3. Placement de l'image : Placez-vous dans le dossier contenant le fichier .img.
4. Branchement de la carte SD : Branchez la carte SD sur votre machine. Pour vérifier son identification, utilisez ```dmesg``` et observez les dernières lignes (généralement sda).
5. Copie sur la carte SD : Lancez la copie sur la carte SD en utilisant la commande bpi-copy (remplacez les détails de l'image et le chemin d'accès à la carte SD) :
```Shell
sudo bpi-copy bananapi_bpi-r3-sdcard.img /dev/sda
```
Une fois la carte flashée, assurez-vous que le switch a tous ses jumpers orientés vers le haut (sélection du boot). Insérez ensuite la carte SD et branchez la borne.
Assurez-vous que votre carte réseau est configurée comme suit :
- Réseau : 192.168.1.0/24
- Passerelle : 192.168.1.1
Brancher votre câble RJ45 sur le port VLAN1, et connectez vous en ssh.(temps de boot moins de 30 secondes)
```Shell
ssh root@192.168.1.1
```
Pour la première connexion, aucun mot de passe n'est requis.
## FAQ
### Sélection du Système de Boot
Pour choisir le système de boot, il suffit de manipuler un switch composé de quatre jumpers. Par défaut, ils sont tous en position haute, ce qui configure le démarrage à partir de la carte microSD.
![schéma du switch](./../img/bpi-r3-switch.png)
### Noms des Périphériques Réseau
Par défaut, les périphériques réseau sont disposés et nommés comme suit :
![Lan](./../img/bpi-r3-lan-pic.jpg)

BIN
doc/img/bpi-r3-case.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

BIN
doc/img/bpi-r3-download.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
doc/img/bpi-r3-lan-pic.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
doc/img/bpi-r3-switch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,16 +1,94 @@
# Compiler un firmware
> TODO
## Compiler un firmware préconfiguré
L'ensemble des cibles de construction préconfigurés sont disponibles dans le répertoire `targets/`.
Par exemple:
```shell
# Exemple: construire un firmware OpenWRT
# Télécharger localement les dernières archive du projet emissary
make download-emissary-release
# Pour le routeur Linksys WRT1200AC
# Puis...
# ... pour le routeur Linksys WRT1200AC
make linksys-wrt1200ac
# Pour le routeur Linksys WRT1900AC
# ... ou pour le routeur Linksys WRT1900AC
make linksys-wrt1900ac
# Pourt le router Linksys WRT3200ACM
# ... ou pour le routeur Linksys WRT3200ACM
make linksys-wrt3200acm
```
```
## Créer une nouvelle cible de construction
Dans ce tutoriel, nous allons voir comment créer une nouvelle cible de construction pour un nouvel appareil, ici un [Banana Pi R3](https://wiki.banana-pi.org/Banana_Pi_BPI-R3).
### Créer la nouvelle tâche Make
1. Dans le répertoire `targets/`, créer le fichier `bananapi.mk`
```shell
touch targets/bananapi.mk
```
2. Éditer le fichier `targets/bananapi.mk` pour créer la nouvelle tâche Make
```makefile
# On ajoute notre nouvelle tâche "bpi-r3" en dépendance de la tâche
# principale "all"
all: bpi-r3
# On créait une nouvelle tâche "bpi-r3" permettant de construire le
# firmware pour notre BananaPi R3
bpi-r3:
$(MAKE) \
OPENWRT_VERSION="snapshot" \
IMAGEBUILDER_URL="https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/openwrt-imagebuilder-mediatek-filogic.Linux-x86_64.tar.xz" \
ADDITIONAL_INSTALL="" \
OPENWRT_TARGET="mediatek/filogic" \
EMISSARY_ARCH="arm64" \
OPENWRT_PROFILE="bananapi_bpi-r3" \
build
```
**Explication des variables**
- `OPENWRT_VERSION`: Version d'OpenWRT à utiliser. _Normalement prédéfinie par le fichier `Makefile` principal mais ill est ici nécessaire de surcharger la variable car il n'existe à ce jour pas de version stable d'OpenWRT pour la BananaPi R3._
- `IMAGEBUILDER_URL`: URL à utiliser pour télécharger le "builder" OpenWRT. _Normalement prédéfinie par le fichier `Makefile` principal mais ill est ici nécessaire de surcharger la variable car il n'existe à ce jour pas de version stable d'OpenWRT pour la BananaPi R3._
- `ADDITIONAL_INSTALL`: Tâches Make d'installation supplémentaires à exécuter. Voir section suivante.
- `OPENWRT_TARGET`: "Cible" OpenWRT associée à l'appareil
- `EMISSARY_ARCH`: Architecture du binaire Emissary à déployer dans le firmware
- `OPENWRT_PROFILE`: "Profil" OpenWRT associé à l'appareil
3. Préparation.
Lancer la commande suivante pour télécharger (ou mettre à jours) les fichiers tar.gz nécessaire à la construction du firmware. Si cette commande n'a pas été exécutée au moins une fois, vous ne serez pas en mesure de construire le ou les firmwares nécessaires.
```shell
make download-emissary-release
```
4. Lancer la compilation du firmware
```shell
make bpi-r3
```
Les fichiers du firmware seront générés dans le répertoire `depot/bin/snapshot/mediatek/filogic/bananapi_bpi-r3/`
> 🛈 **Comment trouver les valeurs des variables `OPENWRT_TARGET` et `OPENWRT_PROFILE` ?**
>
> Après avoir trouvé votre appareil sur la [liste de compatibilité d'OpenWRT](https://openwrt.org/toh/start), rechercher l'URL de téléchargement du fichier du firmware, qui devrait ressembler à `https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/openwrt-mediatek-filogic-bananapi_bpi-r3-sdcard.img.gz`.
>
> La valeur de `OPENWRT_TARGET` est la chaîne comprenant les 2 répertoires juste après `targets/`, ici `mediatek/filogic`.
>
> La valeur de `OPENWRT_PROFILE` est la chaîne comprise entre la cible OpenWRT et le type/extension dans le nom de fichier, ici `bananapi_bpi-r3`.
### Personnaliser votre firmware
Afin de personnaliser votre firmware, vous pouvez déclarer des nouvelles tâches Make dans le répertoire `install/` et ensuite les référencer dans la variable `ADDITIONAL_INSTALL`.
Vous pouvez prendre exemple sur le ficher `install/raspberrypi.mk` qui par exemple déploie des fichiers de configuration UCI par défaut ainsi que des scripts [`uci-defaults`](https://openwrt.org/docs/guide-developer/uci-defaults).

1
emissary_release.txt Normal file
View File

@ -0,0 +1 @@
2024.3.13-stable.821.cec5c78

View File

@ -1,5 +0,0 @@
package emissary
config main 'agent'
option reconciliation_interval '60'
option server_url 'https://emissary.cadol.es'

View File

@ -1,35 +0,0 @@
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=50
STOP=50
start_service() {
config_load emissary
mkdir -p /usr/share/emissary
mkdir -p /var/lib/emissary
config_get emissary_reconciliation_interval agent 'reconciliation_interval' "60"
config_get emissary_server_url agent 'server_url' "https://emissary.cadol.es"
local config_file="/etc/emissary/agent.yml"
procd_open_instance emissary-agent
procd_set_param env EMISSARY_SERVER_URL="$emissary_server_url" EMISSARY_RECONCILIATION_INTERVAL="$emissary_reconciliation_interval"
procd_set_param command /usr/local/bin/emissary
procd_append_param command --workdir /usr/share/emissary
procd_append_param command --config "$config_file"
procd_append_param command agent run
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
procd_set_param file "$config_file"
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param pidfile /var/run/emissary-agent.pid
procd_close_instance
}
service_triggers()
{
# Reload service (restart) on emissary config changes
procd_add_reload_trigger "emissary"
}

View File

@ -1,30 +0,0 @@
#/bin/sh
set -e
main() {
local default_config="/etc/emissary/default.conf"
if [ ! -f "${default_config}" ]; then
exit 0
fi
source "${default_config}"
if [ ! -z "${EMISSARY_RECONCILIATION_INTERVAL}" ]; then
uci set "emissary.agent.reconciliation_interval=${EMISSARY_RECONCILIATION_INTERVAL}"
fi
if [ ! -z "${EMISSARY_SERVER_URL}" ]; then
uci set "emissary.agent.server_url=${EMISSARY_SERVER_URL}"
fi
# Commit modifications
uci commit
# Delete file
rm -f "${default_config}"
/etc/init.d/emissary-agent enable
}
main

3
install/bananapi.mk Normal file
View File

@ -0,0 +1,3 @@
install-bpi-r3-network-config:
mkdir -p files/etc/config
cp misc/bpi-r3/uci/network files/etc/config/network

6
install/common.mk Normal file
View File

@ -0,0 +1,6 @@
install-common-uci-defaults:
mkdir -p files/etc/uci-defaults
cp misc/common/uci-defaults/* files/etc/uci-defaults/
install-common-additional-agent-collectors: tools/yq/bin/yq
tools/yq/bin/yq -i '.agent.collectors += load("misc/common/agent/collectors.yml")' files/etc/emissary/agent.yml

View File

@ -1,4 +1,4 @@
install-emissary-files:
install-emissary-files: tools/yq/bin/yq tools/upx/bin/upx
mkdir -p files/etc/config
cp -r misc/emissary/config/* files/etc/config/
@ -8,6 +8,14 @@ install-emissary-files:
mkdir -p files/etc/uci-defaults
cp -r misc/emissary/uci-defaults/* files/etc/uci-defaults/
# Copy keep.d files
mkdir -p files/lib/upgrade/keep.d
cp -r misc/emissary/keep.d/* files/lib/upgrade/keep.d/
# Copy profile.d files
mkdir -p files/etc/profile.d
cp -r misc/emissary/profile.d/* files/etc/profile.d/
mkdir -p gitea-dl/emissary-agent_linux_$(EMISSARY_ARCH)
cd gitea-dl && tar -xzf emissary-agent_*_linux_$(EMISSARY_ARCH).tar.gz -C emissary-agent_linux_$(EMISSARY_ARCH)
@ -18,6 +26,15 @@ install-emissary-files:
# Patch agent config
tools/yq/bin/yq -i '.agent.serverUrl = "$${EMISSARY_SERVER_URL}"' files/etc/emissary/agent.yml
tools/yq/bin/yq -i '.agent.reconciliationInterval = "$${EMISSARY_RECONCILIATION_INTERVAL}"' files/etc/emissary/agent.yml
tools/yq/bin/yq -i '.agent.privateKeyPath = "/data/emissary/agent-key.json"' files/etc/emissary/agent.yml
tools/yq/bin/yq -i '.agent.controllers.persistence.stateFile = "/data/emissary/agent-state.json"' files/etc/emissary/agent.yml
tools/yq/bin/yq -i '.agent.controllers.sysupgrade.firmwareVersionCommand = ["sh", "-c", "source /etc/emissary_firmware && echo \"$$FIRMWARE_VERSION\""]' files/etc/emissary/agent.yml
tools/yq/bin/yq -i '.agent.controllers.app.dataDir = "/data/emissary/apps/data"' files/etc/emissary/agent.yml
tools/yq/bin/yq -i '.agent.controllers.app.downloadDir = "/data/emissary/apps/bundles"' files/etc/emissary/agent.yml
tools/yq/bin/yq -i '.sentry.dsn = "$${EMISSARY_SENTRY_DSN}"' files/etc/emissary/agent.yml
tools/yq/bin/yq -i '.sentry.environment = "$${EMISSARY_SENTRY_ENVIRONMENT}"' files/etc/emissary/agent.yml
tools/yq/bin/yq -i '.agent.controllers.status.claimURL = "$${EMISSARY_CONTROLLERS_STATUS_CLAIM_URL}"' files/etc/emissary/agent.yml
tools/yq/bin/yq -i '.agent.controllers.status.agentURL = "$${EMISSARY_CONTROLLERS_STATUS_AGENT_URL}"' files/etc/emissary/agent.yml
# Copy emissary binary
mkdir -p files/usr/local/bin
@ -25,10 +42,10 @@ install-emissary-files:
chmod +x files/usr/local/bin/emissary
# Set defaults
mkdir -p files/etc/emissary
rm -rf files/etc/emissary/default.conf
echo "EMISSARY_RECONCILIATION_INTERVAL='$(EMISSARY_RECONCILIATION_INTERVAL)'" > files/etc/emissary/default.conf
echo "EMISSARY_SERVER_URL='$(EMISSARY_SERVER_URL)'" >> files/etc/emissary/default.conf
mkdir -p files/data/emissary
rm -rf files/data/emissary/default.conf
echo "EMISSARY_RECONCILIATION_INTERVAL='$(EMISSARY_RECONCILIATION_INTERVAL)'" > files/data/emissary/default.conf
echo "EMISSARY_SERVER_URL='$(EMISSARY_SERVER_URL)'" >> files/data/emissary/default.conf
# Compress emissary binary
tools/upx/bin/upx -9 files/usr/local/bin/emissary

3
install/raspberrypi.mk Normal file
View File

@ -0,0 +1,3 @@
install-rpi-network-config:
mkdir -p files/etc/config
cp misc/rpi/uci/network files/etc/config/network

3
install/turris-omnia.mk Normal file
View File

@ -0,0 +1,3 @@
install-turris-omnia-uci-defaults:
mkdir -p files/etc/uci-defaults
cp misc/turris/omnia/uci-defaults/* files/etc/uci-defaults/

View File

@ -2,6 +2,6 @@ install-x86-network-config:
mkdir -p files/etc/config
cp misc/x86/uci/network files/etc/config/network
install-x86-firewall-rules:
install-x86-uci-defaults:
mkdir -p files/etc/uci-defaults
cp misc/x86/uci-defaults/99-x86-firewall-rules.sh files/etc/uci-defaults/99-x86-firewall-rules.sh
cp misc/x86/uci-defaults/* files/etc/uci-defaults/

24
misc/bpi-r3/uci/network Normal file
View File

@ -0,0 +1,24 @@
config interface 'lan'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
list ports 'sfp2'
option ip6assign '60'
config interface 'wan'
option type 'bridge'
list ports 'eth1'
list ports 'wan'
option proto 'dhcp'
config device
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

View File

@ -0,0 +1,9 @@
- name: network-interfaces
command: ip
args:
- addr
- show
- name: emissary-firmware
command: cat
args:
- /etc/emissary_firmware

View File

@ -0,0 +1,79 @@
#!/bin/sh
MIN_DISK_SPACE_MB=1000
list_disks() {
lsblk -o NAME -r -d -n
}
main() {
local disks=$(list_disks)
local found_free_space=0
local found_device=""
for device_name in ${disks}; do
local device="/dev/${device_name}"
echo "Checking disk '$device'..."
local disk_free_space="$(parted $device unit MB print free 2>/dev/null | grep 'Free Space' | tail -n1 | awk '{ print $3 }')"
disk_free_space=${disk_free_space%MB}
disk_free_space=$(printf '%.0f' "${disk_free_space:-0}")
echo "Free space on disk: ${disk_free_space}"
if [ ! -z "${disk_free_space}" ]; then
if [ ${disk_free_space} -gt ${found_free_space} ]; then
found_free_space=${disk_free_space}
found_device=${device}
fi
fi
done
if [ -z "${found_device}" ] || [ ${MIN_DISK_SPACE_MB} -gt ${found_free_space} ]; then
echo "No device with sufficient remaining disk space, exiting."
exit 1
fi
echo "Creating new partition on '${found_device}' with remaining disk free space"
local last_partition_end_mb=$(parted "$found_device" unit MB print | awk '/^ [0-9]+ / {start=$3} END {print int(start)}')
if [ "${last_partition_end_mb}" != "0" ]; then
parted -s "${found_device}" -f -a opt mkpart primary "${last_partition_end_mb}MB" '100%'
else
parted -s "${found_device}" -f -a opt mkpart primary '0%' '100%'
fi
sync
local last_partition_number=$(parted ${found_device} print | grep -o -e '^ [0-9]*' | awk '{print $1}' | tail -n 1)
local new_partition_device=$(lsblk -r -n -o PARTN,NAME ${found_device} | awk -v partition_number="${last_partition_number}" '$1 == partition_number {print $2}')
mkfs.ext4 -F /dev/${new_partition_device}
if [ $? -ne 0 ]; then
echo "Could not initialize filesystem on new partition !"
exit 1
fi
local new_partition_uuid=$(lsblk -r -n -o PARTN,UUID ${found_device} | awk -v partition_number="${last_partition_number}" '$1 == partition_number {print $2}')
if [ -z "${new_partition_uuid}" ]; then
echo "Could not find partition with number '${last_partition_number}' !"
exit 1
fi
umount -f /data
rm -rf /data
mkdir -p /data
uci add fstab mount
uci set fstab.@mount[-1].target='/data'
uci set fstab.@mount[-1].uuid=${new_partition_uuid}
uci set fstab.@mount[-1].enabled='1'
uci commit fstab
reload_config
}
main

View File

@ -3,6 +3,7 @@
set -e
main() {
# Update default firewall ruleset
uci add firewall rule
uci set firewall.@rule[-1].name='Allow SSH on WAN'
uci set firewall.@rule[-1].src='wan'
@ -25,15 +26,12 @@ main() {
uci set firewall.@rule[-1].target='ACCEPT'
uci commit firewall
service firewall restart
# Forward DNS queries to public DNS
( uci -q delete dhcp.@dnsmasq[0].server || exit 0 )
uci add_list dhcp.@dnsmasq[0].server="8.8.8.8"
uci add_list dhcp.@dnsmasq[0].server="8.8.4.4"
# Disable DNS-rebind protection
uci set dhcp.@dnsmasq[0].rebind_protection='0'
uci commit dhcp
service dnsmasq restart
reload_config
}
main

View File

@ -2,4 +2,8 @@ package emissary
config main 'agent'
option reconciliation_interval '60'
option server_url 'https://emissary.cadol.es'
option server_url 'https://emissary.cadol.es'
option claim_url 'https://emissary.cadol.es/hq/claim/%v'
option agent_url 'https://emissary.cadol.es/hq/agents/%v'
option sentry_dsn ''
option sentry_environment ''

View File

@ -1,26 +1,30 @@
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=50
START=99
STOP=50
start_service() {
config_load emissary
mkdir -p /usr/share/emissary
mkdir -p /var/lib/emissary
mkdir -p /data/emissary
config_get emissary_reconciliation_interval agent 'reconciliation_interval' "60"
config_get emissary_server_url agent 'server_url' "https://emissary.cadol.es"
config_get emissary_agent_claim_url agent 'claim_url' "https://emissary.cadol.es/hq/claim/%v"
config_get emissary_agent_url agent 'agent_url' "https://emissary.cadol.es/hq/agents/%v"
config_get emissary_sentry_dsn agent 'sentry_dsn' ""
config_get emissary_sentry_environment agent 'sentry_environment' ""
local config_file="/etc/emissary/agent.yml"
procd_open_instance emissary-agent
procd_set_param env EMISSARY_SERVER_URL="$emissary_server_url" EMISSARY_RECONCILIATION_INTERVAL="$emissary_reconciliation_interval"
procd_set_param env EMISSARY_SERVER_URL="$emissary_server_url" EMISSARY_RECONCILIATION_INTERVAL="$emissary_reconciliation_interval" EMISSARY_SENTRY_DSN="$emissary_sentry_dsn" EMISSARY_SENTRY_ENVIRONMENT="$emissary_sentry_environment" EMISSARY_CONTROLLERS_STATUS_CLAIM_URL="$emissary_agent_claim_url" EMISSARY_CONTROLLERS_STATUS_AGENT_URL="$emissary_agent_url"
procd_set_param command /usr/local/bin/emissary
procd_append_param command --workdir /usr/share/emissary
procd_append_param command --config "$config_file"
procd_append_param command agent run
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-17280}
procd_set_param file "$config_file"
procd_set_param stdout 1
procd_set_param stderr 1

View File

@ -0,0 +1,3 @@
/etc/machine-id
/data/emissary/agent-key.json
/data/emissary/apps/data

View File

@ -0,0 +1,3 @@
#!/bin/sh
export PATH="${PATH}:/usr/local/bin"

View File

@ -3,7 +3,7 @@
set -e
main() {
local default_config="/etc/emissary/default.conf"
local default_config="/data/emissary/default.conf"
if [ ! -f "${default_config}" ]; then
exit 0
@ -17,6 +17,12 @@ main() {
if [ ! -z "${EMISSARY_SERVER_URL}" ]; then
uci set "emissary.agent.server_url=${EMISSARY_SERVER_URL}"
fi
if [ ! -z "${EMISSARY_SENTRY_DSN}" ]; then
uci set "emissary.agent.sentry_dsn=${EMISSARY_SENTRY_DSN}"
fi
if [ ! -z "${EMISSARY_SENTRY_ENVIRONMENT}" ]; then
uci set "emissary.agent.sentry_environment=${EMISSARY_SENTRY_ENVIRONMENT}"
fi
# Commit modifications
uci commit

14
misc/jenkins/Dockerfile Normal file
View File

@ -0,0 +1,14 @@
FROM reg.cadoles.com/proxy_cache/library/ubuntu:22.04
ARG HTTP_PROXY=
ARG HTTPS_PROXY=
ARG http_proxy=
ARG https_proxy=
# Install dev environment dependencies
RUN export DEBIAN_FRONTEND=noninteractive &&\
apt-get update -y &&\
apt-get install -y --no-install-recommends curl ca-certificates build-essential wget unzip tar git jq gawk python3 rsync file python3-distutils
# Add LetsEncrypt certificates
RUN curl -k https://forge.cadoles.com/Cadoles/Jenkins/raw/branch/master/resources/com/cadoles/common/add-letsencrypt-ca.sh | bash

9
misc/rpi/uci/network Normal file
View File

@ -0,0 +1,9 @@
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'

View File

@ -6,24 +6,14 @@ ssh-copy-id root@${OPENWRT_DEVICE}
TARGET_ARCH=$(ssh root@${OPENWRT_DEVICE} source /etc/os-release \&\& echo \${OPENWRT_BOARD:-\$LEDE_BOARD})
FIRMWARE_FILE=bin/${OPENWRT_VERSION}/${TARGET_ARCH}/${OPENWRT_PROFILE}/openwrt-*-squashfs-factory.img
FIRMWARE_FILENAME=${FIRMWARE_FILENAME:-openwrt-*-sysupgrade.img*}
FIRMWARE_FILE=bin/${OPENWRT_VERSION}/${TARGET_ARCH}/${OPENWRT_PROFILE}/${FIRMWARE_FILENAME}
FIRMWARE_FILE=${CUSTOM_FIRMWARE_FILE:-$FIRMWARE_FILE}
NOW=$(date +%Y-%m-%d)
BACKUP_FILENAME="backup_${OPENWRT_DEVICE}_${NOW}.tar.gz"
ssh root@${OPENWRT_DEVICE} \
rm -f "/tmp/${BACKUP_FILENAME}" \
\&\& sysupgrade -b "/tmp/${BACKUP_FILENAME}"
mkdir -p tmp/backups
scp "root@${OPENWRT_DEVICE}:/tmp/${BACKUP_FILENAME}" ./tmp/backups/
ssh root@${OPENWRT_DEVICE} \
mkdir -p /tmp/firmwares \
\&\& rm /tmp/firmwares/* \|\| exit 0;
scp $FIRMWARE_FILE root@${OPENWRT_DEVICE}:/tmp/firmwares/
ssh root@${OPENWRT_DEVICE} sysupgrade --force -p -v -n "/tmp/firmwares/$(basename $FIRMWARE_FILE)"
ssh root@${OPENWRT_DEVICE} sysupgrade --force -v -u "/tmp/firmwares/$(basename $FIRMWARE_FILE)"

View File

@ -1,18 +0,0 @@
#!/bin/bash
set -o pipefail
NOW=$(date +%Y-%m-%d)
BACKUP_DATE=${BACKUP_DATE:-${NOW}}
BACKUP_FILENAME="backup_${OPENWRT_DEVICE}_${NOW}.tar.gz"
printf "%s" "Waiting for ${OPENWRT_DEVICE} ..."
while ! ping -c 1 -n -w 1 ${OPENWRT_DEVICE} &> /dev/null
do
printf "%c" "."
done
printf "\n%s\n" "Server is back online"
scp "./tmp/backups/${BACKUP_FILENAME}" root@${OPENWRT_DEVICE}:/tmp/
ssh root@${OPENWRT_DEVICE} sysupgrade -r "/tmp/${BACKUP_FILENAME}"

View File

@ -0,0 +1,21 @@
#!/bin/sh
set -eo pipefail
block info
DISK=/dev/mmcblk0
PARTITION="${DISK}p2"
parted -s -a opt "$DISK" "resizepart 2 100%"
FS_SIZE="$(unsquashfs -s "$PARTITION" | grep -o 'Filesystem size [0-9]* bytes' | grep -o '[0-9][0-9]*')"
FS_OFFSET="$(expr '(' "$FS_SIZE" + 65535 ')' / 65536 '*' 65536)"
LOOP_DEVICE="$(losetup -f --show -o "$FS_OFFSET" "$PARTITION")"
e2fsck -y -f "$LOOP_DEVICE"
resize2fs "$LOOP_DEVICE"
rm -f /etc/uci-defaults/99-resize-disk.sh
reboot

View File

@ -11,15 +11,13 @@ main() {
fi
# Accumulate data to create unique machine id
local mac_addresses=$(cat /sys/class/net/*/address | uniq | sort)
local device_model=$(cat /sys/firmware/devicetree/base/model)
local urandom_seed=$(cat /etc/urandom.seed | sha256sum | cut -d ' ' -f1)
local random_uuid=$(cat /proc/sys/kernel/random/uuid)
# Ensure destination directory
mkdir -p "$(dirname "$machine_id_file")"
# Generate SHA256 hash of data and save it to $machine_id_file
echo "$mac_adresses $device_model $urandom_seed" | sha256sum | cut -d ' ' -f1 > "$machine_id_file"
echo "$random_uuid" | sha256sum | cut -d ' ' -f1 > "$machine_id_file"
}
main

View File

@ -1,3 +1,8 @@
luci
openssh-server
openssh-sftp-server
openssh-sftp-server
parted
lsblk
e2fsprogs
block-mount
kmod-fs-ext4

10
targets/bananapi.mk Normal file
View File

@ -0,0 +1,10 @@
all: bpi-r3
bpi-r3:
$(MAKE) \
ADDITIONAL_INSTALL="install-bpi-r3-network-config" \
ADDITIONAL_OPENWRT_PACKAGES="block-mount kmod-fs-ext4 kmod-usb-storage kmod-usb2" \
OPENWRT_TARGET="mediatek/filogic" \
EMISSARY_ARCH="arm64" \
OPENWRT_PROFILE="bananapi_bpi-r3" \
build

View File

@ -2,7 +2,8 @@ all: x86-generic
x86-generic:
$(MAKE) \
ADDITIONAL_INSTALL="install-x86-network-config install-x86-firewall-rules" \
ADDITIONAL_INSTALL="install-x86-network-config" \
ADDITIONAL_OPENWRT_PACKAGES="dmidecode" \
OPENWRT_TARGET="x86/generic" \
EMISSARY_ARCH="386" \
OPENWRT_PROFILE="generic" \

24
targets/linksys-wrt.mk Normal file
View File

@ -0,0 +1,24 @@
all: linksys-wrtXXXXac
linksys-wrtXXXXac: linksys-wrt1200ac linksys-wrt1900ac linksys-wrt3200acm
linksys-wrt1200ac:
$(MAKE) \
OPENWRT_TARGET="mvebu/cortexa9" \
EMISSARY_ARCH="armv6" \
OPENWRT_PROFILE="linksys_wrt1200ac" \
build
linksys-wrt1900ac:
$(MAKE) \
OPENWRT_TARGET="mvebu/cortexa9" \
EMISSARY_ARCH="armv7" \
OPENWRT_PROFILE="linksys_wrt1900ac-v2" \
build
linksys-wrt3200acm:
$(MAKE) \
OPENWRT_TARGET="mvebu/cortexa9" \
EMISSARY_ARCH="armv7" \
OPENWRT_PROFILE="linksys_wrt3200acm" \
build

View File

@ -1,12 +0,0 @@
all: linksys-wrtXXXXac
linksys-wrtXXXXac: linksys-wrt1200ac linksys-wrt1900ac linksys-wrt3200acm
linksys-wrt1200ac:
$(MAKE) OPENWRT_TARGET="mvebu/cortexa9" EMISSARY_ARCH="armv6" OPENWRT_PROFILE="linksys_wrt1200ac" build
linksys-wrt1900ac:
$(MAKE) OPENWRT_TARGET="mvebu/cortexa9" EMISSARY_ARCH="armv6" OPENWRT_PROFILE="linksys_wrt1900ac-v2" build
linksys-wrt3200acm:
$(MAKE) OPENWRT_TARGET="mvebu/cortexa9" EMISSARY_ARCH="armv6" OPENWRT_PROFILE="linksys_wrt3200acm" build

View File

@ -2,7 +2,7 @@ all: rpi-4 rpi-3
rpi-4:
$(MAKE) \
ADDITIONAL_INSTALL="" \
ADDITIONAL_INSTALL="install-rpi-network-config" \
OPENWRT_TARGET="bcm27xx/bcm2711" \
EMISSARY_ARCH="arm64" \
OPENWRT_PROFILE="rpi-4" \
@ -10,7 +10,7 @@ rpi-4:
rpi-3:
$(MAKE) \
ADDITIONAL_INSTALL="" \
ADDITIONAL_INSTALL="install-rpi-network-config" \
OPENWRT_TARGET="bcm27xx/bcm2710" \
EMISSARY_ARCH="arm64" \
OPENWRT_PROFILE="rpi-3" \

12
targets/turris.mk Normal file
View File

@ -0,0 +1,12 @@
all: turris
turris: omnia
omnia:
$(MAKE) \
ADDITIONAL_INSTALL="install-turris-omnia-uci-defaults" \
ADDITIONAL_OPENWRT_PACKAGES="losetup squashfs-tools-unsquashfs resize2fs e2fsprogs parted block-mount" \
OPENWRT_TARGET="mvebu/cortexa9" \
EMISSARY_ARCH="armv7" \
OPENWRT_PROFILE="cznic_turris-omnia" \
build