Wiki source code of Armbian OS instruction

Version 123.1 by Kilight Cao on 2025/02/24 11:54

Hide last authors
Kilight Cao 15.1 1 **Table of Contents:**
2
3 {{toc/}}
4
Edwin Chen 1.1 5
Xiaoling 50.1 6
7
Xiaoling 48.2 8 = 1.  Overview =
9
10
Edwin Chen 1.1 11 This is a general instruction for the use of Armbian base OS of Dragino devices. Current models include:
12
13 * HP0A
14 * HP0C
15 * LPS8v2
Edwin Chen 55.1 16 * MS20
Edwin Chen 1.1 17
Xiaoling 90.3 18 (% style="display:none" %)
Xiaoling 90.2 19
20
Xiaoling 48.2 21 = 2.  Development Guide =
22
23
Xiaoling 70.4 24 For advanced users to develop Driver/ Linux etc.
Edwin Chen 4.1 25
Kilight Cao 25.1 26
Xiaoling 48.2 27 == 2.1  How to recompile LoRaWAN Concentrator Driver ( dragino-fwd package). ==
Edwin Chen 4.1 28
29
Xiaoling 48.3 30 === (% style="color:blue" %)**Step 1. Clone dragino-fwd package**(%%) ===
Edwin Chen 4.1 31
Kilight Cao 30.1 32
Xiaoling 70.4 33 **Requirements:**
Xiaoling 48.3 34
Xiaoling 70.4 35 **~ (% style="background-color:yellow; color:green" %)sudo apt install -y libsqlite3-dev(%%)**
Kilight Cao 30.1 36
Xiaoling 70.4 37 **~ (% style="background-color:yellow; color:green" %)sudo apt install -y libftdi1-dev(%%)**
Kilight Cao 11.1 38
Xiaoling 48.3 39
Xiaoling 70.4 40 **Run command clone dragino-fwd package: (% style="background-color:yellow; color:green" %)git clone https:~/~/github.com/dragino/dragino_fwd_src.git(%%)**
Kilight Cao 11.1 41
Xiaoling 70.4 42
Kilight Cao 11.1 43 [[image:image-20220527151010-1.png]]
44
45
Xiaoling 48.3 46 === (% style="color:blue" %)**Step 2. Compile dragino_fwd**(%%) ===
Kilight Cao 48.1 47
Kilight Cao 11.1 48
Xiaoling 70.4 49 **After cloning is complete, Run the command starts compiling:**
Xiaoling 48.3 50
Xiaoling 70.5 51 (% style="background-color:yellow; color:green" %)**Compile HP0C/HP0A fwd:  ./hp0z-make-deb.sh c**
Xiaoling 70.4 52
Xiaoling 70.5 53
Kilight Cao 11.1 54 The following example compilers HP0C fwd.
55
56 [[image:image-20220527153913-3.png]]
57
58
59
Xiaoling 70.5 60 When the compilation is complete a** (% style="color:blue" %)draginofwd-*.deb(%%) **package is generated.
61
Kilight Cao 11.1 62 [[image:image-20220527154311-4.png||height="385" width="773"]]
63
Kilight Cao 25.1 64
Xiaoling 48.3 65 === (% style="color:blue" %)**Step 3. Install the dragino_fwd**(%%) ===
Kilight Cao 11.1 66
Kilight Cao 14.1 67
Xiaoling 70.4 68 **Run command:**
Kilight Cao 11.1 69
Xiaoling 70.5 70 (% style="background-color:yellow; color:green" %)**dpkg -i draginofwd-*.deb **
Kilight Cao 11.1 71
Xiaoling 70.4 72
Kilight Cao 11.1 73 [[image:image-20220527154811-5.png]]
74
75
Xiaoling 48.3 76 === (% style="color:blue" %)**Step 4. Test**(%%) ===
Kilight Cao 14.1 77
Xiaoling 48.3 78
Xiaoling 70.5 79 **Check the dragino_fwd log:**
Kilight Cao 11.1 80
Xiaoling 70.5 81 (% style="background-color:yellow; color:green" %)**journalctl -u draginofwd -f**
Kilight Cao 11.1 82
Xiaoling 70.4 83
Kilight Cao 13.1 84 [[image:image-20220527165221-7.png||height="182" width="931"]]
Kilight Cao 11.1 85
Xiaoling 48.3 86
Xiaoling 70.5 87 **Start/stop dragino_fwd via systemctl:**
Kilight Cao 11.1 88
Xiaoling 70.5 89 (% style="background-color:yellow; color:green" %)**systemctl start draginofwd**
Kilight Cao 13.1 90
Xiaoling 70.5 91 (% style="background-color:yellow; color:green" %)**systemctl stop draginofwd**
Xiaoye 46.1 92
Kilight Cao 13.1 93
Xiaoling 48.3 94 == 2.2  How to clone Complete OS on the EMMC to SD card ==
Kilight Cao 27.1 95
Xiaoling 48.3 96
Xiaoye 113.1 97 **2.2.1 Prepare a USB flash drive/SD card and plug it into the USB port of the gateway.**
Xiaoling 67.2 98
Xiaoye 51.1 99
Xiaoye 120.1 100 **2.2.2 Mounting a USB Flash Drive/SD Card in the Linux CLI**
Xiaoye 114.1 101
102
Xiaoye 120.1 103 (% id="cke_bm_13244S" style="display:none" %) [[image:image-20241107100929-2.png||height="208" width="669"]]
Xiaoye 51.1 104
Xiaoye 120.1 105 mount /dev/sda1 /mnt/
Xiaoye 51.1 106
107
Xiaoye 114.1 108 **2.2.3 Using the dd command, copy Emmc as an img file**
109
110
Xiaoye 120.1 111 [[image:image-20241107100901-1.png||height="269" width="994"]]
Xiaoye 114.1 112
113
Xiaoye 120.1 114 dd if=/dev/mmcblk2 of=/mnt/custom.img bs=1M count=3686 status=progress
Xiaoye 114.1 115
Xiaoye 120.1 116
Xiaoye 113.1 117 **2.2.4 Export the img file and follow the steps in 2.3 for burning**
Xiaoye 51.1 118
119
Xiaoye 120.1 120
Xiaoye 102.1 121 == 2.3  How to flash a new image(OS) to the gateway(LPS8V2) ==
Xiaoye 98.1 122
123
Xiaoye 102.1 124 Since the gateway has a large system, you need to use the sd card to reflash the system for the gateway
Xiaoye 98.1 125
Xiaoye 102.1 126
127 //2.3.1: Making an SD card with the new image//
128
129 //2.3.2: Instal the SD card to the gateway//
130
131 //2.3.3: Flash the image to the gateway's built memory from the SD card//
132
133 //2.3.4: Finished the process of flash and power cycle the gateway//
134
135
Xiaoye 98.1 136 ==== (% style="background-color:yellow" %)**//Preparations~://**(%%) ====
137
Xiaoye 102.1 138 1. Prepare an SD card
139 1. Prepare a card reader device
Kilight Cao 112.1 140 1. Download the OS image from the release.image~: **[[draginolps8v2-release-v1.7>>http://repo.dragino.com/release/hp0c-image/]]**
Xiaoye 98.1 141 1. A Flash software tool ( Such as v1.7.9 from [[balenaEtcher>>url:https://www.balena.io/etcher/]] )
Xiaoye 102.1 142 1. SD Card [[format>>url:http://repo.dragino.com/release/tool/PanasonicSDFormatter.zip]] tool
Xiaoye 98.1 143
Xiaoye 102.1 144 === **2.3.1 Making an SD Card with the new image** ===
145
146
Kilight Cao 97.1 147 ==== Step 1.  Formatting the SD Card ====
148
149 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0D/WebHome/image-20220609111027-9.png?rev=1.1||alt="image-20220609111027-9.png" height="318" width="292"]]
150
151
152 ==== Step 2. Select the OS image ====
153
154 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0D/WebHome/image-20220609104907-8.png?rev=1.1||alt="image-20220609104907-8.png" height="435" width="689"]]
155
156
157 ==== Step 3. Select the target ====
158
159 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0D/WebHome/image-20220609104637-2.png?rev=1.1||alt="image-20220609104637-2.png" height="436" width="690"]]
160
161 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0D/WebHome/image-20220609104701-3.png?rev=1.1||alt="image-20220609104701-3.png" height="436" width="690"]]
162
163
164 ==== Step 4. Flash start ====
165
166 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0D/WebHome/image-20220609104727-4.png?rev=1.1||alt="image-20220609104727-4.png" height="435" width="689"]]
167
168 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0D/WebHome/image-20220609104741-5.png?rev=1.1||alt="image-20220609104741-5.png" height="434" width="687"]]
169
170
171
Xiaoye 102.1 172 === **2.3.2 Instal the SD card to the gateway** ===
Xiaoling 67.2 173
Xiaoye 98.1 174 1. Open the device's enclosure, and put the SD card into the SD card slot
Xiaoye 51.1 175
Xiaoye 102.1 176 [[image:image-20230712201032-1.png]]
Xiaoye 51.1 177
Kilight Cao 97.1 178
Xiaoye 102.1 179 2. Power the gateway with 5V2A, and access the gateway's Ethernet port to your PC
Kilight Cao 97.1 180
Xiaoye 102.1 181 [[image:image-20230712201458-3.png||height="649" width="832"]]
Kilight Cao 97.1 182
183
Xiaoye 102.1 184 Note: The PWR LED on red
Kilight Cao 97.1 185
Xiaoye 102.1 186 The  LAN LED blink
Kilight Cao 97.1 187
Xiaoye 102.1 188 The SYS LED on red
Kilight Cao 97.1 189
Xiaoye 102.1 190
191
Kilight Cao 115.1 192 === **3.2.3 Flash the image to the gateway's built memory from the SD card(LPS8v2)** ===
Xiaoye 102.1 193
194
195 Access the gateway Linux CLI to flash the image to the gateway's built memory
196
197
198 * **Use the IP address to access the gateway CLI**
199
Xiaoye 98.1 200 Users can access the gateway CLI via the SSH protocol. Make sure your PC and the gateway are connected to the same network, then use a SSH tool (such as [[putty>>url:http://www.chiark.greenend.org.uk/~~sgtatham/putty/download.html]] in Windows) to access it.
Kilight Cao 97.1 201
202
203 IP address:  IP address of gateway or **Fallback IP**(172.31.255.254)
204
205 Port:  22
206
207 User Name:      (% style="color:blue" %)**root**
208
209 Password:         (% style="color:blue" %)**dragino**(%%) (default)
210
211 //After logging in, you will be in the gateway CLI and can enter commands as shown below.//
212
213
214 [[image:image-20230508155357-1.png||height="225" width="634"]]
215
216
Xiaoling 70.4 217 **Run command:**
Kilight Cao 27.1 218
Kilight Cao 112.1 219 draginolps8v2-release-chirpsrtack-v1.7-240725 image :
Kilight Cao 27.1 220
Kilight Cao 112.1 221 (% style="background-color:#ffff00; color:#008000" %)** flash_emmc /usr/local/image/dragino-LPS8V2-ChirpStack-240725-1.img **
Xiaoling 70.4 222
Kilight Cao 112.1 223 draginolps8v2-release-ttnstack-v1.7-240712 image :
Kilight Cao 27.1 224
Kilight Cao 112.1 225 (% style="background-color:#ffff00; color:#008000" %)** flash_emmc /usr/local/image/dragino-LPS8V2-TTN-231124.img**
Kilight Cao 28.1 226
Kilight Cao 112.1 227 [[image:image-20241008091850-2.png]]
Kilight Cao 27.1 228
Kilight Cao 112.1 229 (% style="color:red" %)**Note: Note: After the flash is completed, please power off the device (run the command halt) and disconnect the power supply, and then unplug the SD card.**
Xiaoling 70.7 230
Kilight Cao 27.1 231
Kilight Cao 121.1 232 === **3.2.4 Flash the image to the gateway's built memory from the SD card(MS48-LR/LG01v2)** ===
Kilight Cao 115.1 233
234
Kilight Cao 121.1 235 Download the OS image from the release.image~: **[[MS48-LR-image>>https://www.dropbox.com/scl/fi/ug25bbwyk6gnqjnsee2m1/dragino-MS48-LR-231124.rar?rlkey=bqva7hkeft0m3haiui5uj12sv&st=ii6mp2g7&dl=0]] [[LG01v2-image>>https://www.dropbox.com/scl/fi/g0si61lcrvdjyto4ma951/dragino-lg01v2-1.7-0210.zip?rlkey=t03oqo493r2p7ign488rs2jsv&dl=0]]**
Kilight Cao 115.1 236
237
238 Access the gateway Linux CLI to flash the image to the gateway's built memory
239
240 * **Use the IP address to access the gateway CLI**
241
242 Users can access the gateway CLI via the SSH protocol. Make sure your PC and the gateway are connected to the same network, then use a SSH tool (such as [[putty>>url:http://www.chiark.greenend.org.uk/~~sgtatham/putty/download.html]] in Windows) to access it.
243
244 IP address:  IP address of gateway or **Fallback IP**(172.31.255.254)
245
246 Port:  22
247
248 User Name:      **root**
249
250 Password:         **dragino** (default)
251
252 //After logging in, you will be in the gateway CLI and can enter commands as shown below.//
253
254 [[image:https://wiki.dragino.com/xwiki/bin/downloadrev/Main/Armbian%20OS%20instruction/WebHome/image-20230508155357-1.png?rev=1.1&width=634&height=225||alt="image-20230508155357-1.png" height="225" width="634"]]
255
256 **Run command:**
257
258 **nand-sata-install**
259
260 [[image:https://wiki.dragino.com/xwiki/bin/downloadrev/Main/Armbian%20OS%20instruction/WebHome/image-20220602112051-1.png?rev=1.1||alt="image-20220602112051-1.png"]]
261
262 Select the **"Boot from eMMC - system on eMMC".**
263
264 [[image:https://wiki.dragino.com/xwiki/bin/downloadrev/Main/Armbian%20OS%20instruction/WebHome/image-20220602112058-2.png?rev=1.1&width=646&height=292||alt="image-20220602112058-2.png" height="292" width="646"]]
265
266 [[image:https://wiki.dragino.com/xwiki/bin/downloadrev/Main/Armbian%20OS%20instruction/WebHome/image-20220602112106-3.png?rev=1.1&width=643&height=301||alt="image-20220602112106-3.png" height="301" width="643"]]
267
268 Select the **"1  ext4"**
269
270 [[image:https://wiki.dragino.com/xwiki/bin/downloadrev/Main/Armbian%20OS%20instruction/WebHome/image-20220602112113-4.png?rev=1.1&width=642&height=271||alt="image-20220602112113-4.png" height="271" width="642"]]
271
272 It takes 4-5 minutes to burn from SD card to eMMC
273
274 [[image:https://wiki.dragino.com/xwiki/bin/downloadrev/Main/Armbian%20OS%20instruction/WebHome/image-20220602112119-5.png?rev=1.1&width=641&height=309||alt="image-20220602112119-5.png" height="309" width="641"]]
275
276 [[image:https://wiki.dragino.com/xwiki/bin/downloadrev/Main/Armbian%20OS%20instruction/WebHome/image-20220602112125-6.png?rev=1.1&width=640&height=281||alt="image-20220602112125-6.png" height="281" width="640"]]
277
278 [[image:https://wiki.dragino.com/xwiki/bin/downloadrev/Main/Armbian%20OS%20instruction/WebHome/image-20220602112131-7.png?rev=1.1&width=638&height=241||alt="image-20220602112131-7.png" height="241" width="638"]]
279
280 **Note: After the flash is complete, power off the device and then remove the SD card.**
281
282
Kilight Cao 123.1 283
284 === **3.2.5 Trouble Shooting** ===
285
286
287 ==== **Why is no space displayed after flash LPS8V2  built-in TTN image** ====
288
289 Because the space that emmc can burn is only 3.6G memory, it displays the "No space" error,
290
291 The error does not affect the flash image and gateway work.
292
293 [[image:image-20250224114945-1.png]]
294
295
Kilight Cao 107.1 296 == 2.4 How to extend the gateway size of memory with SD card ==
Xiaoling 67.2 297
Xiaoling 72.2 298
Kilight Cao 107.1 299 Users can use the SD card slot to expand the gateway memory size by following the steps below
300
301
302 === 2.4.1 View SD card information ===
303
304 (% class="box infomessage" %)
305 (((
306 fdisk -l
307 )))
308
309 [[image:image-20230831150518-3.png]]
310
311
312 === 2.4.2 Displays the current file system disk usage statistics on Linux systems ===
313
314
315 (% class="box infomessage" %)
316 (((
317 df -h
318 )))
319
320 [[image:image-20230831150341-2.png]]
321
322
323 === 2.4.3 Mount SD card ===
324
325
326 (% class="box infomessage" %)
327 (((
328 mkdir /mnt/sd
329
330 mount /dev/mmcblk0p1 /mnt/sd
331 )))
332
333 After the mount is successful to check the file system disk usage on the Linux system again:
334
335 [[image:image-20230831151432-4.png]]
336
337
338 If the mount fails, you can format the file system and try the mount again
339
340 (% class="box infomessage" %)
341 (((
342 mkfs.ext4 /dev/mmcblk0p1
343 )))
344
345 == 2.5 Default Built Version ==
346
347
Edwin Chen 72.1 348 [[image:image-20220902155621-1.png]]
349
350
Kilight Cao 107.1 351 == 2.6 How to upgrade the nodejs version to the latest. ==
Edwin Chen 72.1 352
Xiaoye 78.1 353
354 By default, the nodejs uses the pre-install version v12 which is due to Debian the ultra-stable via ultra-old.
355
356 [[image:image-20221112145029-2.png]]
357
358 **If you want to upgrade the nodejs to the latest, please follow to use these commands on the gateway CIL.**
359
360
361 #install n, which is an Interactively Manage Your Node.js Versions
362
Xiaoye 83.1 363 [[image:image-20221112154230-3.png||height="89" width="689"]]
Xiaoye 78.1 364
365 (% class="box infomessage" %)
366 (((
367 **npm install -g n**
368 )))
369
370
371 #Install the latest LTS Node.js release (downloading if necessary)
372
Xiaoye 83.1 373 [[image:image-20221112154418-4.png||height="184" width="893"]]
374
Xiaoye 78.1 375 (% class="box infomessage" %)
376 (((
377 **n lts**
378 )))
379
380
381 #Remove all downloaded versions except the installed version
382
Xiaoye 83.1 383 [[image:image-20221112154456-5.png||height="139" width="899"]]
Xiaoye 78.1 384
385 (% class="box infomessage" %)
386 (((
387 **n prune**
388 )))
389
390
391 (% class="box infomessage" %)
392 (((
Xiaoye 83.1 393 **apt remove nodejs -y && apt autoremove -y && reboot**
Xiaoye 78.1 394 )))
395
396
397 Check the current version
398
Xiaoye 83.1 399 [[image:image-20221112154724-6.png]]
Xiaoye 78.1 400
401 (% class="box infomessage" %)
402 (((
403 **node -v**
404 )))
405
406
Kilight Cao 107.1 407 == 2.7 How to install Grafana and influxdb ==
Xiaoye 84.1 408
409
410 === **Grafana:** ===
411
412
413 (% class="box infomessage" %)
414 (((
415 curl https:~/~/packages.grafana.com/gpg.key | gpg ~-~-dearmor | sudo tee /usr/share/keyrings/grafana-archive-keyrings.gpg >/dev/null
416 echo "deb [signed-by=/usr/share/keyrings/grafana-archive-keyrings.gpg] https:~/~/packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
417 apt update && apt install grafana
418 )))
419
420
421 Check the running status:
422
423
424 (% class="box infomessage" %)
425 (((
426 systemctl status grafana-server
427 )))
428
429
430 configuration path:
431
432
433 (% class="box infomessage" %)
434 (((
435 /etc/grafana/grafana.ini
436 )))
437
438
439 === **Influxdb:** ===
440
441
442 (% class="box infomessage" %)
443 (((
Kilight Cao 109.1 444 curl https:~/~/repos.influxdata.com/influxdata-archive_compat.key | gpg ~-~-dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null
Xiaoye 84.1 445 echo "deb [signed-by=/usr/share/keyrings/influxdb-archive-keyring.gpg] https:~/~/repos.influxdata.com/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
446 apt update && apt install influxdb
447 )))
448
449
450 Check the running status:
451
452
453 (% class="box infomessage" %)
454 (((
455 systemctl status influxdb
456 )))
457
458
459 configuration path:
460
461
462 (% class="box infomessage" %)
463 (((
464 /etc/influxdb/influxdb.conf
465 )))
466
467
Xiaoling 95.6 468 = 3.  Package Management =
469
Kilight Cao 95.1 470 == 3.1 Default Package Maintain System ==
471
Xiaoling 95.6 472 === 3.1.1  How Package-Auto-Update works? ===
Kilight Cao 95.1 473
474
Xiaoling 67.2 475 By default, LPS8v2 / MS20 series products have an auto-update feature for main packages. The device will connect to Dragino's auto-update server and check for updates. 
476
477
478 (% style="color:blue" %)**When devices will check for updates**?
479
480 * Devices will check for updates for every boot.
481 * Devices will check for updates on every day midnight.
482
483 (% style="color:blue" %)**What packages will be checked for updates**?
484
485 dragino-httpd ~-~- Main Web UI http configuration
486
487 dragino-sid  ~-~- SN write and read tool
488
489 dragino-ui  ~-~- Gateway Web UI package
490
491 draginofwd   ~-~- UDP packet forwarder, LoRa Base Station
492
493 draginoups   ~-~- Miscellaneous between different versions
494
495
Xiaoling 70.9 496
Xiaoling 67.2 497 (% style="color:blue" %)**Location and changelog for packages**:
498
499 * Location: http:~/~/repo.dragino.com/release/tool/
500 * Changelog: [[http:~~/~~/repo.dragino.com/release/tool/Readme_HP0.txt>>http://repo.dragino.com/release/tool/Readme_HP0.txt]]
501
502 (% style="color:blue" %)**How to view auto-updated log**
503
504 You can view the log on the page of (% style="color:#037691" %)**System ~-~-> Package Management.**
505
506
507 [[image:1661305025451-220.png]]
508
509
Xiaoling 70.7 510
Xiaoling 67.2 511 (% style="color:blue" %)**Can I disable package-auto-update?**
512
Xiaoling 70.8 513 You can check the checkbox and click the(% style="color:red" %)** ‘SAVE’ **(%%)button to enable or disable the auto-update.
Xiaoling 67.2 514
515
516 [[image:1661305258501-636.png]]
517
518
Kilight Cao 95.1 519 === 3.1.2 How to manually update core packages? ===
Xiaoling 67.2 520
521
Xiaoling 70.8 522 You can click the (% style="color:red" %)**‘Manual Update’**(%%) to update the dragino's packages.
Xiaoling 67.2 523
524
525 [[image:1661305328295-218.png]]
526
527
Kilight Cao 95.1 528 === 3.1.3 How to manually update other packages? ===
Xiaoling 67.2 529
530
531 For the other packages, you have to access the device's CLI to do it via the apt command.
532
533
Kilight Cao 95.1 534 == 3.2 Set up a 3^^rd^^ party package maintain server ==
Xiaoling 67.2 535
Kilight Cao 95.1 536 === 3.2.1 Overview ===
Xiaoling 67.2 537
538
539 Customers can use their own package maintenance system instead of using the default one from Dragino. They need to set up a package maintenance system for Debian. Lots of instructions are available in Internet, below is a reference instruction.
540
541
Kilight Cao 95.1 542 === 3.2.2 Install Apache2 HTTP server ===
Xiaoling 67.2 543
544
Xiaoling 70.5 545 (% style="background-color:yellow; color:green" %)**apt install apache2**
Xiaoling 67.2 546
547
Kilight Cao 95.1 548 === 3.2.3 Creating Package Directories ===
Xiaoling 67.2 549
550
Xiaoling 70.5 551 **~ (% style="background-color:yellow; color:green" %)cd /var/www/html/(%%)**
Xiaoling 67.2 552
Xiaoling 70.5 553 **~ (% style="background-color:yellow; color:green" %)mkdir debian/release/dists/stable/main/binary-armhf/ -p(%%)**
Xiaoling 67.2 554
Xiaoling 70.5 555 **~ (% style="background-color:yellow; color:green" %)mkdir debian/release/pool/main/d/dragino/ -p(%%)**
Xiaoling 67.2 556
557
558 **Tree Structure:**
559
560 (% style="color:red" %)**Note: If you are not familiar with updating servers, most directory names are not recommended to be changed.**
561
562
563 └── debian
564
565 └── release
566
567 ├── dists
568
569 │   └── stable
570
571 │       └── main
572
573 │           └── binary-armhf
574
575 └── pool
576
577 └── main
578
579 └── d
580
Xiaoling 70.5 581 └── dragino   ~-~-> (% style="background-color:yellow; color:green" %)**This is the directory to store the packages. User can change it to other name.**
Xiaoling 67.2 582
583
Kilight Cao 95.1 584 === 3.2.4 Get deb packages ===
Xiaoling 67.2 585
586
587 The deb packages for auto-update can be placed in** (% style="color:blue" %)/var/www/html/debian/release/pool/main/d/dragino/(%%)**
588
589 Below is an example package(testing-0808.deb) for test purpose:
590
591
Xiaoling 70.5 592 **~ (% style="background-color:yellow; color:green" %)wget http:~/~/repo.dragino.com/release/tool/unimportant/testing-0808.deb(%%)**
Xiaoling 67.2 593
Xiaoling 70.5 594 **~ (% style="background-color:yellow; color:green" %)cp ./testing-0808.deb /var/www/html/debian/release/pool/main/d/dragino/(%%)**
Xiaoling 67.2 595
596
Kilight Cao 95.1 597 === 3.2.5 Generate Package Index file ===
Xiaoling 67.2 598
599
Xiaoling 70.5 600 (% style="background-color:yellow; color:green" %)**cd /var/www/html/debian/release/**
Xiaoling 67.2 601
Xiaoling 70.5 602 (% style="background-color:yellow; color:green" %)**dpkg-scanpackages pool/ > dists/stable/main/binary-armhf/Packages**
Xiaoling 67.2 603
Xiaoling 70.5 604 (% style="background-color:yellow; color:green" %)**cat dists/stable/main/binary-armhf/Packages | gzip -9 > dists/stable/main/binary-armhf/Packages.gz**
Xiaoling 67.2 605
606
607 (% style="color:red" %)**Note: Every time a package has been update, above comments need to be executed in the server to get the up-to-date package list.**
608
609
Kilight Cao 95.1 610 === 3.2.6 Generate Release file ===
Xiaoling 67.2 611
612
Xiaoling 70.10 613 ==== (% style="color:blue" %)**Create the generated script:**(%%) ====
Xiaoling 67.2 614
615
Xiaoling 70.5 616 (% style="background-color:yellow; color:green" %)**cd /var/www/html/debian/release/dists/stable**
Xiaoling 67.2 617
618
Xiaoling 70.5 619 (% style="background-color:yellow; color:green" %)**wget [[http:~~/~~/repo.dragino.com/release/tool/unimportant/generate-release.sh>>url:http://repo.dragino.com/release/tool/unimportant/generate-release.sh]]**
Xiaoling 67.2 620
Xiaoling 70.5 621 (% style="background-color:yellow; color:green" %)**chmod + x ./generate-release.sh**
Xiaoling 67.2 622
Xiaoling 70.5 623 (% style="background-color:yellow; color:green" %)**./generate-release.sh > Release**
Xiaoling 67.2 624
625
Kilight Cao 95.1 626 === 3.2.7 Sign the Release file with gpg and generating Inrelease file ===
Xiaoling 67.2 627
628
Xiaoling 70.7 629 ==== (% style="color:blue" %)**Make sure auto-update server has gnupg**(%%) ====
Xiaoling 67.2 630
631
Xiaoling 70.5 632 (% style="background-color:yellow; color:green" %)**apt install gnupg**
Xiaoling 68.2 633
634
635
Xiaoling 70.7 636 ==== (% style="color:blue" %)**generate gpg key**(%%) ====
Xiaoling 67.2 637
638
Xiaoling 70.5 639 (% style="background-color:yellow; color:green" %)**gpg -gen-key**
Xiaoling 67.2 640
Xiaoling 68.2 641
Xiaoling 70.10 642 (% style="color:red" %)**Note: Fill in the content as required and remember the name and email address.**
Xiaoling 67.2 643
644
Xiaoling 68.2 645
Xiaoling 70.7 646 ==== (% style="color:blue" %)**Check the gen-key**(%%) ====
Xiaoling 67.2 647
648
Xiaoling 70.5 649 (% style="background-color:yellow; color:green" %)**gen -list-key**
Xiaoling 67.2 650
Xiaoling 68.2 651
652
Xiaoling 70.7 653 ==== (% style="color:blue" %)**Generate the release.gpg**(%%) ====
Xiaoling 67.2 654
655
Xiaoling 70.5 656 (% style="background-color:yellow; color:green" %)**cd /var/www/html/debian/release/dists/stable**
Xiaoling 67.2 657
Xiaoling 70.5 658 (% style="background-color:yellow; color:green" %)**gpg ~-~-armor ~-~-detach-sign -o Release.gpg Release**
Xiaoling 67.2 659
660
Xiaoling 70.5 661 (% style="background-color:yellow; color:green" %)**gpg ~-~-clearsign -o InRelease Release**
Xiaoling 67.2 662
663
Xiaoling 68.2 664
Xiaoling 70.7 665 ==== (% style="color:blue" %)**Generate the public key**(%%) ====
Xiaoling 67.2 666
667
Xiaoling 70.5 668 (% style="background-color:yellow; color:green" %)**gpg ~-~-armor ~-~-output <name>.asc ~-~-export <email address>**
Xiaoling 67.2 669
Xiaoling 68.2 670
Xiaoling 67.2 671 **example: gpg ~-~-armor ~-~-output xiao.asc ~-~-export **[[xiaoye@dragino.cc>>mailto:xiaoye@dragino.cc]]
672
673
674
Kilight Cao 95.1 675 === 3.2.8 Add url as apt source in LPS8v2 / MS20 ===
Xiaoling 67.2 676
Xiaoling 68.2 677
678
Xiaoling 70.7 679 ==== (% style="color:blue" %)**Add the public key**(%%) ====
Xiaoling 67.2 680
681
Xiaoling 70.5 682 (% style="background-color:yellow; color:green" %)**cp xiao.asc /etc/apt/trusted.gpg.d/**
Xiaoling 67.2 683
Xiaoling 70.7 684
Xiaoling 68.2 685 (% style="color:red" %)**Note: First need to transfer the public key from auto-update server to device.**
Xiaoling 67.2 686
Xiaoling 68.2 687
688
Xiaoling 70.7 689 ==== (% style="color:blue" %)**Add the apt source list**(%%) ====
Xiaoling 67.2 690
Xiaoling 68.2 691
Xiaoling 67.2 692 Add the apt source list url and name this as test_server.list
693
Xiaoling 70.5 694 (% style="background-color:yellow; color:green" %)**echo "deb http:~/~/<IP_address or hostname>/debian/release stable main" | tee /etc/apt/sources.list.d/test_server.list**
Xiaoling 67.2 695
696
Xiaoling 68.2 697
Xiaoling 70.7 698 ==== (% style="color:blue" %)**Validate the apt repository**(%%) ====
Xiaoling 67.2 699
Xiaoling 68.2 700
Xiaoling 67.2 701 Get and install the testing package (download testing-0808.deb and test)
702
Xiaoling 70.5 703 (% style="background-color:yellow; color:green" %)**apt update && apt install testing**
Xiaoling 67.2 704
Xiaoling 68.2 705
Xiaoling 67.2 706 Example output:
707
Xiaoling 68.2 708 [[image:1661306420449-569.png]]
Xiaoling 67.2 709
710
Kilight Cao 95.1 711 === 3.2.9 Configure the gateway's auto-upgrade rules ===
Xiaoling 67.2 712
713
Xiaoling 70.7 714 ==== (% style="color:blue" %)**Remove dragino apt source**(%%) ====
Xiaoling 67.2 715
716
Xiaoling 70.5 717 (% style="background-color:yellow; color:green" %)**/etc/apt/sources.list**
Xiaoling 67.2 718
719
Xiaoling 70.2 720 [[image:1661306460134-112.png]]
Xiaoling 67.2 721
722
723
Xiaoling 70.7 724 ==== (% style="color:blue" %)**Set up automatic updates**(%%) ====
Xiaoling 67.2 725
726
Xiaoling 70.5 727 (% style="background-color:yellow; color:green" %)**Path : /usr/lib/dragino/dragino-apt-updates**
Xiaoling 67.2 728
Xiaoling 70.2 729
Xiaoling 67.2 730 The device performs automatic updates from this script,
731
732 But it will now only look for dragino as a keyword, so you need to replace the keyword dragino with your own keyword.
733
734
Xiaoling 70.2 735 [[image:1661306487761-768.png]]
Xiaoling 95.2 736
737
738