Changes for page Armbian OS instruction
Last modified by Kilight Cao on 2024/10/08 09:35
Change comment:
Uploaded new attachment "image-20230327152431-2.png", version {1}
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 29 added, 0 removed)
- 1661305025451-220.png
- 1661305258501-636.png
- 1661305321820-965.png
- 1661305328295-218.png
- 1661306420449-569.png
- 1661306460134-112.png
- 1661306487761-768.png
- image-20220609101627-1.png
- image-20220609101638-2.png
- image-20220609101748-3.png
- image-20220609101820-4.png
- image-20220609101843-5.png
- image-20220609101905-6.png
- image-20220609101944-7.png
- image-20220609102257-8.png
- image-20220609102320-9.png
- image-20220609102911-10.png
- image-20220609103538-11.png
- image-20220609103619-12.png
- image-20220609104104-13.png
- image-20220902155621-1.png
- image-20221112145017-1.png
- image-20221112145029-2.png
- image-20221112154230-3.png
- image-20221112154418-4.png
- image-20221112154456-5.png
- image-20221112154724-6.png
- image-20230327152105-1.png
- image-20230327152431-2.png
Details
- Page properties
-
- Content
-
... ... @@ -2,139 +2,553 @@ 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 = 14 14 15 - Foradvancedusers to developDriver/ Linuxetc19 += 2. Development Guide = 16 16 17 17 18 - =Advance=22 +For advanced users to develop Driver/ Linux etc. 19 19 20 -== SSH Access for Linux console == 21 21 22 - ConnecttheHP0C Ethernet porttoyourrouter and HP0C willobtainan IP address from your router. Intherouter’s managementportal, you should be abletofind what IP addresstherouterhasassignedto the HP0C. You can use this IP toconnect the SSHaccess of HP0C.25 +== 2.1 How to recompile LoRaWAN Concentrator Driver ( dragino-fwd package). == 23 23 24 -IP address: IP address of HP0C 25 25 26 - Port:2228 +=== (% style="color:blue" %)**Step 1. Clone dragino-fwd package**(%%) === 27 27 28 -User Name: **root** 29 29 30 - Password:**draginohp**(default)31 +**Requirements:** 31 31 32 - Afterlogging in, you willbein theLinuxconsoleand can entercommandssshownbelow.33 +**~ (% style="background-color:yellow; color:green" %)sudo apt install -y libsqlite3-dev(%%)** 33 33 35 +**~ (% style="background-color:yellow; color:green" %)sudo apt install -y libftdi1-dev(%%)** 34 34 35 -== How to flash SD card to eMMC == 36 36 38 +**Run command clone dragino-fwd package: (% style="background-color:yellow; color:green" %)git clone https:~/~/github.com/dragino/dragino_fwd_src.git(%%)** 37 37 38 -Run command: 39 39 40 -(% class="box infomessage" %) 41 -((( 42 -nand-sata-install 43 -))) 41 +[[image:image-20220527151010-1.png]] 44 44 43 + 44 +=== (% style="color:blue" %)**Step 2. Compile dragino_fwd**(%%) === 45 + 46 + 47 +**After cloning is complete, Run the command starts compiling:** 48 + 49 +(% style="background-color:yellow; color:green" %)**Compile HP0C/HP0A fwd: ./hp0z-make-deb.sh c** 50 + 51 + 52 +The following example compilers HP0C fwd. 53 + 54 +[[image:image-20220527153913-3.png]] 55 + 56 + 57 + 58 +When the compilation is complete a** (% style="color:blue" %)draginofwd-*.deb(%%) **package is generated. 59 + 60 +[[image:image-20220527154311-4.png||height="385" width="773"]] 61 + 62 + 63 +=== (% style="color:blue" %)**Step 3. Install the dragino_fwd**(%%) === 64 + 65 + 66 +**Run command:** 67 + 68 +(% style="background-color:yellow; color:green" %)**dpkg -i draginofwd-*.deb ** 69 + 70 + 71 +[[image:image-20220527154811-5.png]] 72 + 73 + 74 +=== (% style="color:blue" %)**Step 4. Test**(%%) === 75 + 76 + 77 +**Check the dragino_fwd log:** 78 + 79 +(% style="background-color:yellow; color:green" %)**journalctl -u draginofwd -f** 80 + 81 + 82 +[[image:image-20220527165221-7.png||height="182" width="931"]] 83 + 84 + 85 +**Start/stop dragino_fwd via systemctl:** 86 + 87 +(% style="background-color:yellow; color:green" %)**systemctl start draginofwd** 88 + 89 +(% style="background-color:yellow; color:green" %)**systemctl stop draginofwd** 90 + 91 + 92 +== 2.2 How to clone Complete OS on the EMMC to SD card == 93 + 94 +== 2.3 How to flash SD card to (eMMC) device's built-in Memory == 95 + 96 +=== 2.3.1 Prepare an SD card with OS === 97 + 98 + 99 + (% style="background-color:yellow" %)//**Preparations:**// 100 + 101 +~1. Prepare an SD card and a// card reader device// 102 + 103 +2. Formatting the SD card (//Make sure the SD card is empty//) 104 + 105 +3. //Download the OS image from the **[[release.image>>url:http://repo.dragino.com/release/hp0c-image/]]**: ( File format **dragino-lps8v2-1.7.img** )// 106 + 107 +4. //A Flash software tool ( Such as v1.7.9 from **[[balenaEtcher>>url:https://www.balena.io/etcher/]]** )// 108 + 109 + 110 + 111 +=== 2.3.2 Flash SD card to device's eMMC === 112 + 113 + 114 +//1. Open the device's enclosure, and put the SD card into the SD card slot// 115 + 116 +//2. Power on the device and access the gateway's CLI via the serial port.// 117 + 118 +//3. Login and run the below command to flash.// 119 + 120 + 121 +**Run command:** 122 + 123 +(% style="background-color:yellow; color:green" %)**nand-sata-install** 124 + 125 + 45 45 [[image:image-20220602112051-1.png]] 46 46 47 -**Select the "Boot from eMMC - system on eMMC"** 48 48 129 + 130 +Select the (% style="color:red" %)**"Boot from eMMC - system on eMMC".** 131 + 49 49 [[image:image-20220602112058-2.png||height="292" width="646"]] 50 50 134 + 51 51 [[image:image-20220602112106-3.png||height="301" width="643"]] 52 52 53 53 54 -**Select the "1 ext4"** 55 55 139 +Select the (% style="color:red" %)**"1 ext4"** 140 + 56 56 [[image:image-20220602112113-4.png||height="271" width="642"]] 57 57 58 58 59 -**It takes 4-5 minutes to burn from SD card to eMMC** 60 60 145 +It takes 4-5 minutes to burn from SD card to eMMC 146 + 61 61 [[image:image-20220602112119-5.png||height="309" width="641"]] 62 62 149 + 63 63 [[image:image-20220602112125-6.png||height="281" width="640"]] 64 64 152 + 65 65 [[image:image-20220602112131-7.png||height="241" width="638"]] 66 66 67 67 68 -(% style="color:red" %)**Note: After the flash is complete, power off the device and then remove the SD card** 156 +(% style="color:red" %)**Note: After the flash is complete, power off the device and then remove the SD card.** 69 69 70 -== How to recompile LoRaWAN Concentrator Driver ( dragino-fwd package). == 71 71 72 -== =Step 1.Clonedragino-fwdpackage===159 +== 2.4 Default Built Version == 73 73 74 74 75 - Run command clonedragino-fwdpackage:162 +[[image:image-20220902155621-1.png]] 76 76 164 + 165 +== 2.5 How to upgrade the nodejs version to the latest. == 166 + 167 + 168 +By default, the nodejs uses the pre-install version v12 which is due to Debian the ultra-stable via ultra-old. 169 + 170 +[[image:image-20221112145029-2.png]] 171 + 172 +**If you want to upgrade the nodejs to the latest, please follow to use these commands on the gateway CIL.** 173 + 174 + 175 +#install n, which is an Interactively Manage Your Node.js Versions 176 + 177 +[[image:image-20221112154230-3.png||height="89" width="689"]] 178 + 77 77 (% class="box infomessage" %) 78 78 ((( 79 - git clone https:~/~/github.com/dragino/dragino_fwd_src.git181 +**npm install -g n** 80 80 ))) 81 81 82 -[[image:image-20220527151010-1.png]] 83 83 185 +#Install the latest LTS Node.js release (downloading if necessary) 84 84 85 - === Step2.Compile dragino_fwd==187 +[[image:image-20221112154418-4.png||height="184" width="893"]] 86 86 189 +(% class="box infomessage" %) 190 +((( 191 +**n lts** 192 +))) 87 87 88 -After cloning is complete, Run the command starts compiling: 89 89 195 +#Remove all downloaded versions except the installed version 196 + 197 +[[image:image-20221112154456-5.png||height="139" width="899"]] 198 + 90 90 (% class="box infomessage" %) 91 91 ((( 92 -Compile HP0D/rasspberrypi fwd: ./hp0z-make-deb.sh d 93 -Compile HP0C/HP0A fwd: ./hp0z-make-deb.sh c 201 +**n prune** 94 94 ))) 95 95 96 -The following example compilers HP0C fwd. 97 97 98 -[[image:image-20220527153913-3.png]] 205 +(% class="box infomessage" %) 206 +((( 207 +**apt remove nodejs -y && apt autoremove -y && reboot** 208 +))) 99 99 100 100 101 - **Whenthe compilation is completea draginofwd-*.deb package is generated.**211 +Check the current version 102 102 103 -[[image:image-2022 0527154311-4.png||height="385" width="773"]]213 +[[image:image-20221112154724-6.png]] 104 104 215 +(% class="box infomessage" %) 216 +((( 217 +**node -v** 218 +))) 105 105 106 -=== Step 3. Install the dragino_fwd === 107 107 221 +== 2.6 How to install Grafana and influxdb == 108 108 109 -Run command: 110 110 224 +=== **Grafana:** === 225 + 226 + 111 111 (% class="box infomessage" %) 112 112 ((( 113 -dpkg -i draginofwd-*.deb 229 +curl https:~/~/packages.grafana.com/gpg.key | gpg ~-~-dearmor | sudo tee /usr/share/keyrings/grafana-archive-keyrings.gpg >/dev/null 230 +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 231 +apt update && apt install grafana 114 114 ))) 115 115 116 -[[image:image-20220527154811-5.png]] 117 117 235 +Check the running status: 118 118 119 -=== Step 4. Test === 120 120 238 +(% class="box infomessage" %) 239 +((( 240 +systemctl status grafana-server 241 +))) 121 121 122 -Check the dragino_fwd log: 123 123 244 +configuration path: 245 + 246 + 124 124 (% class="box infomessage" %) 125 125 ((( 126 - journalctl -u draginofwd -f249 +/etc/grafana/grafana.ini 127 127 ))) 128 128 129 -[[image:image-20220527165221-7.png||height="182" width="931"]] 130 130 131 - Start/stopdragino_fwd via systemctl:253 +=== **Influxdb:** === 132 132 255 + 133 133 (% class="box infomessage" %) 134 134 ((( 135 -systemctl start draginofwd 136 -systemctl stop draginofwd 258 +curl https:~/~/repos.influxdata.com/influxdb.key | gpg ~-~-dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null 259 +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 260 +apt update && apt install influxdb 137 137 ))) 138 138 139 139 140 - 264 +Check the running status: 265 + 266 + 267 +(% class="box infomessage" %) 268 +((( 269 +systemctl status influxdb 270 +))) 271 + 272 + 273 +configuration path: 274 + 275 + 276 +(% class="box infomessage" %) 277 +((( 278 +/etc/influxdb/influxdb.conf 279 +))) 280 + 281 += 3. How to install ChirpStack = 282 + 283 + 284 += 4. Package Maintain Note = 285 + 286 +== 4.1 Default Package Maintain System == 287 + 288 +=== 4.1.1 How Package-Auto-Update works? === 289 + 290 + 291 +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. 292 + 293 + 294 +(% style="color:blue" %)**When devices will check for updates**? 295 + 296 +* Devices will check for updates for every boot. 297 +* Devices will check for updates on every day midnight. 298 + 299 +(% style="color:blue" %)**What packages will be checked for updates**? 300 + 301 +dragino-httpd ~-~- Main Web UI http configuration 302 + 303 +dragino-sid ~-~- SN write and read tool 304 + 305 +dragino-ui ~-~- Gateway Web UI package 306 + 307 +draginofwd ~-~- UDP packet forwarder, LoRa Base Station 308 + 309 +draginoups ~-~- Miscellaneous between different versions 310 + 311 + 312 + 313 +(% style="color:blue" %)**Location and changelog for packages**: 314 + 315 +* Location: http:~/~/repo.dragino.com/release/tool/ 316 +* Changelog: [[http:~~/~~/repo.dragino.com/release/tool/Readme_HP0.txt>>http://repo.dragino.com/release/tool/Readme_HP0.txt]] 317 + 318 +(% style="color:blue" %)**How to view auto-updated log** 319 + 320 +You can view the log on the page of (% style="color:#037691" %)**System ~-~-> Package Management.** 321 + 322 + 323 +[[image:1661305025451-220.png]] 324 + 325 + 326 + 327 +(% style="color:blue" %)**Can I disable package-auto-update?** 328 + 329 +You can check the checkbox and click the(% style="color:red" %)** ‘SAVE’ **(%%)button to enable or disable the auto-update. 330 + 331 + 332 +[[image:1661305258501-636.png]] 333 + 334 + 335 + 336 +=== 4.1.2 How to manually update core packages? === 337 + 338 + 339 +You can click the (% style="color:red" %)**‘Manual Update’**(%%) to update the dragino's packages. 340 + 341 + 342 +[[image:1661305328295-218.png]] 343 + 344 + 345 + 346 +=== 4.1.3 How to manually update other packages? === 347 + 348 + 349 +For the other packages, you have to access the device's CLI to do it via the apt command. 350 + 351 + 352 + 353 +== 4.2 Set up a 3^^rd^^ party package maintain server == 354 + 355 +=== 4.2.1 Overview === 356 + 357 + 358 +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. 359 + 360 + 361 +=== 4.2.2 Install Apache2 HTTP server === 362 + 363 + 364 +(% style="background-color:yellow; color:green" %)**apt install apache2** 365 + 366 + 367 +=== 4.2.3 Creating Package Directories === 368 + 369 + 370 +**~ (% style="background-color:yellow; color:green" %)cd /var/www/html/(%%)** 371 + 372 +**~ (% style="background-color:yellow; color:green" %)mkdir debian/release/dists/stable/main/binary-armhf/ -p(%%)** 373 + 374 +**~ (% style="background-color:yellow; color:green" %)mkdir debian/release/pool/main/d/dragino/ -p(%%)** 375 + 376 + 377 +**Tree Structure:** 378 + 379 +(% style="color:red" %)**Note: If you are not familiar with updating servers, most directory names are not recommended to be changed.** 380 + 381 + 382 +└── debian 383 + 384 + └── release 385 + 386 + ├── dists 387 + 388 + │ └── stable 389 + 390 + │ └── main 391 + 392 + │ └── binary-armhf 393 + 394 + └── pool 395 + 396 + └── main 397 + 398 + └── d 399 + 400 + └── dragino ~-~-> (% style="background-color:yellow; color:green" %)**This is the directory to store the packages. User can change it to other name.** 401 + 402 + 403 +=== 4.2.4 Get deb packages === 404 + 405 + 406 +The deb packages for auto-update can be placed in** (% style="color:blue" %)/var/www/html/debian/release/pool/main/d/dragino/(%%)** 407 + 408 +Below is an example package(testing-0808.deb) for test purpose: 409 + 410 + 411 +**~ (% style="background-color:yellow; color:green" %)wget http:~/~/repo.dragino.com/release/tool/unimportant/testing-0808.deb(%%)** 412 + 413 +**~ (% style="background-color:yellow; color:green" %)cp ./testing-0808.deb /var/www/html/debian/release/pool/main/d/dragino/(%%)** 414 + 415 + 416 +=== 4.2.5 Generate Package Index file === 417 + 418 + 419 +(% style="background-color:yellow; color:green" %)**cd /var/www/html/debian/release/** 420 + 421 +(% style="background-color:yellow; color:green" %)**dpkg-scanpackages pool/ > dists/stable/main/binary-armhf/Packages** 422 + 423 +(% style="background-color:yellow; color:green" %)**cat dists/stable/main/binary-armhf/Packages | gzip -9 > dists/stable/main/binary-armhf/Packages.gz** 424 + 425 + 426 +(% 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.** 427 + 428 + 429 +=== 4.2.6 Generate Release file === 430 + 431 + 432 +==== (% style="color:blue" %)**Create the generated script:**(%%) ==== 433 + 434 + 435 +(% style="background-color:yellow; color:green" %)**cd /var/www/html/debian/release/dists/stable** 436 + 437 + 438 +(% 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]]** 439 + 440 +(% style="background-color:yellow; color:green" %)**chmod + x ./generate-release.sh** 441 + 442 +(% style="background-color:yellow; color:green" %)**./generate-release.sh > Release** 443 + 444 + 445 +=== 4.2.7 Sign the Release file with gpg and generating Inrelease file === 446 + 447 + 448 +==== (% style="color:blue" %)**Make sure auto-update server has gnupg**(%%) ==== 449 + 450 + 451 +(% style="background-color:yellow; color:green" %)**apt install gnupg** 452 + 453 + 454 + 455 +==== (% style="color:blue" %)**generate gpg key**(%%) ==== 456 + 457 + 458 +(% style="background-color:yellow; color:green" %)**gpg -gen-key** 459 + 460 + 461 +(% style="color:red" %)**Note: Fill in the content as required and remember the name and email address.** 462 + 463 + 464 + 465 +==== (% style="color:blue" %)**Check the gen-key**(%%) ==== 466 + 467 + 468 +(% style="background-color:yellow; color:green" %)**gen -list-key** 469 + 470 + 471 + 472 +==== (% style="color:blue" %)**Generate the release.gpg**(%%) ==== 473 + 474 + 475 +(% style="background-color:yellow; color:green" %)**cd /var/www/html/debian/release/dists/stable** 476 + 477 +(% style="background-color:yellow; color:green" %)**gpg ~-~-armor ~-~-detach-sign -o Release.gpg Release** 478 + 479 + 480 +(% style="background-color:yellow; color:green" %)**gpg ~-~-clearsign -o InRelease Release** 481 + 482 + 483 + 484 +==== (% style="color:blue" %)**Generate the public key**(%%) ==== 485 + 486 + 487 +(% style="background-color:yellow; color:green" %)**gpg ~-~-armor ~-~-output <name>.asc ~-~-export <email address>** 488 + 489 + 490 +**example: gpg ~-~-armor ~-~-output xiao.asc ~-~-export **[[xiaoye@dragino.cc>>mailto:xiaoye@dragino.cc]] 491 + 492 + 493 + 494 +=== 4.2.8 Add url as apt source in LPS8v2 / MS20 === 495 + 496 + 497 + 498 +==== (% style="color:blue" %)**Add the public key**(%%) ==== 499 + 500 + 501 +(% style="background-color:yellow; color:green" %)**cp xiao.asc /etc/apt/trusted.gpg.d/** 502 + 503 + 504 +(% style="color:red" %)**Note: First need to transfer the public key from auto-update server to device.** 505 + 506 + 507 + 508 +==== (% style="color:blue" %)**Add the apt source list**(%%) ==== 509 + 510 + 511 +Add the apt source list url and name this as test_server.list 512 + 513 +(% 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** 514 + 515 + 516 + 517 +==== (% style="color:blue" %)**Validate the apt repository**(%%) ==== 518 + 519 + 520 +Get and install the testing package (download testing-0808.deb and test) 521 + 522 +(% style="background-color:yellow; color:green" %)**apt update && apt install testing** 523 + 524 + 525 +Example output: 526 + 527 +[[image:1661306420449-569.png]] 528 + 529 + 530 +=== 4.2.9 Configure the gateway's auto-upgrade rules === 531 + 532 + 533 +==== (% style="color:blue" %)**Remove dragino apt source**(%%) ==== 534 + 535 + 536 +(% style="background-color:yellow; color:green" %)**/etc/apt/sources.list** 537 + 538 + 539 +[[image:1661306460134-112.png]] 540 + 541 + 542 + 543 +==== (% style="color:blue" %)**Set up automatic updates**(%%) ==== 544 + 545 + 546 +(% style="background-color:yellow; color:green" %)**Path : /usr/lib/dragino/dragino-apt-updates** 547 + 548 + 549 +The device performs automatic updates from this script, 550 + 551 +But it will now only look for dragino as a keyword, so you need to replace the keyword dragino with your own keyword. 552 + 553 + 554 +[[image:1661306487761-768.png]]
- 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