Changes for page Armbian OS instruction

Last modified by Edwin Chen on 2025/02/26 08:18

From version 24.1
edited by Kilight Cao
on 2022/06/02 11:21
Change comment: Uploaded new attachment "image-20220602112131-7.png", version {1}
To version 103.1
edited by Kilight Cao
on 2023/08/31 14:48
Change comment: Uploaded new attachment "image-20230831144800-1.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -2,85 +2,638 @@
2 2  
3 3  {{toc/}}
4 4  
5 -= Overview =
6 6  
6 +
7 +
8 += 1.  Overview =
9 +
10 +
7 7  This is a general instruction for the use of Armbian base OS of Dragino devices. Current models include:
8 8  
9 9  * HP0A
10 10  * HP0C
11 11  * LPS8v2
16 +* MS20
12 12  
13 -= Development Guide =
18 +(% style="display:none" %)
14 14  
15 -For advanced users to develop Driver/ Linux etc
16 16  
17 -== How to recompile LoRaWAN Concentrator Driver ( dragino-fwd package). ==
21 += 2.  Development Guide =
18 18  
19 -=== Step 1. Clone dragino-fwd package ===
20 20  
24 +For advanced users to develop Driver/ Linux etc.
21 21  
22 -Run command clone dragino-fwd package:
23 23  
27 +== 2.1  How to recompile LoRaWAN Concentrator Driver ( dragino-fwd package). ==
28 +
29 +
30 +=== (% style="color:blue" %)**Step 1. Clone dragino-fwd package**(%%) ===
31 +
32 +
33 +**Requirements:**
34 +
35 +**~ (% style="background-color:yellow; color:green" %)sudo apt install -y libsqlite3-dev(%%)**
36 +
37 +**~ (% style="background-color:yellow; color:green" %)sudo apt install -y libftdi1-dev(%%)**
38 +
39 +
40 +**Run command clone dragino-fwd package: (% style="background-color:yellow; color:green" %)git clone https:~/~/github.com/dragino/dragino_fwd_src.git(%%)**
41 +
42 +
43 +[[image:image-20220527151010-1.png]]
44 +
45 +
46 +=== (% style="color:blue" %)**Step 2. Compile dragino_fwd**(%%) ===
47 +
48 +
49 +**After cloning is complete, Run the command starts compiling:**
50 +
51 +(% style="background-color:yellow; color:green" %)**Compile HP0C/HP0A fwd:  ./hp0z-make-deb.sh c**
52 +
53 +
54 +The following example compilers HP0C fwd.
55 +
56 +[[image:image-20220527153913-3.png]]
57 +
58 +
59 +
60 +When the compilation is complete a** (% style="color:blue" %)draginofwd-*.deb(%%) **package is generated.
61 +
62 +[[image:image-20220527154311-4.png||height="385" width="773"]]
63 +
64 +
65 +=== (% style="color:blue" %)**Step 3. Install the dragino_fwd**(%%) ===
66 +
67 +
68 +**Run command:**
69 +
70 +(% style="background-color:yellow; color:green" %)**dpkg -i draginofwd-*.deb **
71 +
72 +
73 +[[image:image-20220527154811-5.png]]
74 +
75 +
76 +=== (% style="color:blue" %)**Step 4. Test**(%%) ===
77 +
78 +
79 +**Check the dragino_fwd log:**
80 +
81 +(% style="background-color:yellow; color:green" %)**journalctl -u draginofwd -f**
82 +
83 +
84 +[[image:image-20220527165221-7.png||height="182" width="931"]]
85 +
86 +
87 +**Start/stop dragino_fwd via systemctl:**
88 +
89 +(% style="background-color:yellow; color:green" %)**systemctl start draginofwd**
90 +
91 +(% style="background-color:yellow; color:green" %)**systemctl stop draginofwd**
92 +
93 +
94 +== 2.2  How to clone Complete OS on the EMMC to SD card ==
95 +
96 +
97 +
98 +
99 +
100 +
101 +
102 +
103 +
104 +
105 +
106 +
107 +
108 +
109 +
110 +
111 +== 2.3  How to flash a new image(OS) to the gateway(LPS8V2) ==
112 +
113 +
114 +Since the gateway has a large system, you need to use the sd card to reflash the system for the gateway
115 +
116 +
117 +//2.3.1: Making an SD card with the new image//
118 +
119 +//2.3.2: Instal the SD card to the gateway//
120 +
121 +//2.3.3: Flash the image to the gateway's built memory from the SD card//
122 +
123 +//2.3.4: Finished the process of flash and power cycle the gateway//
124 +
125 +
126 +==== (% style="background-color:yellow" %)**//Preparations~://**(%%) ====
127 +
128 +1. Prepare an SD card
129 +1. Prepare a card reader device
130 +1. Download the OS image from the [[release.image>>url:http://repo.dragino.com/release/hp0c-image/]]: ( File format dragino-lps8v2-1.7.img )
131 +1. A Flash software tool ( Such as v1.7.9 from [[balenaEtcher>>url:https://www.balena.io/etcher/]] )
132 +1. SD Card [[format>>url:http://repo.dragino.com/release/tool/PanasonicSDFormatter.zip]] tool
133 +
134 +
135 +=== **2.3.1 Making an SD Card with the new image** ===
136 +
137 +
138 +==== Step 1.  Formatting the SD Card ====
139 +
140 +[[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"]]
141 +
142 +
143 +==== Step 2. Select the OS image ====
144 +
145 +[[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"]]
146 +
147 +
148 +==== Step 3. Select the target ====
149 +
150 +[[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"]]
151 +
152 +[[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"]]
153 +
154 +
155 +==== Step 4. Flash start ====
156 +
157 +[[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"]]
158 +
159 +[[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"]]
160 +
161 +
162 +
163 +=== **2.3.2 Instal the SD card to the gateway** ===
164 +
165 +1. Open the device's enclosure, and put the SD card into the SD card slot
166 +
167 +[[image:image-20230712201032-1.png]]
168 +
169 +
170 +2. Power the gateway with 5V2A, and access the gateway's Ethernet port to your PC
171 +
172 +[[image:image-20230712201458-3.png||height="649" width="832"]]
173 +
174 +
175 +Note: The PWR LED on red
176 +
177 + The  LAN LED blink
178 +
179 + The SYS LED on red
180 +
181 +
182 +
183 +=== **3.2.3 Flash the image to the gateway's built memory from the SD card** ===
184 +
185 +
186 +Access the gateway Linux CLI to flash the image to the gateway's built memory
187 +
188 +
189 +* **Use the IP address to access the gateway CLI**
190 +
191 +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.
192 +
193 +
194 +IP address:  IP address of gateway or **Fallback IP**(172.31.255.254)
195 +
196 +Port:  22
197 +
198 +User Name:      (% style="color:blue" %)**root**
199 +
200 +Password:         (% style="color:blue" %)**dragino**(%%) (default)
201 +
202 +//After logging in, you will be in the gateway CLI and can enter commands as shown below.//
203 +
204 +
205 +[[image:image-20230508155357-1.png||height="225" width="634"]]
206 +
207 +
208 +**Run command:**
209 +
210 +(% style="background-color:yellow; color:green" %)**nand-sata-install**
211 +
212 +
213 +[[image:image-20220602112051-1.png]]
214 +
215 +
216 +
217 +Select the (% style="color:red" %)**"Boot from eMMC - system on eMMC".**
218 +
219 +[[image:image-20220602112058-2.png||height="292" width="646"]]
220 +
221 +
222 +[[image:image-20220602112106-3.png||height="301" width="643"]]
223 +
224 +
225 +
226 +Select the (% style="color:red" %)**"1  ext4"**
227 +
228 +[[image:image-20220602112113-4.png||height="271" width="642"]]
229 +
230 +
231 +
232 +It takes 4-5 minutes to burn from SD card to eMMC
233 +
234 +[[image:image-20220602112119-5.png||height="309" width="641"]]
235 +
236 +
237 +[[image:image-20220602112125-6.png||height="281" width="640"]]
238 +
239 +
240 +[[image:image-20220602112131-7.png||height="241" width="638"]]
241 +
242 +
243 +(% style="color:red" %)**Note: After the flash is complete, power off the device and then remove the SD card.**
244 +
245 +
246 +== 2.4 Default Built Version ==
247 +
248 +
249 +[[image:image-20220902155621-1.png]]
250 +
251 +
252 +== 2.5 How to upgrade the nodejs version to the latest. ==
253 +
254 +
255 +By default, the nodejs uses the pre-install version v12 which is due to Debian the ultra-stable via ultra-old.
256 +
257 +[[image:image-20221112145029-2.png]]
258 +
259 +**If you want to upgrade the nodejs to the latest, please follow to use these commands on the gateway CIL.**
260 +
261 +
262 +#install n, which is an Interactively Manage Your Node.js Versions
263 +
264 +[[image:image-20221112154230-3.png||height="89" width="689"]]
265 +
24 24  (% class="box infomessage" %)
25 25  (((
26 -git clone https:~/~/github.com/dragino/dragino_fwd_src.git
268 +**npm install -g n**
27 27  )))
28 28  
29 -[[image:image-20220527151010-1.png]]
30 30  
272 +#Install the latest LTS Node.js release (downloading if necessary)
31 31  
32 -=== Step 2. Compile dragino_fwd ===
274 +[[image:image-20221112154418-4.png||height="184" width="893"]]
33 33  
276 +(% class="box infomessage" %)
277 +(((
278 +**n lts**
279 +)))
34 34  
35 -After cloning is complete, Run the command starts compiling:
36 36  
282 +#Remove all downloaded versions except the installed version
283 +
284 +[[image:image-20221112154456-5.png||height="139" width="899"]]
285 +
37 37  (% class="box infomessage" %)
38 38  (((
39 -Compile HP0D/rasspberrypi fwd:  ./hp0z-make-deb.sh d
40 -Compile HP0C/HP0A fwd:  ./hp0z-make-deb.sh c
288 +**n prune**
41 41  )))
42 42  
43 -The following example compilers HP0C fwd.
44 44  
45 -[[image:image-20220527153913-3.png]]
292 +(% class="box infomessage" %)
293 +(((
294 +**apt remove nodejs -y && apt autoremove -y && reboot**
295 +)))
46 46  
47 47  
48 -**When the compilation is complete a draginofwd-*.deb package is generated.**
298 +Check the current version
49 49  
50 -[[image:image-20220527154311-4.png||height="385" width="773"]]
300 +[[image:image-20221112154724-6.png]]
51 51  
52 -=== Step 3. Install the dragino_fwd ===
302 +(% class="box infomessage" %)
303 +(((
304 +**node -v**
305 +)))
53 53  
54 54  
55 -Run command:
308 +== 2.6 How to install Grafana and influxdb ==
56 56  
310 +
311 +=== **Grafana:** ===
312 +
313 +
57 57  (% class="box infomessage" %)
58 58  (((
59 -dpkg -i draginofwd-*.deb
316 +curl https:~/~/packages.grafana.com/gpg.key | gpg ~-~-dearmor | sudo tee /usr/share/keyrings/grafana-archive-keyrings.gpg >/dev/null
317 +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
318 +apt update && apt install grafana
60 60  )))
61 61  
62 -[[image:image-20220527154811-5.png]]
63 63  
322 +Check the running status:
64 64  
65 -=== Step 4. Test ===
66 66  
325 +(% class="box infomessage" %)
326 +(((
327 +systemctl status grafana-server
328 +)))
67 67  
68 -Check the dragino_fwd log:
69 69  
331 +configuration path:
332 +
333 +
70 70  (% class="box infomessage" %)
71 71  (((
72 -journalctl -u draginofwd -f
336 +/etc/grafana/grafana.ini
73 73  )))
74 74  
75 -[[image:image-20220527165221-7.png||height="182" width="931"]]
76 76  
77 -Start/stop dragino_fwd via systemctl:
340 +=== **Influxdb:** ===
78 78  
342 +
79 79  (% class="box infomessage" %)
80 80  (((
81 -systemctl start draginofwd
82 -systemctl stop draginofwd
345 +curl https:~/~/repos.influxdata.com/influxdb.key | gpg ~-~-dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null
346 +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
347 +apt update && apt install influxdb
83 83  )))
84 84  
85 85  
351 +Check the running status:
352 +
353 +
354 +(% class="box infomessage" %)
355 +(((
356 +systemctl status influxdb
357 +)))
358 +
359 +
360 +configuration path:
361 +
362 +
363 +(% class="box infomessage" %)
364 +(((
365 +/etc/influxdb/influxdb.conf
366 +)))
367 +
368 +
369 += 3.  Package Management =
370 +
371 +== 3.1 Default Package Maintain System ==
372 +
373 +=== 3.1.1  How Package-Auto-Update works? ===
374 +
375 +
376 +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. 
377 +
378 +
379 +(% style="color:blue" %)**When devices will check for updates**?
380 +
381 +* Devices will check for updates for every boot.
382 +* Devices will check for updates on every day midnight.
383 +
384 +(% style="color:blue" %)**What packages will be checked for updates**?
385 +
386 +dragino-httpd ~-~- Main Web UI http configuration
387 +
388 +dragino-sid  ~-~- SN write and read tool
389 +
390 +dragino-ui  ~-~- Gateway Web UI package
391 +
392 +draginofwd   ~-~- UDP packet forwarder, LoRa Base Station
393 +
394 +draginoups   ~-~- Miscellaneous between different versions
395 +
396 +
397 +
398 +(% style="color:blue" %)**Location and changelog for packages**:
399 +
400 +* Location: http:~/~/repo.dragino.com/release/tool/
401 +* Changelog: [[http:~~/~~/repo.dragino.com/release/tool/Readme_HP0.txt>>http://repo.dragino.com/release/tool/Readme_HP0.txt]]
402 +
403 +(% style="color:blue" %)**How to view auto-updated log**
404 +
405 +You can view the log on the page of (% style="color:#037691" %)**System ~-~-> Package Management.**
406 +
407 +
408 +[[image:1661305025451-220.png]]
409 +
410 +
411 +
412 +(% style="color:blue" %)**Can I disable package-auto-update?**
413 +
414 +You can check the checkbox and click the(% style="color:red" %)** ‘SAVE’ **(%%)button to enable or disable the auto-update.
415 +
416 +
417 +[[image:1661305258501-636.png]]
418 +
419 +
420 +=== 3.1.2 How to manually update core packages? ===
421 +
422 +
423 +You can click the (% style="color:red" %)**‘Manual Update’**(%%) to update the dragino's packages.
424 +
425 +
426 +[[image:1661305328295-218.png]]
427 +
428 +
429 +=== 3.1.3 How to manually update other packages? ===
430 +
431 +
432 +For the other packages, you have to access the device's CLI to do it via the apt command.
433 +
434 +
435 +== 3.2 Set up a 3^^rd^^ party package maintain server ==
436 +
437 +=== 3.2.1 Overview ===
438 +
439 +
440 +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.
441 +
442 +
443 +=== 3.2.2 Install Apache2 HTTP server ===
444 +
445 +
446 +(% style="background-color:yellow; color:green" %)**apt install apache2**
447 +
448 +
449 +=== 3.2.3 Creating Package Directories ===
450 +
451 +
452 +**~ (% style="background-color:yellow; color:green" %)cd /var/www/html/(%%)**
453 +
454 +**~ (% style="background-color:yellow; color:green" %)mkdir debian/release/dists/stable/main/binary-armhf/ -p(%%)**
455 +
456 +**~ (% style="background-color:yellow; color:green" %)mkdir debian/release/pool/main/d/dragino/ -p(%%)**
457 +
458 +
459 +**Tree Structure:**
460 +
461 +(% style="color:red" %)**Note: If you are not familiar with updating servers, most directory names are not recommended to be changed.**
462 +
463 +
464 +└── debian
465 +
466 + └── release
467 +
468 + ├── dists
469 +
470 + │   └── stable
471 +
472 + │       └── main
473 +
474 + │           └── binary-armhf
475 +
476 + └── pool
477 +
478 + └── main
479 +
480 + └── d
481 +
482 + └── dragino   ~-~-> (% style="background-color:yellow; color:green" %)**This is the directory to store the packages. User can change it to other name.**
483 +
484 +
485 +=== 3.2.4 Get deb packages ===
486 +
487 +
488 +The deb packages for auto-update can be placed in** (% style="color:blue" %)/var/www/html/debian/release/pool/main/d/dragino/(%%)**
489 +
490 +Below is an example package(testing-0808.deb) for test purpose:
491 +
492 +
493 +**~ (% style="background-color:yellow; color:green" %)wget http:~/~/repo.dragino.com/release/tool/unimportant/testing-0808.deb(%%)**
494 +
495 +**~ (% style="background-color:yellow; color:green" %)cp ./testing-0808.deb /var/www/html/debian/release/pool/main/d/dragino/(%%)**
496 +
497 +
498 +=== 3.2.5 Generate Package Index file ===
499 +
500 +
501 +(% style="background-color:yellow; color:green" %)**cd /var/www/html/debian/release/**
502 +
503 +(% style="background-color:yellow; color:green" %)**dpkg-scanpackages pool/ > dists/stable/main/binary-armhf/Packages**
504 +
505 +(% style="background-color:yellow; color:green" %)**cat dists/stable/main/binary-armhf/Packages | gzip -9 > dists/stable/main/binary-armhf/Packages.gz**
506 +
507 +
508 +(% 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.**
509 +
510 +
511 +=== 3.2.6 Generate Release file ===
512 +
513 +
514 +==== (% style="color:blue" %)**Create the generated script:**(%%) ====
515 +
516 +
517 +(% style="background-color:yellow; color:green" %)**cd /var/www/html/debian/release/dists/stable**
518 +
519 +
520 +(% 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]]**
521 +
522 +(% style="background-color:yellow; color:green" %)**chmod + x ./generate-release.sh**
523 +
524 +(% style="background-color:yellow; color:green" %)**./generate-release.sh > Release**
525 +
526 +
527 +=== 3.2.7 Sign the Release file with gpg and generating Inrelease file ===
528 +
529 +
530 +==== (% style="color:blue" %)**Make sure auto-update server has gnupg**(%%) ====
531 +
532 +
533 +(% style="background-color:yellow; color:green" %)**apt install gnupg**
534 +
535 +
536 +
537 +==== (% style="color:blue" %)**generate gpg key**(%%) ====
538 +
539 +
540 +(% style="background-color:yellow; color:green" %)**gpg -gen-key**
541 +
542 +
543 +(% style="color:red" %)**Note: Fill in the content as required and remember the name and email address.**
544 +
545 +
546 +
547 +==== (% style="color:blue" %)**Check the gen-key**(%%) ====
548 +
549 +
550 +(% style="background-color:yellow; color:green" %)**gen -list-key**
551 +
552 +
553 +
554 +==== (% style="color:blue" %)**Generate the release.gpg**(%%) ====
555 +
556 +
557 +(% style="background-color:yellow; color:green" %)**cd /var/www/html/debian/release/dists/stable**
558 +
559 +(% style="background-color:yellow; color:green" %)**gpg ~-~-armor ~-~-detach-sign -o Release.gpg Release**
560 +
561 +
562 +(% style="background-color:yellow; color:green" %)**gpg ~-~-clearsign -o InRelease Release**
563 +
564 +
565 +
566 +==== (% style="color:blue" %)**Generate the public key**(%%) ====
567 +
568 +
569 +(% style="background-color:yellow; color:green" %)**gpg ~-~-armor ~-~-output <name>.asc ~-~-export <email address>**
570 +
571 +
572 +**example: gpg ~-~-armor ~-~-output xiao.asc ~-~-export **[[xiaoye@dragino.cc>>mailto:xiaoye@dragino.cc]]
573 +
574 +
575 +
576 +=== 3.2.8 Add url as apt source in LPS8v2 / MS20 ===
577 +
578 +
579 +
580 +==== (% style="color:blue" %)**Add the public key**(%%) ====
581 +
582 +
583 +(% style="background-color:yellow; color:green" %)**cp xiao.asc /etc/apt/trusted.gpg.d/**
584 +
585 +
586 +(% style="color:red" %)**Note: First need to transfer the public key from auto-update server to device.**
587 +
588 +
589 +
590 +==== (% style="color:blue" %)**Add the apt source list**(%%) ====
591 +
592 +
593 +Add the apt source list url and name this as test_server.list
594 +
595 +(% 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**
596 +
597 +
598 +
599 +==== (% style="color:blue" %)**Validate the apt repository**(%%) ====
600 +
601 +
602 +Get and install the testing package (download testing-0808.deb and test)
603 +
604 +(% style="background-color:yellow; color:green" %)**apt update && apt install testing**
605 +
606 +
607 +Example output:
608 +
609 +[[image:1661306420449-569.png]]
610 +
611 +
612 +=== 3.2.9 Configure the gateway's auto-upgrade rules ===
613 +
614 +
615 +==== (% style="color:blue" %)**Remove dragino apt source**(%%) ====
616 +
617 +
618 +(% style="background-color:yellow; color:green" %)**/etc/apt/sources.list**
619 +
620 +
621 +[[image:1661306460134-112.png]]
622 +
623 +
624 +
625 +==== (% style="color:blue" %)**Set up automatic updates**(%%) ====
626 +
627 +
628 +(% style="background-color:yellow; color:green" %)**Path : /usr/lib/dragino/dragino-apt-updates**
629 +
630 +
631 +The device performs automatic updates from this script,
632 +
633 +But it will now only look for dragino as a keyword, so you need to replace the keyword dragino with your own keyword.
634 +
635 +
636 +[[image:1661306487761-768.png]]
637 +
638 +
86 86  
1661305025451-220.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +247.0 KB
Content
1661305258501-636.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +115.4 KB
Content
1661305321820-965.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +78.3 KB
Content
1661305328295-218.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +78.3 KB
Content
1661306420449-569.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +237.0 KB
Content
1661306460134-112.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +146.8 KB
Content
1661306487761-768.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +291.9 KB
Content
image-20220609101627-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +14.7 KB
Content
image-20220609101638-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +16.3 KB
Content
image-20220609101748-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +26.1 KB
Content
image-20220609101820-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +20.4 KB
Content
image-20220609101843-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +18.7 KB
Content
image-20220609101905-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +19.8 KB
Content
image-20220609101944-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +46.2 KB
Content
image-20220609102257-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +22.9 KB
Content
image-20220609102320-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +22.9 KB
Content
image-20220609102911-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +63.7 KB
Content
image-20220609103538-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +17.7 KB
Content
image-20220609103619-12.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +17.6 KB
Content
image-20220609104104-13.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +45.3 KB
Content
image-20220902155621-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +27.7 KB
Content
image-20221112145017-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +1.9 KB
Content
image-20221112145029-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +3.3 KB
Content
image-20221112154230-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +5.2 KB
Content
image-20221112154418-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +18.2 KB
Content
image-20221112154456-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +14.6 KB
Content
image-20221112154724-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +3.2 KB
Content
image-20230327152105-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +27.5 KB
Content
image-20230327152431-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +47.5 KB
Content
image-20230327154700-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +26.7 KB
Content
image-20230327165836-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +17.1 KB
Content
image-20230327171824-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +46.1 KB
Content
image-20230327174537-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +8.8 KB
Content
image-20230327174556-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +16.0 KB
Content
image-20230327174853-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +20.0 KB
Content
image-20230508155357-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +24.3 KB
Content
image-20230712201032-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +872.4 KB
Content
image-20230712201424-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +872.4 KB
Content
image-20230712201458-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +854.1 KB
Content
image-20230831144800-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +86.9 KB
Content