# Qualcomm Linux 소프트웨어 구성 요소

이 섹션에서는 초기화 스크립트, 디버깅 도구, systemd-boot, 파티셔닝 도구, 컨테이너 및 Kubernetes에 대한 지원 등의 주요 소프트웨어 구성 요소에 관해 설명합니다. 로깅 및 보조 가상 머신과 같은 기능에 대해서도 설명합니다.

## 시스템 initscripts

`meta-qcom-hwe` 에서 다음과 같이 시스템 initscripts를 이미지에 추가했습니다.

| 시스템 initscripts | 설명 |
| --- | --- |
| `var-persist.mount` | `/dev/disk/by-partlabel/persist` 디스크 파티션을 `/var/persist` 에 마운트합니다. |
| `android-tools-adbd.service` | 기기에 adbd 데몬을 제공합니다. |
| `logrotate.service` | 이전 로그를 보관합니다.<br><br><br>Qualcomm Linux에서 `rsyslog.logrotate` 구성 파일을 수정하여 온디바이스 로그를 관리합니다. 수정된 `rsyslog.logrotate` 파일은 `meta-qcom-hwe/dynamic-layers/openembedded-layer/recipes-devtools/rsyslog/rsyslog/rsyslog.logrotate` 디렉토리에 있습니다. 이 파일은 `meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate` 에서 제공하는 기본 구성 파일을 재정의합니다. |
| `pd-mapper.service` | 보호 도메인을 구성하고 관리합니다. Qualcomm Linux BSP 계층의 `pd-mapper_git.bbappend` 는 `pd-mapper.service.in` 파일을 업데이트하여 루트 사용자가 아닌 시스템 사용자 자격으로 서비스를 실행합니다.<br><br><br>do_install:prepend() {<br>        # convert the service from root user to system user<br>        sed -i "/ExecStart=/i\User=system\nGroup=system" pd-mapper.service.in<br>    }<br>    Copy to clipboard |
| `property-vault.service` | `property_get` 및 `property_set` 기능을 제공합니다. 이 서비스에 대한 자세한 내용은 [속성](https://docs.qualcomm.com/doc/80-70018-27KO/topic/qualcomm_linux_software_components.html#properties-section) 을 참조하세요. |
| `persist-property-vault.service` | `set-persist-prop.sh` 를 실행하여 `le.persistprop.enable` 플래그를 true로 설정합니다. 이 속성은 영구 속성을 사용하도록 허용하며, 이 속성은 파일 시스템에 저장되고 재부팅 시에도 유지됩니다. |
| `resize-partition@.service` | 파티션의 크기에 따라 부팅 시 파일 시스템의 크기를 조정합니다.<br><br><br>ExecStart=/bin/sh -c "/sbin/e2fsck -n /dev/disk/by-partlabel/%i; if [ $? -gt 1 ]; then /sbin/mkfs.ext4 /dev/disk/by-partlabel/%i; fi; /sbin/resize2fs /dev/disk/by-partlabel/%i"<br>    Copy to clipboard |
| `rsyslog.service` | 지정된 구성에 따라 로그를 리디렉션합니다. |
| `sys-kernel-debug.mount` | `perf` 변형을 빌드할 때 `sys-kernel-debug.mount` 단위를 마스킹합니다. 이 systemd 단위의 조건부 마스킹은 `meta-qcom-hwe/recipes-core/systemd/systemd_%.bbappend` 의 `do_install:append:qcom` 작업에서 수행됩니다. |

## 디버그 도구

`<workspace>/layers/poky/meta` 디렉토리에 정의된 `packagegroup-core-tools-debug` 는 디버그 도구를 `rootfs` 의 일부로 추가합니다. `<workspace>/layers/meta-qcom-hwe/recipes-devtools` 에는 추가된 패키지 그룹 레시피가 `packagegroup-core-tools-debug.bbappend` 로 포함됩니다. 이 추가 파일은 `ltrace`, `perf`, `sysstat` 및 `valgrind` 도구를 이 패키지 그룹에 추가합니다. 자세한 내용은 [Linux 사용자 공간 문제 디버그](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-12/using_open_source_debug_tools.html) 를 참조하세요.

## systemd-boot 및 UKI를 사용하여 부팅 구성 및 보안 설정

systemd-boot 통합 확장형 펌웨어 인터페이스(UEFI) 부트 매니저는 부팅 흐름을 제어하고 사용자가 선택한 부트 로더를 로드하는 옵션을 제공합니다. 구성 파일, 커널 이미지, initrd 이미지 및 기타 EFI 이미지는 EFI 파티션에 상주해야 합니다.

Qualcomm Linux 커널을 EFI 이미지로 직접 실행하려면 `CONFIG_EFI_STUB` 로 빌드하세요. systemd-boot는 두 가지 구성을 지원합니다.

> 
> 
> - Type1:
> 
> 
>     Type1 구성은 부트 로더 사양(BLS) 설명 파일을 사용합니다. 이 파일은 EFI의 `/loader/entries/` 디렉토리에서 찾을 수 있습니다.
> - Type2:
> 
> 
>     Type2 구성은 통합 커널 이미지(UKI)를 사용합니다. 이 이미지는 커널, initrd 및 커널 명령줄을 단일 EFI 실행 파일로 결합합니다. UKI에는 기기가 부팅하는 데 필요한 모든 정보가 포함되므로 Type2는 향상된 보안을 제공합니다. UKI 이미지에 서명하면 포함된 모든 엔터티에 보안이 설정됩니다. UEFI 보안 부팅이 활성화되면 시스템은 서명된 이미지만 로드하므로 서명이 필요합니다.

자세한 내용은 [systemd-boot](https://www.freedesktop.org/software/systemd/man/latest/systemd-boot.html) 을 참조하세요.

참고

보안 부팅이 활성화된 기기를 사용하려면 서명이 필요합니다.

- **UKI**

    UKI는 UEFI 이식 가능한 실행 파일(PE) 하나에 UEFI 부트 스텁 프로그램, Qualcomm Linux 커널 이미지, initrd 및 기타 리소스를 조합한 것입니다. UEFI 부트 스텁은 UEFI PE 바이너리 내에서 커널 호출을 위한 다양한 리소스를 찾습니다. 따라서 단일 UKI 이미지 내에서 다양한 리소스를 결합한 후 sbsign을 사용하여 서명할 수 있습니다. Qualcomm Linux는 PE 파일 서명에는 sbsign을 사용하고, DTB와 같이 PE가 아닌 파일 서명에는 OpenSSL을 사용합니다.

    UKI에 대한 자세한 내용은 [unified_kernel_image](https://uapi-group.org/specifications/specs/unified_kernel_image/) 를 참조하세요. 다음 표에서는 `uki.efi` 내용을 보여줍니다.

    | uki.efi 파일의 구성 요소 | 내용 |
    | --- | --- |
    | Initrd = Init ramdisk | `initramfs-ostree-image-qcs6490-rb3gen2-vision-kit.cpio.gz` |
    | Linux = 커널 이미지 | `Image` (systemd-boot는 압축되지 않은 커널을 예상) |
    | Uname = 커널 릴리스 | `6.6.52` |
    | Efi-arch = 아키텍처 | `aa64` |
    | Stub = 시스템 부팅 efi 스텁 | `linuxx64.efi.stub` |
    | OS-release = OS 릴리스 | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">ID</span> <span class="pre">=</span> <span class="pre">qcom-wayland</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">Name</span> <span class="pre">=</span> <span class="pre">“QCOM</span> <span class="pre">Reference</span> <span class="pre">Distro</span> <span class="pre">with</span> <span class="pre">Wayland”</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">VERSION</span> <span class="pre">=</span> <span class="pre">“1.0”</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">VERSION_ID</span> <span class="pre">=</span> <span class="pre">1.0</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">PRETTY_NAME</span> <span class="pre">=</span> <span class="pre">“QCOM</span> <span class="pre">Reference</span> <span class="pre">Distro</span> <span class="pre">with</span> <span class="pre">Wayland</span> <span class="pre">1.0”</span></code></p></li><br></ul> |

    **이미지 레시피**

    `meta-qcom-hwe/recipes-kernel/images` 에는 다음 레시피가 포함됩니다.

    - `linux-qcom-uki.bb` 는 `uki.efi` 를 생성합니다.
    - `esp-qcom-image.bb` 는 `uki.efi` 및 `systemd-boot` 를 포함하는 VFAT 이미지 `efi.bin` 을 생성합니다.

    `meta-qcom-distro/classes/image-qcom-deploy.bbclass` 는 `esp-qcom-image` 를 호출합니다.

- **EFI 이미지**

    EFI 이미지 `efi.bin` 은 플래시의 EFI 파티션에 저장된 VFAT 파일 시스템 이미지입니다. 이 VFAT 파일 시스템에는 UEFI가 실행 컨트롤을 로드하고 systemd-boot에 전송하는 데 필요한 이미지가 포함되어 있습니다. 실행 컨트롤을 systemd-boot 매니저에 전송하기 위해 UEFI는 `efi.bin` 을 마운트하고 `bootaa64.efi` 를 로드하여 실행합니다. systemd-boot 매니저는 `loader.conf` 를 구문 분석하고 커널 이미지를 로드한 다음 컨트롤을 전송합니다.

    EFI의 구조에 대한 자세한 내용은 [EFI 시스템 파티션](https://wiki.archlinux.org/title/EFI_system_partition) 을 참조하세요.

    다음은 Qualcomm Linux `efi.bin` 의 샘플 구조입니다. systemd-boot `bootaa64.efi` 및 Qualcomm Linux 커널 `vmlinuz-<version>` 이 `/ostree/poky-<sha256-sum>` 디렉토리 아래에 포함되어 있습니다.

> 
> 
> ![../../_images/efi-bin-ostree.png](data:image/png;base64,UklGRrpTAABXRUJQVlA4TK1TAAAvNcSNAFVxXv9/1uVGUv+pt+dneZZneZZneZZneZZn+Syf5Vk+y7N8eneWz/JZ3h4vPud3znNvyGW567mtS3EvtKjpbtSLWDhoYmFQTzUoFzI4B+uW4fbgsnAPsQifRz0I7MwQamIhQ/pid4eHJECpJic9F6k6cnBhAtRDTXehZA5QNshNKQhrISdpsLLHnGIjKgwtox6cgy41ayFcMlbCqF6IRjIunAU52yi5qgIHzsAqEIZoghwcJNGDqNlq+4IwKRpdLIgachbkEEkiMt2zM0EL5cIPHaAy1CTUo3NQZClrMMZgTKsXD2QoHDWoCTUoweohaMI92smoHmJj8gko1RCQk3oIuKjBRkqUDdoIjPJByr6JK3tWYnKSwElyyShQDdooG2lxF6kaTNQQPQiDPsYm3IjCNQmDFhEUIVqNssGZoB7uwoEEToMzIXqIhXKwyOghCmMwgpoCdKVQjQoM6kE9XHDUKdKZAm20uWCCRHY6wZHYC/UQGyUYHOAyBG0uJKoGN5Eo00idjNrYYJUV1DzIi8wsy6sASJYkybYlLJWlslRWysZYO+uA69MX9MVsMR2mxWQxWW8p5lUAJEuSZNsSFrKeJSyFlbBW1sbG4Xz+gjnMh1kyXUybabP+04Jtu27brBszI5aSL0AQ4suukM8YIJ5GJPgvwX8jxei3AOIvRIL/RtTFO7gyk+C/BP8lVOp3AcjwMVP7kQT/JfjvC27wAFp4wHgXYv7AZWqhgPEw/A7+jDFGgv9GxLmq7aCLjpfB/ryU5LgnXgbx89okx3sSoOH5XqmGN8mQKI9+IQb/76jlQTIH+ybagPLrXt0xFa+B53vEvlGWzaJELYSNW1+IwQ/fGxUic+DuaQn5r2+byb3/jOeAokXaBWjhNqP9UUVFHCuX0EYNxbLiQaDX0gZkqKKi5FHMfwJEJPhvxIFNLKFNNRhFXlm+fDaRn3KCWjgBKSBBJ/cS20jgyb2FDOQaCFKmGgzjpDXLUhItFhcX07ZrbPna9ZiilIhgqUHENhFakudPPYpxbIhfhBqNDzSlGWpQti9eBhmlGbqIdR6MKO+fsZztHEUL3dSwfO+z7feJBspYWPE1njbSHFaQJuSRUnwLNpE8QctuXFT8Cva6GRmk+ZAp9FIR11BP/uvN4O8TX+N3iCX4b6R7SOeylnMqXoboL7RMia/xCRgS/JfgvwT/JfgvwX8J/kvw30gfEp5LWfL9swwQz6Ug55x4B7jPtYnO+48ygP/ckPM9CdHwBDyGFu266cXg72hsOy95AGYfIpM6uqT00c3y5fPECuf26JGZmUlT9rVbssjOy5Ur1NJAKDNzazvtFlP03ZmCEXIoMJQZZGQHXTcF0V9tr7aBapJEppniVK5v3xS0zJpTskZxkGfclMYTI/ZQgZJZppySAWkwkWZkKkwmJnQnlszCilOWL7ZBjCLT4eivWZENqklRQAkjTTnllKN5/Mu3j6alOYDpymFrpxhN+xJrChhaoj0mgC7LD6cUeW2por/2tWxShnMdAUx3jFBTUCpvLABQfjVXw00Umpjt+4d0RzWFODYRmFIPnWAY18oi8jEdp4ezczwiYDrPGxViWO4RAAAdHXULBnv4K76BWmelkNEseL6br6Gc0SIgIwY/7LM2W76xUIt+lpLkKejCncN104pzY8Uv4JdruFxuo6wBuYep5aaM+iHpvF2F+6RA+fUdlWL2ifkP6KVLeW1hcSs7/oAScSODA6RYLsEqZS1gR6o4Sq4B5ddLJZl5wpA+35ni+0DPlLOp5uDo/fiq3eph26nhDroBN9jOS7gD3hNpZxm8UGYoFKLkORQxjBj85aihUo51tD4GPN/f69N8ognYn+9M6X2MuLLpBr/27C9fNZYRQCL4oGB29xICcByviQhwJYMXYunu3QWDAxrttEhEJY2yDUR/fVOHBMOdprmZXt+1zFCZCpvjfr+8LJJq76nOb9yU6eipbt9E82PA/fNd/amyYP+XN/MPMJrIOT7sB0eIZpkK0WrgBZQavprZvByc3XRBmPQyIJ+3q/CeFJwuCkqO6AWc2eOOEg9gEW+2F6tpZkso1VwOw2xm6fsm4Wmb5XzLguf7pRqUyj1fep6YR6Pl0Szfv1hMFke6vYYKCWs3qbu7zJV3IYbVCwgIzw0KW7kkv7N6EMe4V4hnIHU8OrDhmwBKDldL2QKtSCkAOjpzt6Pk0VIAPP+cOTfbk0hQymFjaaWnFY8AJfG0A9zBYYixTCBI/JTL/ttRFifbRYep5pE/sn2zNJGY3M3k2qxDx1IzEQL5tLxRFuIR6JEZDIZKWjupfgAQcOWKiXqUEQoGaYmXJXlpEMz9fyUTmxgMUiItC5JT6of4A/wbzKCFZDUM63+Nh5yQgB1m2MFp1rWMOjQ5t/kMM0iG0zLIpKMc65ST4mv85sEE/410C1ftyRsQ4prbHeIdMOugTESd+BqfgCHBfwn+S/Bfgv8S/JfgvwT/xSO3/5FufsWVuUZTDxl3AWdhwaf3sTtL6fXi3BNxz1K2a2LFWQz+zR7Y4riHVjyDT9sSuGyO66YMYA6icNyXI2kiGi0WV4n5T3yByBPtiD3Abl3Lp8sTr+2I3Sf7qIe5gRjs3v2F5zMYs8ZzibZLsmL7dSEKbDuxvKVki+AqYR84T+xQyY7EUS2xtl4aIzIgY9rn6CvKWUPXUoyDicROkePcAp4lm23qOuvaQoOj+fF9M111mWBxdtzUFHpqCJt1XEabAQ31A5Ple6JCsZbOPt13VcB0x57cZUV834rkemvwW3EknWsLilNuy7hLkqrrpVFKbEWjT9XDfb90i/j+RX/dU9FblWDEdOWwBc4SPCP7tC0t1x6TA3e1Uw31p075AGcOPPAESaRkMXeBgQMF2SUDplKXCzJAFNSXEznbocT8J9DCWXvMBTiTt1ZJIrL8md9ggYEHuqgUlesf34ni+1iG3LkVWNlJijnGAk+lFkiUewGBY3DGtEFW2tWuxPzn3+64XFmiIz5cDI8juzwjsQANlOzkZCzAnJsrFKQxVsWCtgLjFgEE7L31KLMtCzLY0tr2LctU8rLJijOWsOauAyIdHdWN8pqVL2jbORdw/7QQU0BbU1bMqL1lCmD/vFGI643cMw8nDJxDkQEA/jUYqLMHI9YY2v7PzE+bsmIaS90NAf7szacN1h5oZ2L+869vbysLWz5cUY/6Ttyz2n6uWHtOAce4+QUkX4Gy51CEakrAFcPV5tknhYB0Op9mnUAx91MAOfr6fZ1T8F/61WtwW25hv5bo8jM/V81sA2KckIcs/KiK4TYuvUZ1bk4hTP65UY6obdR2yiaUWCxvAATkGibJM55lF0M1xR4qWN8lzj/VGrYkwxPzGzjlP0Q96CuP90sK+BJFoaSlDBDRdIC3cAIn95rIPVP0KOk2YQCd+O7ppQ3Sh+7dwUMCMF3VTGJCZWl9dbbX5louDMB09rssu0+2weyiPi0BpE9OhaV1BH4PkAKg1kNtPp4LK8B8JsrKsE9V20/BOvJOyzKVYCrZ2xUrK8uYqy8Ty241tAB/Yo7r/qGf7VM0YxptEpFW7C3yvCfC8nhIPVoVPR+o/M68trS4FXH/jFDNbB5AlC1d6LGFneOw6x8vHVD3XbSo9SQ9PPeX4SJ9LniBW39ak0ckhk3uznXm2gPvwgLTRvm4h1ZN5pkoi7+PB78AeGK4032lW1iMO8vIi1swZNpPD5FuwgAgPW/oD/BF4hoFlEmGzcrwFpRY6jURhkfvcdk92USx5LxRnfoxv6HUcNVtbwci7GeGOCZZ0nOHi3PCZF/DPdfmKPe3Af+KTCAvI601A9gQVZdz0EEKzKClKYd/CU2ULd8iej2p35INPbFid9vOYRgLCGemLWFELQqiLPu/Pj5IZp92D0vG7g/rLXb3nkiSZfBCRpTsNzlC4W+S4/QQ6TpLOne4/Z6wrlKMBLYYxMgnqLu7Bzs5lb5XdvryQ3h6q90f9uO4Hhvqr7DAfTrKeRyVmp4tvKbiazvMLClWgzKirBLaeeFsUg1W5EAyLumTc1QVOk8+RcxvAEC6VNcWFlmR6bdiNi9HFlI8oz5wnnd4MvlNa9KfPfs6el3sdWn6NilAzUVtmXtl34PNZafWtoAY/LBnv4TqhDNK9yEm0nkp6Scp8a5PmUSEoqzgyOPoVB3nYdsRkeIjdpMeyvzWuHPLTS9toZY92xY5MKLxfN9FaJaLsjzfL1OgdNxLoqRvePnLRPQ6/W3MWp4A2F6o+UvvlS33ZWK5Ob0AHDJI869Py93HAtBHeG7fS5p9iH5pMTF75AOT6uhuWB0u3uoHMnzFbNIRDQBP7HMN41iVYO7P1NBMzwhQS+yp8ZM8IkzxaQpgtzxLALucKui8BZjueKOOGZ1rAl1+5sqdY/4TSF90eJTrXtmHnI3ieTIL229lA99YVfORMu1zLBRJfWuwrD2ghcFsubuVOPGQ2GW7ercJq9zZApLtK35As9iaEk7iAjRgMxnGtQEQWJEqBGl5Vw5LgTaT25oNQPqXTwyy1HGYROKM9vdYAKp8tE2iZV48yp2kW1x/CkbiDDrAUIff9l7ZAbFnWkpiJTZQwG6Y3LP/FRZwp+tntuWNfJtJK8r+hheBRYfTW4tYkPvmh/rOwQP5IZqPz5fB0zyaComZJcT9IYCpZPO1XWfMZGSJySLLuiMTCEVZNolVnlOX0pwz9v0OEf8W7UM2i1u7yH3VRZA+eZNQzix/AndGWwRI508n9igRNg0Ar5P+a7olANtW7tqjR8ko0fzAR+lo7e9GT/DfSE0Qnktb942zCjSsjOMhaNEuBXENT7CdFV/jEzAk+C/Bfwn+S/Bfgv8S/Jfgv5EC5HhuM2lOvAzi57VJ/0gCNJRarptlrlNGBP6YP75DzG8k+C9eHbPPfmq0tAhF7dQcdtcNlK3FKdUcoj06Zh81i4cNa/rsFy465X5Jvn0t/mghdwglBkt4ZpFuAPzOnFYUSJlBmp41rKkiZQ8KldKynXSgCUWLibV0oLSUkV/YI6pOYoPla2f1oCiLfx+fPv+Kg2iJowRIDHBAAaVaLgzIf72tm/HSDxFi6UBQukf7+pnDan9NEdi0dXFURmW6qqdLq//+565XYt/kauxcOtS69ffwETtRuzIWKYZMuWdnmukZBgJrVGf2NATusUoWAKW+L3+ZbBQ5661xhHsF+OVqpvY0qidYnYId61xAqd5uwkUsnGQYI4pbWYBvWCa7WZiIWx+wsJdYsrvXRMa6lqH0yS/ameh4ar3CXa8aBtBiNzfWFXShr2/zE/PvgCeWfZpSTgsA6Y666sR8qgmEjZauae/e+zZhnCSRu6cQvmJRVqbNLFNRcl9D2999wsVBxGsPt9/qB78r4Egc88C9aSOk8uDehdG5psHTAvteVKBksbcayw+3T/VTSW+FfcYyGVowiDgOb86qi9jmMasoKvxtyP3TfDU7ca1J0tN0rDinX+BZBtXmxDkEy+Fdovp1TXe8tha3lW2g5uRRJUpMyyPieKq7yjeWj/+F5pqE2ciMfoS/9jn9PN9v/+nLhoEY/FAfqDz4/iSWp6oRR/VFOdlh7kCEQoXjA+jyVpQzDjGwzoB4Om+0sHzervx9ugG405NrD6gDWrWOJn2oOjuwxrg3i+YHuogPILDjQhxT2QJMV/bOjKqy5TxvV26eJCDdfu6y2iL8uZRk38oCihpvF+V0qIrHOkHb8VNUqdW6xQuATnvm8bQk9R7whSfb6SL94P65/SnFQc0uYx3RDDhcVSTXpWOnt9OzD/jCQkyjl1Z1mXxvjpbE2Qc4A/bYDm4xfgAoOWJuxbSdGuWxkoP2iEBgPCYQ3KkRS52JPqtCi33PRpm0VP5wkRSxUZUOVYFOB1fM2IkxipvZN0m+fqlS7Xoe/SK+gTPXDix8wAybhAHAr+ZwFVmO+fOXo9ZuVwXgd+VMdIDd/IYeQYkRU7IUAZAqx6jprXJkEgC5Ziw3ZcXX+M2DCf4biRquGslQ6HgZzDrxNT4BQ4L/EvyX4L8E/yX4L8F/Cf6LV+/KJ88tA5Jl4w7xDpyl9HplgPDcDOc98Q58f5v46WXAWUIfP5ImWgx1itH8lBFFKzustY86uHO3mUGyxvQFc8eypxnFvV9lRMcPo+iXPKqw/eoU2JZBTh3vgvlhw4SN03QGc+NdiMHPqc7uvl8A4l2Iwb9uQulcd6QAmI2fp/s009ilTcJEMmQS5Qimq+bGag6H6fR5tSWneXyJqmABNaXc/6aCmtL4KTr+oUtOM80vuZ8FmEquI1dN+w0UKUXV5a0mrevKXbD7NA65UJ0nNAXPB+UI5DQS40Pml3PuQxu0yJiNKGvDcXJVrmo+tpgRD29SwtFvAsB0dNfL2Kl88cSTERb72yoWt260E89UthCDn3tSPg4sF5sYZTnmhEnbCrmrZTBixTSeVRXRX+vMZgMFtMkajdJY2UllAbtMxmwtuOnhFbtSdv2nx3nYQ9a77BSsOPHxfMdMVzbT2PpzeytGGymmPa30DAPO06IpWYdN5cKK1TbL/lYKIPelEjTrUQ+75SVWL9BUsVfTJk/Logv8qHM0+hAPqaKcmXj5zrJRziLU4nqH1Z99qTbbiOGYf8K/RXtG2shlbN7GnlsvbbmIqoSxHdJht5Qx/XOcU5Z5aQVv1NHZlcFUbssnSZzTRgs5eInebbyEHBjgNZGlwoaqvBVld04C4B+PDvBTvYDU3VMAuPNd6DJZiMEP81mb82ALMK/M9qhMuZouEsP925arZVguysq8ZyLHWjsFupDOm/gtZwRQ9AdF3Ll8Ny07tsIAUhelkvUbqE7TuRAwX5syrhT2ac6m5NZENJqltZdotFNrb7HwqQ0l345llDV5fMPVTHg/C0DjoQve+gaJ9D5Pjze0Fdk5WcQiJ1GlO6op5CIWgJpiz7I9I0fx0rcJQydwjXqrgghz7otxjGd+ERm4urdjp1y0Kn8RC8BxqzPzRAs+TMJzKVMXodIMLxEMek2Est33y4i5//qD9yAPcPakUMtZ2FZIlG9UvDUL2IKq00VBwn2MntZF7LZJtMSaWjSpN46Kcj2ZpXdh20Oah0wcgS3esX42ef/pJBPKtGoFRYLK/fMuRPN5eh+mdafSx+ZTERGHPKqFDW1AtepXJcTg5xiq7VfPE+jZN6/mxnuX8k8P59/fNtH+HkNCd5CRWJAIFpEl1SfuY+QmK2TrfPA7CqyI7q51hvEieuHDc9QVhlzZF+OYSmQPw9cusJk1PRP7LRXJAu60vsr599uDv4/xhFIcazdAxO7d4M13yI++H/3E1uZZexDmugKzNZ9vG77qVj/WuSG4qtkcbms2OE4Pf7x+AOTzdlUfeL7/L6qVf00yPW32qx//9NkgwxuT/XSOdA/IUHKYMyWuCZGKXM3kntjNLx83/zexpY6YT+XOWZ2yL5kF57l0LLunAuDOu3NIFfjFNkmYygJSf2ai9kJzz/ljexJDJndauQYC52Nl9wqQ+52WVsZXpUqlqh3t3TUOnQ1AMlc78jgRHzf1pWpQFidOs2mjHHG9PLD9xsO2FsRNaUAY2Jrlnx5Q6i5hsxhpmVvPREMHafwrLkFJrLjMN7g5BQpbdzDQdKEZ/xHA/9qJJc0+99p0iFM+AZ2E6mG0xEm33rQJJd/MI8LXDakrtkoMUSJLf8NoAYC5bWXKCJV09vhSDzXmYhsnhkoERhHsfYl7Uv0bTJYYCtKyna5gGah12XrKNQD//tupiRdvZgFVvkn7UKiEo2WqG3zY0KKbBQBFdTxAu5ZkCoCWQ4rZp6VBEnVQ1DKFHLxXOyINAHVaWjD8BqZR4kVEqrpsyFTUQpDPs3yVjvb9vtIE/8UfcZbS68XL0KddSnyNT8CQ4L8E/yX4L8F/Cf5L8F+C/0YakXTuuzmn4mUQP2/wH4mfYYoE/x09ZF221jn/iJeB/7xR1qePJIWiOloYJ5GCojrcc3tI96lTx4JZpw7UTCxVLNLz6TMbH0wHQqESnnZRYQBmp2MMCYVKpK0U4bmJod/mf/47M1RyPdMd7ydxPG7PKySmfVsUJVfuGioZ7JJTyPQoMBRkmfnCvnumK3vOICPx4jHZAGVQyjhhQKluRVnF3TdttGHY2S0E6doo60v8ahFU+Ft1HCG7hBY5+Tp+Z/UEJawkGCN3ZZjNLJiuuu3TWGqagwpyHmz5jJ2oThkLi6TUbNW3cxYQkHoGMVuLwLR3D7dP9QP8CmTpZ5uRB74AC48PwFVDDKQtsEb1+nfAtttR9lXDgNy3OjOn0Fcs84ixtJjoxnZxLC9hxx4wlrfY4Q6EgLPaVqq/BwCkizW2sGOdFRDPVJXGSdDCyHenafkGQPrQlTprg3+di89hWPPBcXpq+00ugAB/Ouf8lo9Yjx4hMjJDuoh1HpR0X3L0r0tTimMLRDwLnSts3QErrEozEvXeLb34axmda6rcPyP0nX6tqdRQ0Hzu/cvG/Pl/oef40ogYqrBwOvQdfMamH0jEge82UBexzWPgMtchdBH7TuGcIsnd/U98B6Tbe29eQMki7bLChj7ppNmqr8p1Z5ZmELGATMX8+blQVCiYQcaTWD76Rbr8zOmdEz11AlSx53LAEErpGfbOnbNVX4GaiIgzuMVXulDVD5yIDIWGj176r6Ns4jwJzPGqd84lUvF/heH0Hg8ZC49GK1tCFzWFM8e/KjnAecBXz9x//bbKygJMd3Rl2lkuYrZMARD99dKHT+m5tCA8bw/pPobSh+Z1KARgpj6sZUrddODEbsoC0Keu7/4+kSpiTx7HyORStzyZkNtI3Lgl1JSSEnTYVLd0RldneTwiID3fM3JzDpsqV89MvsJOc8y++S1P9v+vF80P5qqcNocsbv76cuDus0Qbvvt7UhcTa+hgGiMyQB4jCUpDIAY/yw+hpcMrphXLmxTg4jvbzLY3v68eAhtMVpDWrCJtMnbZMLAyn1tQwphqrvapFB/+z7+kOnNFYNZpfonTTgJgXtkeuPWs01zFTVrEj+gfc1ZRnNd8AiHpUMhzJ6aSa0+oOdmlTcIA4M515Ko5HHBkOL7GbwNK8N9I1HisVVxMvAxmHSu+xidgSPBfgv8S/JfgvwT/JfgvwX/x6X1Gm35lgDu2TW68A2fJuF4ZIDw341HiHfj+NvHTy4CzhD5+JFsoNU7jDkeTBC4owU8/wvK7Ykd3WyOUVDlWAiUomp8vcJmd1lGoMli1rtzZc0dwn+EEmh5pJa/TIE6rb9Km5UbIWmz8ze4ZPpoocEEnnGQk+gv/sxPK9VL3SuykCypi+OgO9s9bRkuhZDfXRVPZyvLerKVg86bHLdRv8M2bNpWhMJnDBZs2bzp6XQvAupcwSLsw7s7DHEThPLKlk9z0fhaAosaXaN50wcPCRmW9oGKlkNK/SfPm6zS0DM01Cb1xMnHbjoiqOewC+gaq5KpV0rSCpaplr6EDaSu53y8ymys3dUmWPq2mZz5zkqWrYrUmXWJYV8XORPOm61zDIrfNk6k56Nr1ZzixRAUvGC3Eoov5MWoRknRJj91UTTrFOC3pfFOUeCuO6fkvqFbQ7IWadfnTDO3aP7x/kvfehZaBTsfN9saoCpN0b1T3HlZ8qaXF5y25nteNs3nTw1qSOezYPo0CpTkpXX4M2Vpm0+Wla0i6ym7avOkmKbHlrFmofoPYi8b8P811sU4Fsji6CukyqUHzvIO5bXN9zJ4LNL4EuTaJFpLcnEwim6zPSZvq69Ov1e06FYi6MOUCmd33iqha/DAy03taAMzdvomaXd0UAOfZeIHKloEW3NO0/IOM18MGkxVQtp3JhX9UrWK6HV3mhCFd3IhjKnmx7pdpn1acQdkipdCa5D8zX02CkR10LoDUH8UE8ooLaFmQX8EC5L79dVn3sCnnL6O6cM9Mwe3JBszkfRoVF6cNlqhC/aYp5bS3b/UjJNtj8tNoI42jl7PKnKLkX6lVzYYbuS1CqjPnPgXFxXm3yVJNOJxbn8ERbEBu7uxZm8zzZAPos8G18/IKtt5aZCpYWjUQVcwoG+Xqq3hw2qGbWYB/7jfJTytOY2WJTlKZ9u7hRA0/5f9meZEq1RxUQJsFjGynKxCfi1usrZhWkMZTm4VjIXVFNqGld6BhepxMpNfFEdueMosL2s7RMHbMzziYinKNIvok5NzVKZzrxkLHofcpLs6gZVEhajB98xxxJZk/r5vKW83k5alrpFBziv6MbJck7OiW8ut7WmL4VX2/D4DU59Jqrq1AbxIm6mmNN1ktrbiAn0oaAZjueNcPkREF0cyWQMdfd1BecQEjiXIFC29dUd88c1w3RdK5lKhP4ktcB+ZT0bVEDmf/emrtmu88LZGEzU/0/QDw/6n3KVizoPbnliNbUV5xQdqhxIqqyZ21gUR2l9F2Wz1xqQdEDn3FLaIZ/5mr5RWMwcuLhOMsmautfZEdNgl3eS42kKduTHa50Do6jKt6LCJu3L+vfRP2Yi8G5KWrNHUEJkvk92iNQjwvpbzGGaTAq56tr2MSAZL52teYQQIc2Pvk1e8FdNqeTPveIXaPhyyjnP1enhD9tc5qDlrlfs1vzARoeZwwuR/1JkOioJckdOF7cgRKErf5lfnMZvwyp6O979Zqdbxv+9BaYQAdHTXlOcou3m9SBzBfGKh52ZxVdeX1S3WnJfjl7PYZdqr5BQ46aCVxUwgEHN1DuNVVnIY90N/m3CYF8Hw310NJAzdrfsx8llFWgDtX6KktSpLQ/FcygWDPMBAQzlYVlquoVWxHnh7G/M8yKGPWpg7sDSjbvskFOgk1O02pJprPsPaxvDBKbyUtvW2N03OeN0+grrLJBfiYYfzWmLFgNpYSk3V9Yx0z+QL9oyBKJxYCz9J+w9GaFk2WZp8kqd5wanqfMdWeW2VcM/U2nLX5+5Jr1xSfLnDcCgM4nc1kN2OpMYNCAaYrm27WX6Xpca+dx28qE+MIaLWwKG62SXNJ7jZCTKrYi+Sw8q5dg2NGR0Bbt02Pe1DaKIWYuflYRAjZIWarkpmsG2teq5JRchGQahbiqBdWs7DDbtICAl/+ruKSWLUxvwGYrur+tPzC91vwoDHsmyzAVTMZK7/w/ZqfmwZY1j4WcJ4zj/EaWnaSHAFMD97HDWppzyDLln6t87lDOFZlK260snZoAAT2Wo2lZ23qAFqVPEq3o8NAtyk8tK17BS+eaga3aAFKNVN79h+kWlqis9SN4FmoZNtKQJ+psgCsPB3NWtyCLtKFZyhbHltl0vbMWVocRkzcsdewAL9UXV1YV1J1ujsTGKNJiCSdd1p+KxfwO+rW4PdklzF9xtOqxr/iIH49L2DK1X8vp7ioFH156YMoPNEvdLWrZM+ZlqPp9ApbS5swzNTUyRZYzsJcbG2P5cIwnX2npvk8PeA47zBhKxfwxJ41T+CJwJ37VmWzgPRFqwubBqrzUcinRhCLWHfzMRxbYQQ+oz+7mQ+B8VarXwFIX7rgeyR5te7mtOwtPUufnnR6muUBJDM9PVwT78y5Vx/CCAVfgmSueFAiS3xQbGx7b0buGQaU7O1o5sks4NETufexvEueJKNsGH6pZxC31RAI8Gds4QdrnH+/NtPxPtBFQIl+s4YWzORJghJjAUoNV8s4Zcljv7iI++mrs9LwaBF0EXrGcKzVNuSq3nlCF2XpSyg+N8f5Bvq40sYsMz5UD3NJXdPS3N891Of4lvwzY3xsGEX778wwdwOS7UmXFAaeYPW8j81SPZThcZMG1fDHrs/tCetX8BqrCeteQKfVV3IwWXFU01F90Zup/eEuXC3l9AzDlOsOonn2tI5e4/91t50j4o0HIHp+k3865LzHAhoTa74xc4ahvy10sb1Qc/+eBlz1DuLnPD3KoMCxKduuqaHSx/5MzU+6FgC5mw20dsh7diUE2GdyiAOtJ1g76J6vMqbolES9KTlsD7txbbRKYRSZtqBzYQNVzre1qLGFVeYG6/NMJQCBwHjjdo7mB65/XCbAzLkGgPPe5SHRF6j50We/MwAzeU6WviOK2hHJPxZTy20pNBCDH/7sS7koKzaUXPY0Q/cHMBdfTW89ANvztfeXKQvAxXeu6Ca98J5ecDN9ehbciQiRnfC8lCTd411gUSYkSDLnWFFxSDUvm2EXZfWTx4Lp7J6gfjkApv3pIb8wCzhdbASc1VSpQwMA21emnOUiqrsSpOfbZkr3MUi9hTsEAOk/6vh2JhuBRa+2VhZGYKYre+fBvbRmsv/iAM4zyYcuF9E5ZAl2z5gw6Fuu1jlLtS+VGSeil3lmWmdPHfMUC7GsBsR4FcfoHEEfogGYX4FKHJoL7HIsdo7bMqDkO65wj6XTSagu3dICzBUG8Vu9yoxDWjFTmwA47znP/sgjovqsKEmF7tgvbDfs5hkUySKkfhN7cL31riJb0YaRKv/GKi76St/452WTB8l2yGVZhqr8honWu8r9IoDBm3/beQGYjZ2xY623iiS5RcvwvjeNLtZlTzOUa/7Qm2uSvvNBJ/26lC1PLBDHwBPZjVWcUhbIk2hfWE1CFpOIUn9jNZ2/S0/uW13Y44rXkPlUExwvF8C6MqBYKfbTVIBwnnfKv6ZuG3ZOGeQ9Ksnvyj3ueuutcmS0QAhsoJZNsnJhEEoN182uZQaQu3c22KRqOgp2z/Ao50ntRk8ARc66q4mMM64m4Mx+x6+ZrR8EoZvCxVtVrGwBn7w+peeLIAb/sj2sGPNPECuGP5eW5SnowlX9A7mJhjv4xF9meVtzq0hiObhz+b6lpwUw/RX6ygzuMR27VRnEEf+HKlcWgGQHYDfWO4MiOp5XnRil9/xe0rubBYDwKjquzcepBToDcX3EVGJn94gxf/69sY75fx4Zjsa3Af+zFJHtwxxvXMeaWM/yuXSAv6dwLvUI9TNE027cSfUxnlhn7kTrOcQzh4H0yZddKwIgsCgVckyW3uBVmVibxa8OcMhLo16I3BiMt+EX7JyNXe7Nsiobn67UGvMmFog2KeVOtN4Mh52VZDbW6l2SCi2tMtWGUFaRjNbIz9x6tIj2jkErPS1tT+L+T2aRAu+cI98YNLZk9mxbZUWUlooYOc85K+oVOc9LWeIcC0Dgg8etb9DD7UXHai7enp1TaMBVb54BVw1bwzHKGgCU6umYLZdMaLyNWvVrWzpaQ5nhnhYCt3hfNhAVZqmNDqgw1yLE3pfn+92Z0nmHEVGN2dMZToJPMCBj0EZa6+0ixLlDJpDGmKtRJiN/bqFeuthjC/Kbyko23csopyb2n/lqhlnciOmqOXeTnTpQIEvZVRF9q3T0XckxZQFmslCzGm22HkzZ72Z0zaTmg3LOr2deiT6bdkfouqLJD+9s0GZcfQfxc4gcthdzV6Ws1oNpWaR7Eaf+uMBgWqTBAm49H9DFkcMEKHOnRoxk352ANNeczJ5eH2CkxRp8LoMY1InOhamHOsJzKen7AKn7Ennz4Nk0AWfOFYvVOqvt2CSputhz1dpuMoZI9TI6mJjziNFhStVXk1Yu7AVEUDQlqZyFGPzwDQZIvBEjlhfnaM14Z27LTTrresdNzYZ0e7f2PaqIPVVfMowL3+TtCamvRdPSHqPe9MS9gPNu3LcyDLiqz00H0loXhI6n7Y/X3xNVJl9tFI+oYqfWVmk7EvJNGOZTTZZBS+WLOXl1dbb39DTE/kaK/kBgRkqWpzQPcdBCbkXGbJTGUU46C0RkEnRhINVRO3LeLI124pVFrMC+4zrGxNb81nSAvcdtvdGn5UdB79q6/H3rvErJx/6Z9dT0WWqjXMws9DDMA3Tbun3iEV5iZAqYcc3WnE4hXiUKdr1/eNXFnr2stI5APtNKnBz2he3GAVdZOwVATbG3XlrrRhn1t7SAIiV7nyZprc/FSTxQXePfYJ9GxYxREFo8jIDUO1nBLBUzOPoBln7V78zTvQD4d6zHM5UtT+y+q9UvB5L7512C3cfo772Iv1HLXk07PS29XY61QiF07M+r9d6AOffFOKWShuxvL5kFHLIqf0+SAbm/006kL+8Gf5jA7AFiZ45WybSlkrznLl++CSWy8miWhnKci3OXb90krViSswJPxRQLoqC01oeu7R96rg5u0fLETr63OJWEEVMlnDhwnQGXeOYhRyiUdgIqb0pJ6j1Awrai7EeJNkgB8cxwNaHU1+orTQEw5ewJBleCgee/AqXYKVkYsM2cPU6r74bOyaiIvzfgkw5JLco+eZ2zDI55qq9QCIM+LU/YihBXWLp358BdNzLYEwqcj/zvNc9XQ1ivM+BHrZ53+gj8O1ZkZAe1zoAvbJdkG+n7rsbRD5CNARdgA9MSaj3a2U9r6phKjlDsLhgLCNJ2WfCmJvPsaVw3xDbMnaakW8G/Rj5LS6Ka90GUqYnBz7/x/moSX7h9UFlZqJlYg984xd6XEKNrCFvZOh0XzROZLNScfCXePKhR64IxDnXRKQFX4ruu/4jyoLciAZ5ovid4t+ivJZhbrM+vPUsAprkjnauCO0esacZL3U+60hweEsg8lc0hjskWY89ML83Rb8ZijXaAjl0m67tM9wPegOzI79GqZA61iu3AWkCVyZkAJ3U/6eEC09DCLvfuUTai+uoPzXlwGK7u/hTjINcZsI0QM8Qmfw9o6c0Uy/R0a36K6uxWA00pRx3oFHuf7M/MZzeulRV7RNe35ma9T/YrVxM2vcwdB524l0Z6Lo09io5t7H1DzJzev29u0auEOJJzNus94N/oH+xpKTV8NcPIG4Kzm4n5A9ySknBhHjrMvp79nmGc5Sl4qvsBVzkyYng8w9ayjIsGdqSTPHlSxmDEJmnFEtMNuDBzbJecYu8BjpjqLKsBzCttvJLAqDUtYunAMJUp12y3tSitM2DSP1umw5Dr9mc2Dmn2ARJmiRKFv3WrfmkadrCI4qTue0NOEkwBW55XFCpFV7Kvn+O8Bb3FNmYU4gR7F7GasjqoFbBJN0Dbe+khiN0POEM5AH7+uZT0MUSCSs6cHD2vweaidkNav/xj1ezWKyQ6Nel5bdaa3Q+wm0f2g/YWJK5jfkNTa89ll4ucZ+Mxyg+8c++TOaKH08ztVNxzc95NoO484GT2mHxGkRlzN1fM6rawsJJFRWwJd+7kh+86zUnPJSi9rKPhXnIpLdqMfdhSXqJN76W8Rlgvh3jz6LQnZTs2kcAa425Y2QLMbz8BzXoHSxP4CtoX/HO/pnZNIH3pZS8SMRAQz+TZJ4WAKfd7ef4+FtkNSX3zxC0ird2qhYk3/m/ZS2fl6XqcySJoSzIBYmcWnZYv3yiDludQJL1D+pOvIp/38txUOeJURNq8ZvJDGbpnGDDbtYSrulXaZmHAv1f1N1YFlq76KBG9gCubaZYfQknFEt3PK9P+XJvJbS0P+NcYXnIr80rMWYZe3NJOsJ6WmCjB3S0gcOwCaSoMV79Ts1uKrNUDc4amdWdd/CvW45h9tPY6jLIOVLux1Qu4rXIGs9PF7pVuEyEheavp1Q7ITE6+tw0krE4BtMSATXJ4ViFgip+buebyQOrQ4Xodh64mrN0kVH/yTuWbUEZJB4kJA4FPCX6HXAAt6qrEmiElrRulDa5swb/okA0bWvB/heqneXC45hlz/uUwcYaH4M6NZXp6p9iOcs5kaYIc09DSypJnX48ZB2bysRhlcQvYVshOe4ClVE9Hy+NEC9ohV+IWM+pnq4jLQm+5b/XBDZK5ah25LxP7LcsZzBae27Z8xYwgI9vpXB0zma9lJG1VjDc1Zc7ikHoP+JvpwAIu2kJAToXJ3a8fDv9XyKuvlsu8klCjcf/M6rRsZwoBpCZZtbYiRqrq/7DgrXQFOCe3Js/nV5lc3SlqNIxj9Oc1PN/vBMxWA6PrSasJW1mEgxu1bkQZlMRKxOXoO/2n6qpNLOngZCy0OJ8e283S1yF1Enp2Inar32gmRixPgTaz7Sjja6TnprWuWECJjDTHbAisoZNZwRbVU5WorVukHzskvsdSBblNQwBVvshK4iZLPxudzlFAi62bBDc8mo6WWZOI8qw4pZcof/iU3oK1T61H08QAhc1nWah+A8937zky8a6JwHWHOW/CGsfpqclj9sXYMwzzg7Th1rPM7WBgl+2I8wc47/9H8fkEsl09iFbOr2u0Hzf2cX8Il+jKTSk0mYWzhovRXYyF1vSZgO7Upv/HtRl7UjGGAXhGkXS52k/nfb8wAFN43hvJb4jNW3juC1zSP/fe+sNgc7xxv0Muud+rTsy9qgtbudBDn1u2GSBh79Nso1xvMDPbM2EHwTpAMGZigaPwf/De9YmGPf1W5CJ+JfYSC4rA2WzmLwyb4nNt1heyABS9fQnZs6TuW49VNiMO5aNCR+xjAdtegbLPFNYxv8KQ7zAmdPwr5tMyLx3QnQMudXPaUM28J23NIYttBhy8t8DKAradM+fLiqJonHQm1quz7sHlOWUfC4D/lr3V6j4HBdDK+Bbu9ECa1cDgQgUN8oya9N1nqt8LSOZqKavDNA84KQOvmvPg8J3Wp3mI3Pwn1B6kij2G6SnZBumRTGdPq5GlTRiaHo4tC4ApVzO1G/aKA3WlzhIGENj3to51tn88OsBQyxzQ/QacQYHsHEM2S5xjgegpWfoHGRJuGUmevc1HTXqBCfo+ikX2Hq7s+zTT+p/AolMzm7JhIP1nFmzYEkBHV+w2CwrAaSnpevDEck8/hNghDqxYXSV39+cns4GMt87n5kkCAKW+32/lCFGCNW57eqIyuwxlTF52ii5jbEfMTIN150gcz5t4Iksv9dFqO7fINnxpdW1e4uBVxxgtC/D/vr3bDJhUzE6klesY49YE88qr7yTSxG51x97l1OwmSWQ3lbQ1JRvl2nyz47ZKGyXXWFnVL5KviOK/4U2ZOVlaKb6PRezIXYxjKultv/xOA2WxzdgHX61+4dFwNquUiFCw1EsEveZR2td9v/QY5dS6Kx/85lrun3sFZkt3SvS1u9rnaDhq6pUVSj8iWccUAs7q24tMFro4cq+uxjIyFVZ+vatS9K5aCrxhC0b5ifk3EA3BVbc6v5VFWOzgS5WnTUZkAJ30fduztJOKNkDyRAu1q224iQWDqLL83roRzm6v6/wCj3Sj+kRxVu0rzelo76sfqjlqij0U0jNi8LTpBzF73BR0dFHkqp6OYRa3vEGyUEsBmUFadkhiX0pyzvG/dt/jGT4tsMG5b9iouDUNqAJnDBEFvfqqJbcCYC7WqzVPbxKG5hddMovoR4fb52TpOLvv1clDQg+pUm2rxFDJoYdeoP2J3ZQp9a1O7C123LyvfENcZlVLzMgOUagmFjFvwde21g5mDE8xJgr3hPHoUZBu7xABufr2td/B0t49aVhah2HeQqilgjYzyDASNckv+qutf70r/z6W/mlG6Yk1RukxNJEegJqLrloiU1kglMpbujOKRyjrOEh39A0yFLGCGeCu6laXKuWyAcoIUdLgL6MuYvg08ke33Tl8d6m8UWq20nGefh9xKldHF35n9vsdp5Kmo1QzMmNLdCE05DqAq9987p4kBBy9ajMsbjZctVi7tnc0eJqpXfLSWaArTRPr/gaJ7J6qRNX9bRl3IxKUa3bmNvNZgN/e3cgx6UfUIHuGUj2n0Vn/b8QxDWAUHb9CPjenocGqFU6HxPexWhg9qD0veRvpwp9b14JBuHO57qDBgN79GzC1DHM3wwcUajnVJ+5jaS5se2jzEz1QUc75yVKs3fY6OuaOtyf2gjoKZyjrcuGj3X5SbyIG9PYWA7wn0jvLwLz666Xz3mM6bqJQJOm8Xe330bDmjBNWAohefYINo/np8jMznBtg5oOnVGNiJx1+IwZLSbo9J9ZFTPz2filL936+fPGhkiUbLmPUsxHcOWJuow6b6Fv2Ke6z0iXdogXD+Az9+5zz3HxhThJUNenP3ki3g7bry3URT5N7YNBGJrlsWUvvlS4b6vFCV786B7LYGSmZF0WHaFvEmbjjO9YRr+CJGbthw8MeVnguLbvvV8cP6ytNGXJVs7WMJMrr9D7M3pcCfmG45mWDzaYkgjM3AsyVJ2t2INmeay2v6yClc2nsEf1ImfQHUZa2VS3ABGzmC8zhkLMB/xYDGs5et+5Ttbdvcmtd6PjyFZGl83m7Cu9JIa4hNWz4Cl9uc+3NwL/BX8BKDrqul+p29aWSzJynh/Pv7x7i+4Ck1oq4Re6VTFBfXdOmO/ajBjS8Z7SbO6teuTwdZQj3MaClZ59YxIkt7+mpfatQO6S+y7Kg83/psFvzxUHHDwvSkm6HV5Ij+iqU+9IB+5x+xi+k59zqdHdmsyW5SH5nr+CJ+Wha/uHEMUz5JV1kSwAw99KNdrlpe2ZPBVPqS8cyjCQ17N1m86Mw3dHvxKquaSDgqHmYj83SmaJr2ynJEFTZRDv/w3hmDxXRJYxJrKj+3JwKxM7QcG4eo25SqruSfcvL2rzHdLq7SYie0hZk9p9ZRa+iX+QbaeXo+FwzcXLZJBiH9Lw2k38fy6iDo2nHVsyfv57qX+zQgFyEYS1iaS+k85TRF8QL6Y+zvq1OrWMcn6w8+bw0wN/TcsRwEW8T86nWr99AnSxC+rCu30fjmHo0m8WxGpArcnOGdk2Sj/WTKgFFp5xKjWotraNMVph9KiIUyCJS+xkMc2qQ+40cvU8K4OpupdleqNnaQbklC6SLt6IVmcqCl5B7fiC3NbomcOy8B4dBTKKcrzcVEdU8+KVNDBzfOYoQ7UYV8+df56RMclcuyrKJlNT9E4yuNR6YbcgonuCd2K1ofvxH8W5Gak5+25t5RACvPVyb5KyqK2gSTCX7igvr23Ng0ds6Ntkax+nhj6dzYephqa7AoRKeVRW6/AKL0uGeka/O1f7FriHhrSngj04xehNWz0MF5Jy/gLjb3FjThVZ4epzOYNLlnSn6JQ12NQ1ya8/PKcSj1+bfQ9JeqMtLrPxusU0PtS5E2eMUAtBP9OmNHqdJyYfo69vSV9TSK50pEouJktswzbXpYs8emXwhsee2PSNe9eHOpSWVJ3ZpxhxF/07k7CZH1g7l1zuIneMRM3/G2T81DBQJz0sgJwFntW6SazB5/qWmIqKuRdTJGMezNLXs2bYwedvYIWdjp64BACccJt1jqQw2BhjbZRFDyq9vW5LZJ6toihLxHoso58McGkG6lF1eoBUyDC+cf7+GOh6bpo8X8+fvuefkGOJEsFK3Fbc1Gwwmn/xAep8xNefXXQmqPa/OV1/9F60aIY/t2PskjRjyNrvLWVfqnK321+NkEW3kQR+qjCxtdhX+tE0aTLzF+J11b3uzb0KHL2LBeDals48uD91jfiqiCYz6jh2qEv/+CyrzKzzMkxp8o8CnfOiZLHihXjSo30B3dobcqTWFz3uj7wBd+Oe+aPEeupyHVv+QXOLNjg688SPH/Pnr0uS55VdPZFgucWxLp4tYPfJoVuwUvXaeY47ll/OtseGY5Bas2n71+5eNAAGhZ9pfGIb43GG3sqCL1JfY+kxhfZ04e5jc+ncgLiqpN2CSAq4kUeCP+iLDuM1WdS0dJTt1utoKhRj8XCgq/P2yyAN+cq8EQJ8Vd5KmLPXWVVaWmTC8cZ6XAvh7wvjkB1I6d9TfQJ8zSzZxy+hC9RsYnOVe6apqbkvkVyIqZMZ3/R6xT+9yYeC1axwvCwYomdjW04fuLW5y4zK730XrZ8NbKNWtWB63CMPZ5KYuZy9Uu5Luvm3MxdUyrPksr670XgxzR/i3mKl+oUH+07Gb+YhOaPhfl/TJC6k3zgDR6LUp6XpYlzutb+Y16jdQ92+JfWryEIq4a8Og5h7EyGQ/VHPoa5I1fPNB3By3BCCTeXBD9woG7wV34Vh7GFNP0LBbDUEg7nzb1jJPsRCj0wBAl5+5qbRlmftfcXBl7+2+UegfMdDpQepdOJ3uXtrTAsy9VrNPclV3vWqYbEz8fVK02Y45FnGyZ+8OY+pkHqNG51yyvxXeM6I6sUm1ZwP8zzIBS69nmSsMYpjFw0Bg6HBuTyH5Qp0eZJPJP0oOc7DwtY2XBsxjU6B2fQLmjv+Xxu84LyXpTrtvcf3abwIkL5Ko2n6RvkYNpOlNuXsMNhm/EntPCzBTF6FpiYmQtzWRN4kAR9iSDHM74uy9BEeQ/FBK0U5p+H/i2OrNWdPPGgZ22ThRexoAg9l9flguiLvPa4+OWDH3ymd4KsFUb/K+SARqY0xU1RJ6bOFLZsHca1AUpFLqnZpmudbERueAI+Yp1s8YE/pwZ/M1y14kC6azm4llpxTJ+J5Ug9kkJWf11bceRyvEvRhms7C2xRjc/NTiK9Agt9VA3dhfRNxkwSDLw8La1rxdzoMtBITn2qQNc7UDHNky978+rYwWgenK2a7HWmFSYLx8bk85oOYZbZYwlQX4vwIFqE+LS3ox+GmndmpGpmjrogFzC6aWVj0gTi+UzPbQ8mgRwEwe4PaXjlJzb8q+atiQzaSZxS2YyQ+lnDkimJ7rCc4aRvqi436HQuhlOjJhAFWuS5nCnDCqiH0Z+bSWXvpZ965fTqveHp9qnfcu2tVv/7GnVfmfqkZthSaauc1SPcGeeaOUU135Gim1tiqxb4UB+P+pa5H9UO1rko1m/xPQ9DhZQOoid3VMsrSdpursPAY3yPu/dZ44Zelquk0hgG352rzOucCV75miclX3n9B1DXhiN6fkd4vA/yy3H+xZIn3yrceJQE/OvUaKSq5L59pUzwkUOXOXV6UuOqT2zPCvOO7g2dSCTscwm1mqqBCx3bjqDqr3PlCF0vbRLhWeQL1tVT9bOjOIVsqGgXVb5VwuPGKKsjij2TIiwAVogPgxMf+iQ2iJk0RTCHBeCuxb2dLdXbYY25ND/Olo75uYpnbsxvEEW6UxEi/ZjWOy4BCiQlrwz6vd2ETeg0ZJLD2NAMzEAo1Uh7R/14kHEsG59sDpZuxL5rCrXama/k2uxkmPf+NNGaCt7u6y11bPdOoa4YfNyFAd7MKNOaA1zxNBkZzTv4SVBHHJTTl6M32d3JxfVP8SXjXeqhkvHnBMNkCbay6e4pXn++WSX9MOPPMNh9CsfSztjWnqvmreTOjmFVXmCoNegJOX3JSGOQxlqPyvPaxth5d/1UsxJseT7ZfrtQX1VeOQx4QpV7eibI4SwE2bTLFcOJbSR32hx78xH6g4xhgiUwigSoWCtpw48MAmNuvxsoCm7yJIEx3z5gUsU9lC+qvXoCVdWZxUFpynbzD4wCU3rRj8Dv0AVGHP2CR1zc0z5Utq14bbTjyQMyqmCZvlAVfNM3+uCKpJs1vzWQBOcf2cwaL4qp92roOIpy1aoKXHGLFIr+kSNvndBhIhyJVUaZx0+DJLztOob+ckxOk+kWc57RjquueBigKt8DdqPhcXen+1CtM6F8J48mWvtuvC5yYrw/8sq7ado/umBRtWtgxcmD5ixa850TwMSJnclpsCGjekREYmS/5uLhnYdpI8xp5GK0cSzK8fYihB+pWfRsNctHZ2ZrGtgrWXWZLHTnn4kPoN1E5psrTay4jgSctvGTZPcbGSQx9/onlYY9o7E7tfewtbumryO2rowBiD1RUy7MS9LGJPQnyfsF7Hk7yA/iaclfnaQ9V6rkiZxAWeBb7mxGqLzg8eLwxo5ekgmtduxCjjW+pBerD2QCL+AxcVgf30zTnxgF95qSY2R9qKAC02b7ar2qQL1hzfIm6WYmRBFAAmQMtrLQ0V5bCBQ3lp4Xnyg48XhvqghNfW/poLX5sxxji9x79APk27nDaEaDHBn+QRMaI6WybPMaS0lKPKtgSAPn/qZJRZWrq1nb5GCnRMJYftyeFZ0fxAe3ul6S0tL8zGk+cHS0sZWaL6aTwxp6IVz/1FKnLl3psybFZbkf5RXIzqjfpHWZkh8kfS/wH1rGOPEBFBjvUJZjKfWxCkTMrilO+VBJBHH1cN61vhqEwiVJqhXpgj7rUWcocES2n5ZssDfZw1rdQMPldxH8s7/xrtM0q1O07C8GqXK2ZkDGv7uRWIPFs4c1ollm49x8mIRfxSTfthpYyyiqOuOhvwb7GzWtC24tpNwj/3B+mrhrhnUompXBCiJI45MoxY8q94+4wMyuLosmWTAP2VnOCaJ0gifiilNCODoSatYAHpQ5fVl+Vmudi2ckGQEkq4tVMmU21sr80PlabxtLICUp25k9mCoSAjO2SPaAFK9r0LKFO/8mHeYpLEYNqSRzrO+67fAwbpvZz39JpSiR4hMtQf9Vl3c4bqeXB+RumaEp2EuN2T2mIDrpYCbFYG8TP1NfcdlJFRMsvtkmCsRNp6rkEZpQ+5pEewiCwnyyil7Dn2TIGBmsLZ4cGMUkY+oK6lsYm6FsZsHgCYjcVateCMQhS8itgzJEhZtY8Uz6spUnL/NjUJVj6BI5c4tDM/4+BBw0rT3m1PC+ZnXEhrh7PIVFjj6NvXvscCGX024HO7hkIM7aArEGtBfG6idE+KnieWO/0Q/X+pMnkTdQtglAPqpgB4/kUoI1hbbS1Z5EZQuaBUva8mDLh/5u6hzJDBD/I/VqvE0mEl5FW6Iqlvfqg0Y2s7RaxCs/GjvXhpKdl81EVk4eD8jCDtOFf9QNyTutzB+eqW9sJJMIBUZ85klBEKZrywR8SIq+fs4waqze8xdG2gaDc1id1bkq1h/jAA85TVdrdUrpz1OaYSvEaL/aqpWYYBIr/dLeiS9wBq8i3r7PawKfDvV00XY1vwV9PH7haRnFF50We/aAP6KDrl/AaFN/sQFWHp6qRuS/OUY4ehC/9+RFlbkHlagEEhkiyyLtSy7dcSRnW6u1oddbuRuao1piaoK6guvxbfppouHtYCYLYzWCdqeS3DCk8iX2l+La0Uo4LpV4NJVEU3suYMypJkwfRW3S2ILCyDpLvBWwoAzFSt7Faf+ZMQh/QM1+/uYZi77R5uYZw6zN2UkNFqNZVkXcuwouYnVlgfsgr167OQbHi69A2z1K3d3chm0seo4RWdspou6upSml/fJImGbaXOHzZIok6L/R7W0mWnK4vZx2iFmH3mbwkYtGLDsqfuF4ZRZZLlIpMm1rOufnQr06jh6tptNX1002eXZBluQC0NGsP8+grYbfc6fQwaE9SCklnoCtTSMm5uI7LmRdzC29U130YcfcKdWy7NtUE8C+Rtz+JWJN6FxV7x5pTJMqdGfAvmleizwdqK/Huo/7839WmXQohzbvE1PgFDgv8S/JfgvwT/JfgvwX8J/hupP47uq/9fcRWw9/KQexV3Mfh5NB7xLC3fOv7zhuT3zzg7411dN1acnedXfOgjj3B81Z+2JXDZnDLhnFE4I5ljF76WBpv9cF85pe7ta+/hjXmZv6C+WxpBnHfOICNd6nqxtvI+jWhzp/qFRvxrzFRczMqzWvpa1QZ0x4gCs6elG7waYxTvJCi5BjXhyrkiT4/uW2S6+r08w/JOHYHubIB/VN7Z0yqzThgFifO065MS2zpbNJ8Sa3MgE2B0PKQBd85DKaNk4ksdfvqIzmWY3BJWZANDgrTyZBaApu0Tp7/UcJvF0KfWc2XTtW2VtY9xYrbrBq8R/YU+3SxyvG1lVs1HinIeB4j1V/UNFbJbnTrdoFeFPUPZT5pURw3o/KkSWKFOnXb27uHcHLcFBM4YeryWdfqI5800GDeX2aeb5RudTYy3tkz76CjH/X7Fmqu7PbdHkbz1hytQ0i+MXZkuvjPNqmzhkyegdGYGEI1LPaCUUxvO9r0LiD0UslzEiyd4J4Znj1iWtVXFhtqws+h9oheq6K8+VY87+y79JY/L7pMN/7de6SUXE2qmzaRlYmRdcnd/YavBLttFQVGWGvSemXGWnMf565fIFN6jDai/a4/MtLIRYuDZG7lirpBok+uXw8rT2cxMhlFWFmp+SSJPZp9sdHqFaXtksrS88TJMMoMBTxkMOOWvQ+zI5764MMcjagM+Orv7SuWJ7wfSeqrqJM9JDNHyA8dxRW+XOOEs5eCqbkWUljyNfKxQD0q+5L/317KqT/DFyavN9tDSwHqJFG1nIqQu9sJ9uk44kAdFJUklb980FLyS6Y73JsGH8MbIieoQVlW3nZIBWOlSQ2bkp+y5TCwjrUUHQjbVPlbgJea5fJTFUcf542L+8+9TPNAmMfJJ69G0Y8qQq7u/sGfAvRN7UNK7JekfOz5viXPKWZ0/4xRryoxlKCV1jUHkOLzk83bdq2HKtvuVfAy8ue0N1dIWzPgtD87XSmvTIf44z/eMmbR89XqUyC6jyj4eP5iUUsZ9UMko2QiMOjW3uR3J4IGK8fJ7woD5+UImFzD/xIWIfiOqRCnqMNqUutvZTG1QzjWvmyjeJ6x/0OIsJZ0BeIC6hpzdp22WR1mcdIOCEDunUEd43hAnBrdeq16Iku1blt4U/UNRVonIuC2LHALv1JmhzL7yBF59HqXqqZa2VSj4kv1Q84yJvzQMvOFNKcU1AUxX3evfyLfjNPalZEiAGhJWDB7Z3EvYg2N5TcRphb2IShN3i8zFd9ObLWMhxM4TARl16tS5BddNDLH0lxP/xhmLXp6daghA/usO4d6TpNeHe25feQtew3Fm6kx+qxzg+W72bOgXhknni7JKpCkLAbnuEgx9Aj2l5u4C8Gm0EWRZlS1iGJElrHzrgyiTUn6QV79cXGulFc+QpX30rtz7tATOEmU57gNAqzifjodGhXqQkdnDW2R6T2TH5b09EKcs/ag7Y0F6j+6qqyvm3+ACdCAjRHjBi0SIbkjYk6tqOsH+Bvz25wbZzdotU4i+zQNo0dJSMVuVQRzwMPMk6dgk4R6imMc2/AtAQOqmAys3tODOdxCljA/AnZeupVl39MaWNU4EgOP01D+JKO0g7p6WiMHPqYZHvx+iUv5fn87sGPwc4/BmRLRu3cxLtPaeSDOOp9DrIgBAjEE3Fg+U97fuH30jmLbTxLxB5xI+0MGQfpJ3qPIKGcFSiS60EHDmvWlIjSMUGnvRsX9ALgCc92Jvv7wOOe7dgLPuRQVWxEvdHntax1QWhE/bwFulADCl57VZ4jyWt0VG8+7Ctoc7VvWJOKqKMuhxNFX+sRL7ph/gzuFOxxnMVL6WNjNY5naWeQsxubAaklSoDtRf2EO48Ds9pWdIEj9vyccQPvgd61eFPshBh29bGIOfM+e8D1HB7vy+6WNl+3qZ7ng/idGpSgwdPe4AdBK6c3hWVRjEIa3IF2o6iNlTSDCl5wbF+1jk0AA7R7yhAuKcfjH4+SdOI98QlPp+TW5O3J3nSWyqdYiV4so3qu0bRI503NAHvCbLE80P4B916jirQ/y8yvocXclILaGHQl44DPibFPx1YXhip0oC/vv1GdbMqk6v8GPlCYp2qxuG+R+ngDisSrtc2HznxG2TVKnic23SXwekVkuKk8DfEwWdKAygyqPdyFcoBj/c2V8kjdxCXUv/4Ks9SY/fu9qlf9SclBFXb+koHlbNDVxaih63vvH4p+Xq/szGSVWbatRBtLKPZYrPfYoTAUUnyeAnijC/K1asyROYPeDO5rtLt7S6bCNZijH/fq+/PG1yW24JOKR/TufNp5rKkT0tQ18Hnm98WJp9jhUXcPU7nJJHq7bf6/+HQ57CV8jca1BOs+4eUq/otYfYLEaquPULcdlxVWU2StyaBSumcbLMeKkyR2/7jNo0mFF7yxQE2M/MyM0TAaq8QkFJMxpIE6jRtX+GCJvjWEe6HDwk7fCKBbS0ZEMLMKUzLNC1NIMySljJOQWkck8H+a2qcWLaT9OB4AvcsNFgO9fX9uDf5pqnj8Dvyv49e2rSn4u3ZcqCki3krpVLJPEuA0UmWoCje9dTEwm2WPFdBi6zyn6LitK1EJBz+PB2FgC5Zp7R+ql2eWZxK9oAAsLZXe8I+J018wwcyItvUA5ewnTlPPPAgYJNnJ5xnsuBpyVKoRZqDoecC6DLvoK8Nkwl9+4LcKZarCTdYCPFwgIDd/1v3BQA/7Ms8wDAHXsMu5yLwK/70+5nAXD2zDMrUdo3s0/CAEy5Z56Bu4pyQ1/HIke3hHml9ztp1XgY/B9W8pJWfArpLtgCUDQ300Mr8gbxKSi/XhaRRNloIweaT1ciMlnxKuxyxYISxszPYOSrz4x4FXDlBUXjAaJ5FVkK4wvS20sArxNnx37/XvEQ/q/URXUsAHHNLL7GJ2BI8F+C/xL8l+C/BP8l+C/Bf/HKeWKrxflDHJinrBaOO/OUChT2sROelzKvF+dPwHDdlc5vxdl5NqZQ7mF8jdEHj6SLz+idFS+D8Nwc5TWQPuCwyAjC3K3NgIazu0XDUXz5ldgBDRsa9X/mKdXEer93WJfUpdWkFDHsQ6bUe3ma55ojBP/cb5KfUZxm3+QaqOKMaZVBi7RB2T9c/5X8JqulZaRxVNkkTcfvOhkFFmQwikQV+o7tIgT/o2h+RogvOfsvYCRBspuSMdEM/fS6iDWUxUmieKSEXfg6+syc2Sy0kcN0AAL2xYM9I0DgWW5fe60dbswEKPk2YV+xEShMJXsRRikb9pJJkzzdP9eA3me4bAtIHzqkfgPA892TUPY4YZjOvtVpPjP79KUPpWEHE/Y2jnGmlmV5SMQq9n8vfnMt4JBWzNTaAM7LNL7EX2H5Pu1/pCKTt8T+BqeVlfpqsvgzldhtdrhzBcv8jG12kMxNwgZq/t1OOQJzMQlcu4UrtvkOd1YkC1AzI/Iy/7mmbtIKSMUdyLhfAyNKzVbqAP28cDw3T7qVEivmU00grnOBi09Hs1yUBeyyM6XzDj5QJ7RZwjwR4txHdZ5pMD3XzVJX+ZcYgAIpa7BCvNqfXJE2gixdNqz3V92E2Scb/j8w78TPxQYYgwLTllzEQmC86vZxLoCAcMYWvmo4Bj+vuFojNSggymK2rmXUB+3/hx3PrXXG7uAw71zB0lccf/r+v2zULzrDDLIU9qKFK5evZZCyESB90XOJTCFSh1KhWZLg+/RLl1i5kipV7EvZt7Gm71XCSf+N05CwB92VEwceeL/mq3dlePa0vKnB0Fzov9hk+2tToLBu4E1ATjiDJz/5yU82NcVsaVhNzuxxeercFYsLxuDpRcKkr37OCR3eVsWMMYxW7LTBnpC52NuMJQI8sIyT6gcAncSaZgeu8tPpEC+PbvngPKI8VIyptPh9p/IWP3Epr4nUtQjpZyyRb1TJzFmWmRfT93pXcePRL5hydX+bxW8UysIu09mcT/Xqg7SLLKar5nbryhtvyHr5sGH2qYjxf6mRxkkO0Wlu8yZDjqhsEe40QUmeSN1ZxjoCt7PJBvkFXNH/KWNQYAknO+UsAKhizx5SwpgFOfU9JHxwnoIVB2rBGaw50Fuw4A29JiIwT08wneetwe+JwO+su7e4FVGt+3IA5rp3vXHCgCk8U/VyYa8Tjkf7fl3eilJGs2LD2T01N9UAhhx1o0KlTjoMuHP4Wsp2bLIAYlhuUdAshQBcdac2GIu0mSoHBmyz4MiM/cJZQJfJz8XLkiQbTuAc5xql0PfmV9SwWWTYzKC3CHlPhNmzPIj4au9Fq+6I1NeildNCxTLXUXm+uzKlKmsB+LA876r+JAtArbNSzkUisaBUM7XrKmsA0V9w9hyghSRnp/+6u3bQ+jZzr0Ef0kDH5vrBFoAA93TO9WAY/s9o1dZFW6azexC3pVAW0EXopuzLpfjaBC446SZkSOAm3qKp90T050L9BZTkvGUq2RfjWNH8aLi1znKxlfd4IFC2nRULta5b73IWAP9rM6Aah4tKzG+kv/rxyZEFT9Gfn3JThPPu/PYzEwmIn9cmSffAOGqJNb/XWpGay9vC0jgLAOR+hwvvael7clQY5ge8H7cnWiv1Xelm1ggsYD9dQ9iTBS0at1FjKQWyAs7qcUchxs23ApNz4jsQYvBz5hv+FZZG+Lw26+O9qDn0BR3r7K9eOSrKOYpo3poOsPdJ8oFCFeYZWnEtH8Qod0SZZko9S9RvAOCrb3xXjdyXzuWmvA+aZeU5OWZeAIHxxn1S8i54Uzw97AulAKj50T3c98uLLm818qxWLaGnBpmf9FwqwN+npS9UkeO8lPUd/zBhT6SMw2OdYF2ZthBYo/ppVHOxtTccPxa94Fut1DkX5srTMcxmlin1vr9CWXD1rV6yjwWziS3IzYnAE/unTxPND/pcMFflX3HQEaPD3Cu/ZPEwoGRvl/PnhX2hzFNcn5K2lrdQ5nWpUIORN5ro3BPn51w1XKtCIsOMtYMW1zIsz8rTjcFTduOnMwFasjNJ2H7jYfabfvA7+lIgSwnSgvNMPeE+MF11b0rT8hR+3CSc9PhjTcQDFYmfk6myfAEj8aZgHofF2qwTe0j4QsET+ylTcFvR/IwATCVHqB1CiZTFyo86iTpbOnfqKKuUMrWgzfvCKPy3eBMKzMhYU6IKgVoVqt4mDHR0RvcvzaAkYe2SLJhK9l0Y+nbwxA6tpyZLy4JM3jPf+LnORhk2M8jIDqqc5RtlunMPq6v7bTzvHQbg/3JLJUG17lJJFtB4qSwgcMtrWEDqUm6LyLPxUnUtwNzt9du4jPeONhqr2a3bppwu+nkp0G63LHdYtW5kqkkWUbI25dSk9WU0+0ylZrz5w+qqs4WaVbn3HuEW8vmP7THBfyNlQI24cieqhQHEPTOfuqOmSICCTzoS0uGDjwT/Jfjvd4+LlxAJ/hvRE08jEvwXbxEAAA==)
> 
> **efi.bin file generated with OSTree support**
- **서명**

    보안 부팅은 UEFI 표준의 기능이지만 Qualcomm Linux에서 기본적으로 활성화되지는 않습니다. 활성화된 보안 부팅은 성공적으로 인증된 경우 기기 부팅 시 실행되는 암호화 방식으로 서명된 바이너리 목록을 유지 관리하여 사전 부팅 프로세스에 보호 계층을 추가합니다. 이렇게 하면 기기의 부팅 펌웨어와 부트 매니저, 커널, initramfs와 같은 Linux OS 부팅 구성 요소가 손상되지 않습니다.

    UEFI 보안 부팅은 디지털 서명을 사용하여 로드하는 바이너리 코드의 인증 및 무결성을 검증합니다. UEFI 보안 변수에는 모든 키가 저장됩니다. UEFI 보안 부팅은 플랫폼 키(PK), 키 교환 키(KEK), 데이터베이스(DB) 및 금지된 서명 데이터베이스(DBX)를 사용하여 수행됩니다.

    보안 부팅을 사용하려면 키 PK, KEK 및 DB가 필요합니다. KEK, DB 및 DBX는 여러 개가 허용되지만, PK는 하나만 허용됩니다.

    UEFI 보안 부팅을 활성화하려면 시스템에 PK를 등록해야 합니다. 보안 부팅 활성화 프로세스의 마지막 단계에서 PK를 프로비저닝하는 것이 좋습니다. Qualcomm이 UEFI 보안 부팅 기능을 구현한 방법에 대한 자세한 내용은 [보안 부팅](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-11/secure-boot.html) 을 참조하세요.

    **Qualcomm Linux 빌드에서 생성된 Linux OS 이미지에 서명하는 호스트 도구 signing\_tool.py**

    UEFI 보안 부팅을 활성화하려면 EFI 및 DTB 이미지에 서명해야 합니다. 이 프로세스를 간소화하려면 `signing_tool.py` 호스트 서명 도구를 사용하세요. 이 명령줄 Python 스크립트는 Linux 호스트 컴퓨터(Ubuntu 20.04 이상 버전)에서 실행됩니다. 이 도구는 EFI 및 DTB 이미지의 서명을 두 가지 별도의 작업으로 자동화합니다. 또한 이 도구는 DTB 파일을 결합하는 기능을 지원합니다.

    호스트 서명 도구는 [GitHub](https://github.com/quic/host-signing-tool) 에서 다운로드할 수 있습니다.

    **호스트 서명 도구 개요**

    호스트 서명 도구는 Python3가 설치된 Linux 컴퓨터에서 실행됩니다. 이 도구는 단일 작업으로 EFI 이미지나 DTB 이미지에 서명할 수 있습니다. EFI 이미지와 DTB 이미지에 모두 서명하려면 다른 입력으로 도구를 두 번 호출해야 합니다.

![../../_images/host_tool_design_wbg.png](data:image/png;base64,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X3XrB8Ub8WSgX33bKl7xP0IIpJ/xeGoN5+dhtJTmcM+jWXmTvZ/x/DmrVtvuqax7/Ojj2febSfUKW7OJJkufN1msWnBFzQfcqyhFJYz2KAtaNR/Qbi7Jh3cUtGvegW2e9N4AsGyeGDWQps1zVD83o6W5vfHfxn/PXGIRhz1tNRDhpD0NWRbMFu1gNhbafC4JKpSFyB7heAb7wmnOgs4YWKiRzhfePwYe9zQIOilLzyl7lOOfW1cojwvZ5CRL4QCPdHyBspSecvaFHODRjicYhW0Gj3h8AWxQOYcJ8KjHvR5B0rl67OPwJKfD458od+O/jf+ebLRWvBysG+99cn1aNz75vJ7u7vO7Wiu+vJx+XpfJ15Vv4yckxtu60tRj8emEcXivJ01bWXxCYRT1/RYdHzd7oU8pDLSGDCg+p5CxjmyKzypC68jx3UvKWvQb/z0Dpl5OCvRHbyu9/uiN2n81LXR71rRT7u7dt18njK27e9UPf/SH1wrfDH/0zWZy96pFv4w4lO7u0/xn363w5fxH3/niRr9QGNuFde55wOLXEWmz3jVfsPiFQqTndVrb6vIGi18qBG1/3vypVwvdMV/dq4Upf2z+0J9NwuIXCxl/7rq7e1ezwhdHd/c9f/AWv1yEzLA/csabu9/SKkc/uXsN9qeu+B0iQvEnrqxjQqs7+87dn1j8LVybP/MltxHFqi720//138Z/G/9t/Lfx38Z/G/9t/Lfx38Z/G/8dIEjij6zuH9C/4L87MkROC8fEKr/v3L3mX7LpL45A9wVOw9vdb+24wqd+cvft+K84gf21EWl3fP4tgavO3bvqvcpf3d3n97/g6v0YsL80Im0mP3i97rG/M0btX7JVgf7GiOL9NeM77O/McP2ieYDW6vSXpv2y4f/675lSDGt2RfVF88Tir4weXzPl4e9MiPb9FTM9ZfFXJozhVE7dF+t7J/SXJgwNry/WZgTF3xq61mEz/NYNgXzQKg/ScLKiG/89LRiyR23tWi5srClez+OLV4eLszuI2VdjuDhrVzO2s4t7d2L2i7NXcFW3eXEWt9+z8RqHxphdMT7zTABYTVAgcQEAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PgA=)

    **Figure : Linux machine with OpenSSL and sbsign**

    호스트 도구에는 인증서 및 키와 함께 서명되지 않은 EFI 파일 또는 DTB 파일을 입력해야 합니다. 호출된 이후, 도구는 서명되지 않은 이미지의 압축을 풀고 제공된 키와 인증서를 이용해 사용 가능한 항목에 서명한 후 이미지를 다시 압축하여 서명되지 않은 버전을 서명된 버전으로 대체합니다.

    DTB 파일을 결합하려면 서명 프로세스와 다른 프로세스를 수행해야 합니다. 도구를 사용하여 새 DTB 파일을 기존 `dtb.bin` 과 결합하거나 사용 가능한 DTB 파일 목록에서 새로 연결된 `dtb.bin` 파일을 만드세요.

    **호스트 서명 도구의 작동**

    - **도구 실행을 위한 전제 조건**

        이 도구를 실행하려면 Linux 호스트 컴퓨터에 다음 항목을 설치하세요.

        - OpenSSL, sbsign 및 mtools 유틸리티
        - Python3
        - pip, subprocess, shlex, socket, glob 및 shutil Python 모듈
    - **호스트 서명 도구 구성**

        작업을 시작하기 전에 호스트 서명 도구를 구성해야 합니다.

        - `config.ini` **파일**

            호스트 도구는 필요한 정보를 `config.ini` 구성 파일에 제공해야 합니다. 호스트 도구는 이 파일을 읽고 적절하게 이미지에 서명합니다. 다음 코드 조각은 구성 파일의 변수를 보여줍니다.

[common]
                # Section - 1: Common Selection
                # Select operation: 1. sign_image or 2. combine_dtb
                operation = sign_image
                # This option is useful for both operations(sign_image & combine_dtb). Possible values for file_path are 1. remote or 2. local
                file_path = local
                # This option is required for both operations(sign_image & combine_dtb) if file_path == remote
                local_machine_private_key_path = /usr2/<user_name_for_machine>/.ssh/id_rsa
                
                # Section - 2: operation == sign_image related common selection
                # Possible values for image_type are 1. efi or 2. dtb
                image_type = efi
                # This option is required if operation == sign_image & image_type == efi
                loader_conf_timeout = 20
                
                # Section - 3: operation == combine_dtb related common selection
                # Possible values for combine_dtb_type are 1. combine_with_old_dtb, 2. combine_without_old_dtb
                combine_dtb_type = combine_with_old_dtb
                
                # Below options are required to fetch file from remote linux machine in the same network(i.e. if file_path == remote)
                
                # This option is useful if operation == sign_image & image_type == efi
                [efi_config]
                efi_remote_hostname = <remotemachine_ip_or_hostname_where_efi.bin_available>
                efi_remote_username = <username_on_remote_machine_where_efi.bin_available>
                efi_remote_filepath = <full_path_of_efi.bin_file_on_remotemachine>
                
                # This option is useful if operation == sign_image. Both image_type requires this option
                [keys_config]
                keys_remote_hostname = <remotemachine_ip_or_hostname_where_keys_available>
                keys_remote_username = <username_on_remote_machine_where_keys_available>
                keys_remote_filepath = <full_path_of_keys_directory_on_remotemachine>
                
                # This option is useful if operation == sign_image & image_type == dtb
                [dtb_config]
                dtb_remote_hostname = <remotemachine_ip_or_hostname_where_dtb_available>
                dtb_remote_username = <username_on_remote_machine_where_dtb_available>
                dtb_remote_filepath = <full_path_of_dtb_on_remotemachine>
                
                # This option is useful if operation == combine_dtb.
                [combine_dtb_config]
                combine_dtb_remote_hostname = <remotemachine_ip_or_hostname_where_combined-dtb.dtb_available>
                combine_dtb_remote_username = <username_on_remote_machine_where_combined-dtb.dtb_available>
                combine_dtb_remote_filepath = <full_path_of_combined-dtb.dtb_on_remotemachine>
                Copy to clipboard

표: config.ini 파일의 변수

            | config.ini의 변수 | 값 | 설명 |
            | --- | --- | --- |
            | `operation` | `sign_image/combine_dtb` | 이 구성을 사용하여 이미지에 서명하거나 DTB 파일을 결합할지 선택합니다. |
            | `image_type` | `efi/dtb` | `operation == sign_image` 인 경우 이 구성을 사용하여 별도로 서명할 `efi` 또는 `dtb` 를 선택합니다. |
            | `combine_dtb_type` | `combine_with_old_dtb/combine_without_old_dtb` | `operation == combine_dtb` 인 경우 이 구성을 사용하여 수행할 DTB 결합 작업의 유형을 선택합니다.<br><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">combine_with_old_dtb</span></code>: 이전 <code class="docutils literal notranslate"><span class="pre">dtb.bin</span></code> 의 DTB와 결합</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">combine_without_old_dtb</span></code>: DTB 파일 세트 결합</p></li><br></ul> |
            | `file_path` | `local/remote` | <ul class="simple"><br><li><p>local: 키와 efi.bin/dtb.bin이 스크립트와 동일한 경로에 있습니다.</p></li><br><li><p>remote: efi.bin/dtb.bin과 키를 원격 Linux 컴퓨터에서 현재 경로에 복사합니다.</p></li><br></ul> |
            | `local_machine_private_key_path` | `<path of id_rsa file in local machine>` | 이 파일은 `file_path = remote` 인 경우 원격 컴퓨터와 SSH 연결을 설정합니다. |
            | `loader_conf_timeout` | `<timeout in seconds>` | 바이너리를 인증하도록 선택할 수 있는 systemd-boot 대기 시간입니다. 이 옵션은 `efi.bin` 에 서명하는 데 필요합니다. |
            | `efi/keys/dtb/combine-dtb_remote_hostname` | `<ip or hostname of the remote Linux machine>` | `file_path = remote` 이면 호스트 도구는 원격 컴퓨터의 호스트 이름을 선택하여 원격 컴퓨터에서 SCP를 사용하여 `efi/keys/dtb/combine-dtb` 파일을 복사합니다. |
            | `efi/keys/dtb/combine-dtb_remote_username` | `<username_on_remote_machine>` | `file_path = remote` 이면 호스트 도구는 사용자 이름이 원격 컴퓨터에서 생성된 경우 원격 컴퓨터의 사용자 이름을 선택하여 원격 컴퓨터에서 SCP를 사용하여 `efi/keys/dtb/combine-dtb` 파일을 복사합니다. |
            | `efi/keys/dtb/combine-dtb_remote_filepath` | `<full_path_of_file_on_remote_machine>` | `file_path = remote` 이면 호스트 도구는 원격 컴퓨터에서 `efi/key/dtb/combine-dtb` 파일의 경로를 선택하여 원격 컴퓨터에서 SCP를 사용하여 해당 파일을 복사합니다. |
        - **config.ini 파일을 사용하여 구성**

            1. 작업 선택: `operation` 변수를 설정하여 수행되어야 하는 작업을 지정합니다. 작업은 `sign_image` 또는 `combine_dtb` 입니다.
            2. 이미지 선택: `operation == sign_image` 를 선택하는 경우 `image_type` 변수를 설정하여 서명할 이미지를 지정합니다. 옵션은 `efi` 또는 `dtb` 입니다.
            3. 파일 위치: `file_path` 변수를 사용하여 서명되지 않은 EFI/DTB 이미지, 키 및 인증서의 위치를 나타냅니다.

                구성 파일에서 `local` 을 선택하는 경우 EFI/DTB 이미지, 키 및 인증서 파일을 수동으로 로컬 작업 디렉토리에 복사합니다.

                1. 스크립트와 동일한 경로에 `unsigned_binaries` 디렉토리를 생성한 다음 `efi.bin`/`dtb.bin` 이미지를 해당 디렉토리에 복사합니다.
                2. 스크립트와 동일한 경로에 `keys` 디렉토리를 생성한 다음 `db.auth`, `db.crt`, `db.key`, `KEK.auth` 및 `PK.auth` 파일을 해당 디렉토리에 복사합니다.

                스크립트가 동일한 네트워크의 원격 Linux 컴퓨터에서 자동으로 필요한 파일을 복사하도록 하려면 구성 파일에서 `remote` 를 선택하세요.

                구성 파일에서 다음 변수에 대한 정보를 제공하세요.

> 
> 
> - `local_machine_private_key_path` (필수)
>                 - `[efi_config]` 섹션(`operation` 이 `sign_image` 이고 `image_type` 이 `efi` 인 경우)
>                 - `[keys_config]` 섹션(`operation` 이 `sign_image` 인 경우)
>                 - `[dtb_config]` 섹션(`operation` 이 `sign_image` 이고 `image_type` 이 `dtb` 인 경우)
>                 - `[combine_dtb_config]` 섹션(`operation` 이 `combine_dtb` 인 경우)
> 
> 
> 
> 참고
> 
> 
> 스크립트는 동일한 네트워크 내에서 SCP를 통해 다른 Linux 컴퓨터에서 복사하는 것을 지원합니다.
            4. 로더 구성 시간 제한: 구성 파일에서 `image_type` 이 efi로 설정된 경우 `loader_conf_timeout` 변수를 업데이트합니다.
            5. DTB 결합 선택: `operation == combine_dtb` 를 선택하는 경우 `combine_dtb_type` 변수를 설정하여 수행해야 하는 DTB 결합 작업의 유형을 지정합니다. 옵션은 `combine_with_old_dtb` 또는 `combine_without_old_dtb` 입니다.

                1. `combine_dtb_type == combine_with_old_dtb` 를 선택하는 경우 스크립트와 동일한 경로에 `unsigned_binaries` 디렉토리를 생성하고 `dtb.bin` 이미지를 해당 디렉토리에 복사합니다.
                2. 두 옵션 모두 스크립트와 동일한 경로에 `dtb_files` 디렉토리를 생성하고, 해당 디렉토리에 결합해야 하는 모든 DTB 파일을 복사합니다(`dtb.bin` 의 이전에 결합된 DTB와 함께 또는 단지 서로 복사).
            6. 누락된 구성 처리: 누락된 구성 정보가 있는 경우 스크립트가 실행되고 명령줄을 통해 누락된 세부 정보를 입력하라는 메시지가 표시됩니다.
        - **호스트 서명 도구 실행**

            1. 호스트 도구 시작: 코드 빌드 프로세스를 완료하고 서명되지 않은 `efi.bin` 및 `dtb.bin` 이미지를 가져온 후 호스트 서명 도구를 실행합니다.
            2. 호스트 컴퓨터 준비: 호스트 서명 도구 파일(`signing_tool.py` 및 `config.ini`)을 Linux 컴퓨터에 저장합니다. 두 파일이 모두 동일한 작업 디렉토리에 있어야 합니다.
            3. 도구 구성: 구성 지침에 따라 호스트 서명 도구를 설정합니다.
            4. 도구 실행: 다음 명령어를 실행하여 명령줄에서 호스트 도구를 시작합니다. `$python3 signing_tool.py`
            5. 대화형 프로세스: 호스트 서명 도구가 선택 항목과 작업 명령어를 화면에 표시합니다. 명령줄에 오류도 표시합니다.
            6. 서명된 이미지: 도구가 프로세스를 완료하면 `signed_binaries` 라는 디렉토리가 동일한 작업 디렉토리에 생성됩니다. 서명된 `efi.bin` 또는 `dtb.bin` 이미지가 디렉토리에 저장됩니다. 도구는 서명 후 사용자가 생성한 다른 디렉토리를 삭제합니다.
            7. 두 이미지에 대해 반복: 이 프로세스를 `efi.bin` 과 `dtb.bin` 에 대해 각각 한 번씩 두 번 수행합니다. 각 서명 작업 후 새로운 작업을 시작하기 전에 `signed_binaries` 디렉토리를 삭제합니다.
    - **호스트 서명 도구 워크플로우**

> 
> 
> 다음 그림은 호스트 서명 도구의 워크플로우를 보여줍니다.
> 
> ![../../_images/host_tool_workflow.png](data:image/png;base64,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)
> 
> **Figure : Host signing tool workflow**
> 
>         - 호스트 도구에는 `efi.bin` 및 `dtb.bin` 경로(절대 경로 또는 네트워크 경로)가 필요합니다.
> 
>             - OSTree가 지원되는 `efi.bin` 에는 `vmlinuz-x.y.z` (Qualcomm Linux 커널 이미지) 및 `bootaa64.efi` (부트 로더 이미지)가 포함되어 있습니다.
>             - `dtb.bin` 에는 `combined-dtb.dtb` 가 포함되어 있습니다.
>         - 호스트 도구에서 이미지에 서명하려면 `certificate` 및 `key` 의 경로(절대 경로 또는 네트워크 경로)가 필요합니다.
>         - 호스트 도구는 FAT 파티션에 `efi.bin`/`dtb.bin` 을 마운트하여 다음과 같은 디렉토리 구조를 제공하고 별도의 서명 프로세스를 수행합니다.
> 
> 
> 
> > 
> > 
> > ![../../_images/1_efi_bin.png](data:image/png;base64,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)
> > ![../../_images/efi-bin-ostree.png](data:image/png;base64,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)
> > 
> > **efi.bin with OSTree support**
> > ![../../_images/1_dtb_bin.png](data:image/png;base64,UklGRkAEAABXRUJQVlA4TDMEAAAvVkEoAAXdbNvq6NFbwlcCJRA6dEgJCh0qdKhwQ0qgBEpQSAmEG1ICHXBdv/gOGs942ONE9B+2JLlxm4Ffbu8C1AE5wQeMj7FRljH+1MAyxo9lxv2xgPHTxPexgNE+/vM/E0RQW1ICUJaUA9SW9eGP/3z85+M/f1WIiP88QEgyfQvloVSg3hBkMHiTDZvF028caOYKEB5KAcrDBOF2FgOCxdP7oBHSc5FAD4eQ3gZqPBcReDhA/KeHshNoKzPnRoA/2gyh9uhAe/uStwH+lIgO4GoJSZSJjZ8E9OgheRpMlIhN0IY5gmJQT9YGuDhTwaLM9J2uVL06GXPk6QyNiaDMXCaadfQ4C4qMwzO1fJEymW6WWSeqg6yuMRm7iCZIQzOoZncK7w1IqaqvTQF8HT2CvtiBo42eCagzQOx9Bwi+jOqBLuhpo3igMiSZIxPctPbdtFnVjZUvAGlcqmQUQcod3aCarDbaBpjugPLsvb80ntku/soFE12B/YKvTgf4Picrcz1cn0Zm5bg2/cQzGrANyVXzMoogBd2gUn+aHCUbVJmk/Mo0iKe6O9AFBTMHM4M+lLodPK/OJIfttD1PwbwJHlz8KaMIUtANSnRBjjchHHf2J+MhMbkXUmvqlRJQ5yxxhkYUXNrkzEAM2VWRUQQp2AzqwoOESdKLIq9/YWGJCfv1NBFvIbHD42+EJwmJ8bRUadGM8XbJQBHw8p326xkyd+68Kar8kg0kKHDjFuKhyt/BwcvsXPz5hVWQgm5QKUe8/5IOHC/9Y49jZ1/VTZtM4kWOd0Hmp2R3OOSySa4qXdwTlKYDjW7QlKwdDMKhflAEykuTgHC1IYRp0SHObYjrt0Hs4yRQv0MjUGxj1OTSXATKo6ttiE1QAfbRTpPBAM8WwNau/oYTriKejbchoycgvPhPk7vY2FbPRLg67iF0pjiHGbbsedcsyiDljlHQZD8YDUJO1nYwTrFpzphdtFf/xTcHgPY5jz2FK5GpD+WqdAKp13LafB2lqnIS11GlSzwIzNRo7NqLQ+X5tQq6TLmoGFS/I3vA55GxjfnmgXBtkXDT1uOOvqx/n/Dxn78y0PcFjG8WFjGWllWNj/98amHDppFAj5vVtzQEBI0IGAGiTAHCClGB+mAaIa0QBSiPQI1/ZLkx+U4Y8QIw6qSpM+7N6qsg9q/g/X1jnXxnIjNNnXFrVl8BMs0q3/jNOPnOdAf+HD0CG0ef1acAypPK/X3vym2T7yzwBb8BjWGe1SePcQlw7xvj5DsTnW9Imd3RZ/UpnPwIuwj3y523Gc45zGO6ZL3lX4Q0IN5/yQmcDH1W32pwa/JdBU71gwKoM/RZfYuCcfLdVcSeeRtSRttZ2SKo6bP6FgXj5LtDapoD0+TZTh9Fn9W3KFgn30UHuiQk7OO8NKXB6kzNPKtPvuxeQeP/7WIAAA==)
>         - 이미지에 서명한 후 호스트 도구는 `efi.bin` 과 `dtb.bin` 모두에 대해 *인증* 파일을 `/loader/keys/authkeys` 디렉토리로 복사합니다.
>         - 호스트 도구는 `systemd-boot` 로더 구성에서 대기 시간을 구성해야 합니다. 이 대기 시간 중에는 커널 로딩이 중단되며 사용자는 `systemd-boot` 메뉴 옵션을 검토하고 선택할 수 있습니다. `loader.conf` 파일은 업데이트된 `efi.bin` 파일에서 사용할 수 있어야 합니다.
> 
> 
> 
> > 
> > 
> > 참고
> > 
> > 
> > `dtb.bin` 파일에 대해서는 서명 프로세스가 수행되지 않습니다.
> 
> 
>             - 호스트 도구는 `/loader/loader.conf` 를 구성합니다.
>             - `loader.conf` 구문은 `timeout x` 이며, 여기서 x는 시간 제한(초)입니다.
>         - 이미지가 서명된 후 호스트 도구는 FAT 파티션에서 `efi.bin/dtb.bin` 을 마운트 해제해야 합니다. `signed_binaries` 디렉토리의 호스트 도구와 유사한 경로에 있는 호스트 컴퓨터에 서명된 `efi.bin/dtb.bin` 을 저장합니다.
>         - 다음은 서명된 `efi.bin` 및 `dtb.bin` 의 디렉토리 구조입니다.
> 
> ![../../_images/efi-bin_and_dtb-bin.png](data:image/png;base64,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)
> 
>             **Directory structures of efi.bin and dtb.bin files**
> 
> 
> 
> `efi.bin` **서명 프로세스**
> 
> 
> 
> > 
> > 
> > - 호스트 도구는 `sbsign` 유틸리티를 사용하여 `uki.efi` 또는 `vmlinuz.x.y.z` 및 `bootaa64.efi` 이미지에 별도로 서명합니다.
> >         - `sbsign` 의 서명 프로세스에는 `certificate` 및 `key` 가 필요합니다. 다음 구문을 확인하세요. 여기에서 `dsk1.key` 는 키를 나타내고, `dsk1.crt` 는 인증서이며, 출력 파일 이름은 입력 파일과 동일합니다.
> > 
> > 
> > sbsign --key <key file> --cert <cert file> <efi file> <output file name>
> >                 Copy to clipboard
> > 
> > 
> > 
> > - 예시:
> >     - - sbsign –key dsk1.key –cert dsk1.crt bootaa64.efi bootaa64.efi
> >                     Copy to clipboard
> >             - sbsign --key dsk1.key --cert dsk1.crt uki.efi uki.efi
> >                     Copy to clipboard
> >             - sbsign --key dsk1.key --cert dsk1.crt vmlinuz.x.y.z vmlinuz.x.y.z
> >                     Copy to clipboard
> 
> 
> 
> `dtb.bin` **서명 프로세스**
> 
> 
> 
> > 
> > 
> > - 호스트 도구에 `dtb.bin` 파일의 경로가 필요합니다.
> >         - 호스트 도구가 이미지에 서명하려면 `key` 및 `certificate` 의 경로(절대 경로 또는 네트워크 경로)가 필요합니다.
> >         - UEFI 보안 부팅에는 인증을 위해 PE 형식 파일이 필요합니다. 이 서명 도구에는 입력으로 PE 형식 파일이 필요하므로 `sbsign` 을 사용하여 PE가 아닌 파일(예: `dtb`)에 서명할 수 없습니다.
> >         - 호스트 도구는 `openssl` 유틸리티를 사용하여 `dtb` 파일에 서명합니다. 다음 구문을 확인하세요. 여기에서 `dsk1.key` 는 키이고 `dsk1.crt` 는 인증서입니다.
> > 
> > 
> > 
> > > 
> > > 
> > > openssl cms -sign -inkey <.key file> -signer <.crt file> -binary -in <dtb file> --out <output .dtb.sig file> -outform DER
> > >                 Copy to clipboard
> > 
> > 
> > 
> > 
> > - 예시:
> >     - openssl cms -sign -inkey dsk1.key -signer dsk1.crt -binary -in <foo.dtb file> --out <foo.dtb.sig file > -outform DER
> >                 Copy to clipboard
> > 
> > 
> > 
> > 
> >             이 명령어는 DTB 파일에 대한 서명을 별도의 파일(`foo.dtb.sig`)에 추가하고 원본 파일(`foo.dtb`)을 수정하지 않습니다. 따라서 호스트 도구는 두 파일을 모두 보관해야 하며, `*.dtb.sig` 파일은 UEFI 보안 부팅 검증 중에 사용됩니다.
    - **호스트 서명 도구의 DTB 결합 워크플로우**

> 
> 
> 호스트 도구를 사용하여 DTB 파일을 결합하려면 다음을 수행하세요.
> 
>         1. DTB 파일 준비: 결합할 새로운 DTB 파일을 `dtb_files` 디렉토리에 저장합니다.
>         2. 작업 선택: `config.ini` 에서 `operation=combine_dtb` 를 설정합니다.
>         3. 기존 DTB와 결합:
> 
>             1. 새로운 DTB 파일을 `dtb.bin` 의 기존 `combined-dtb.dtb` 와 결합하려면 `combine_dtb_type=combine_with_old_dtb` 를 설정합니다.
>             2. 기존 `dtb.bin` 이 `unsigned_binaries/` 디렉토리에 있어야 합니다.
>             3. 호스트 도구는 이전 `dtb.bin` 에서 `combined-dtb.dtb` 를 가져와 `dtb_files` 디렉토리의 모든 DTB 파일을 추가합니다.
>             4. 그런 다음 호스트 도구는 `dtb.bin` (vfat)을 생성하고, 기존 `dtb.bin` 에서 기존 파일/디렉토리를 모두 복사하며, 추가된 DTB 파일과 함께 새로 생성된 `combined-dtb.dtb` 를 포함합니다.
>             5. 호스트 도구는 업데이트된 `dtb.bin` 을 `unsigned_combined_dtb_bi` 디렉토리에 저장합니다.
>         4. 기존 DTB 없이 결합:
> 
>             1. `dtb_files` 디렉토리의 새 DTB 파일만 결합하려면 `combine_dtb_type=combine_without_old_dtb` 를 설정합니다.
>             2. 호스트 도구는 `dtb_files` 디렉토리에서 모든 DTB 파일을 가져오고 `combined-dtb.dtb` 파일을 생성합니다.
>             3. 그런 다음 호스트 도구는 `dtb.bin` (vfat)을 생성하고 새로 생성된 `combined-dtb.dtb` 를 포함합니다.
>             4. 호스트 도구는 업데이트된 `dtb.bin` 을 `unsigned_combined_dtb_bin` 디렉토리에 저장합니다.

> 
> 
> ![../../_images/Create_sign_DTB.png](data:image/png;base64,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)
> 
> **Figure : Create/sign DTB**
- **여러 DTB 지원**

    퀄컴은 같은 하드웨어 SoC 기반의 여러 Qualcomm 개발 키트를 지원합니다. 예를 들어 QCS6490 개발 키트 변형에는 RB3 Gen 2 코어 개발 키트와 RB3 Gen 2 비전 개발 키트가 포함됩니다.

    각 Qualcomm 개발 키트 변형은 커널에 자체 DTB가 있습니다. 부팅 중에 UEFI는 특정 Qualcomm 개발 키트 변형을 기반으로 적절한 DTB를 선택합니다. 이러한 작업이 가능하도록, 같은 하드웨어 SoC를 공유하는 Qualcomm 개발 키트의 모든 DTB를 결합하여 DTB 파티션에 저장합니다.

    **결합된 DTB 생성**

    여러 DTB를 지원할 수 있도록, 지원되는 모든 DTB를 차례로 추가하여 결합된 DTB를 생성합니다.

![../../_images/combined_dtb.png](data:image/png;base64,UklGRhIEAABXRUJQVlA4TAYEAAAvz0IPAI/iqrZtVVlHnmsEf2gS+kISlxAMPr2Gq9q2VWUdea4RFCcBNCXQS4BDCAaf7qq2bVVZR55rAncgwYtAer69AgUYzH8A//+/NE1FUURViQhVZWZEhJlxd2VZUlVmRkSIiCAIiAhVJSJEhIiI49jz2WAEnKxZsAHcscbrdROGdyzBFEvABHDBDXCid/X9/jweX03TqetaXdfMjIhwd3Vdc/9gwABgdgfcJwPghjvgihtPHAGTDYI94MAIuNj9wR1wwoARbLcLmLF+OC6vmGJ/BUewB+sDO0CibdtpGz11sMzMTZkhndB4HCgFZ+b//yZ+evLTulpLg4novwO3kRQpfYyV6cWDDxi5bi4DrKvLEOv6MsiK2Zaa/HXxaTnA+jAZoOr02HKA9X48Yls6cZqf8x0TYI1fBqh6/dEEWEtnEdvSs7OR/4z8Z+Q/v6156BOvuc6XjGKfxFovCcEaqzWB+z2iZlkNlmvx+EdKRKs1NViuj0eWqxa4lpqXNAtVjji+kVCbpSyHTLMsB1kvcQ5T8gKU62sqxNQC5doSh1sHVEulma0ZidBaOcfCyxGszW4dEPkByrVFQiVKUF3bOnBaalGgGGQjW6vvpzRMYC+chCUVoz2MckBWlh7RW9cLUK6v9WxL4YkvpHVAubYamet9n7mqgGopXwM2diMQu4XUqObFytIsZ6xVTM8LSK529TyA6PqaqkFT7Q2TFCIQaRW7oUKaoDwB5CpQ8ACQq4MNowJMtZUFiEGkCOsl3co4MV4BcnWcbBgdeK7FZ7ZE14GjagdJTCQirG5zYVXjq/ELmqv9PokSGFdHkLWq0YGlWsiCRiSmp4W2Kn7BcXWeK8FxFWlsV5RAqb6mw3AxTdbe8BD9CixECDA9R5B2APBUPaYYxVfaxvrEbMPrFTjXArEtaC1442vuBkxXdQVJtWUliuKHSLF8PgTJVTyqQRtfOxq1VQ9BUi24vraMQApsismJtGzz+UJgri1+1IM0vt72FpbOkFQdNKrR+D0O0AmWaytlRw94HV+cEyTVVlyePB5pvww2j13vNwO5CtOhD5Bci/3VWmmYYo+UH04uncG1FOJmQbCRsJatVdhP1zZL3Lptv5L1Br4AUwXH8ducfDhXvj3xB0I6gFwdqtTWgeRa7BMvdl0FUEtRcH+hWmCtKva52WuaOVmvZMfwBJpqKGyWjJJG1bjY0AHk6mJDB6jrZkkHUEuRSUIkCRbxt+ydkjEOnMHYet/rCZRrwd8J1vg+730f8jP7IkkHjqqDdbArZYgrYKq/n//nNfKfkf+M/Oe3OCuXAdbn0wBVT95dBlhTOxHb0h0Ft8sh1sx8gKqLs0EO70yIrtMLIbZ0ajnEujR/U5cB)

    예를 들어 RB3 Gen 2 비전 개발 키트의 `combined-dtb.dtb` 를 생성하려면 다음 DTB를 결합하세요. 다음 코드 조각은 `meta-qcom-hwe/conf/machine/qcs6490-rb3gen2-vision-kit.conf` 파일에서 가져온 것입니다.

KERNEL_DEVICETREE:pn-linux-qcom-custom = " \
                        qcom/qcs6490-addons-rb3gen2-video-mezz.dtb \
                        qcom/qcs6490-addons-rb3gen2-vision-mezz.dtb \
                        qcom/qcs6490-addons-rb3gen2-vision-mezz-hsp.dtb \
                        qcom/qcs6490-addons-rb3gen2-ptz-mezz.dtb \
                        qcom/qcs6490-addons-rb3gen2-ia-mezz.dtb \
                        qcom/qcs5430-fp1-addons-rb3gen2-vision-mezz.dtb \
                        qcom/qcs5430-fp1-addons-rb3gen2-vision-mezz-hsp.dtb \
                        qcom/qcs5430-fp2-addons-rb3gen2-vision-mezz.dtb \
                        qcom/qcs5430-fp2-addons-rb3gen2-vision-mezz-hsp.dtb \
                        qcom/qcs5430-fp2p5-addons-rb3gen2-vision-mezz.dtb \
                        qcom/qcs5430-fp2p5-addons-rb3gen2-vision-mezz-hsp.dtb \
                        qcom/qcs5430-fp3-addons-rb3gen2-vision-mezz.dtb \
                        qcom/qcs5430-fp2p5-addons-rb3gen2-vision-mezz-hsp.dtb \
                        "
        Copy to clipboard

    **DTB 파티션**

    - dtb.bin이라는 생성된 vfat 이미지에는 결합된 DTB 이미지가 포함됩니다. `dtb` 라는 전용 파티션은 Qualcomm 개발 키트에 있습니다. 이 파티션에서 `dtb.bin` 을 플래시합니다.
    - UEFI는 `dtb` 파티션에 있는 결합된 DTB를 구문 분석하고 하드웨어에 일치하는 DTB를 선택합니다.

## Qualcomm Linux에서 파티션 관리

이 섹션에서는 파티션을 추가, 삭제, 수정 및 이름 변경하는 방법을 설명합니다.

Qualcomm Linux는 기본적으로 미리 생성된 `partition.xml` 파일을 사용합니다. 미리 생성된 파일은 `QCM6490_bootbinaries.zip` 파일의 일부로 제공됩니다. 빌드가 시작되면 `QCM6490_bootbinaries.zip` 의 `partition.xml` 파일이 사용되고 [Ptool 워크플로우](https://docs.qualcomm.com/doc/80-70018-27KO/topic/qualcomm_linux_software_components.html#ptool-workflow) 그림의 3~5단계가 실행됩니다.

파티션을 추가, 삭제, 수정하거나 이름을 변경하기 위해 Qualcomm Linux는 UFS 기기의 파티션을 정의하는 구성 파일을 제공합니다. 구성 파일은 `meta-qcom-hwe/recipes-devtools/partition-utils/qcom-partition-confs/` 디렉토리에 있습니다.

이러한 구성 파일을 수정하고 빌드에 통합하여 사용자 지정 파티션 레이아웃을 생성할 수 있습니다. `meta-qcom-hwe/recipes-devtools/partition-utils/qcom-partition-confs/` 의 구성 파일을 Qualcomm Linux 빌드에서 사용하는 경우 워크플로우에는 [Ptool 워크플로우](https://docs.qualcomm.com/doc/80-70018-27KO/topic/qualcomm_linux_software_components.html#ptool-workflow) 그림의 모든 단계가 포함됩니다.

다음 표에는 파티셔닝에 사용되는 파일과 도구가 나열되어 있습니다.

| 파일 또는 도구 | 설명 |
| --- | --- |
| 파티션 XML(필수) | Qualcomm 내부 XML 형식을 정의합니다. |
| Ptool(필수) | 파티션 XML의 정보를 GUID 파티션 테이블(GPT) 바이너리로 변환하는 Qualcomm Ptool입니다. |
| 파티션 레이아웃 파일(선택 사항) | 스토리지의 모든 파티션을 JSON 형식으로 정의합니다. |
| gen\_partition 도구(선택 사항) | 파티션 레이아웃 파일을 읽고 Qualcomm Ptool에서 처리하는 내부 XML 형식을 생성합니다. |

JSON 형식의 파티션 정의(.conf 파일에서 사용), 기존 파티션 및 Qualcomm 개발 키트에 대한 GUID 파티션 테이블을 생성하는 도구는 다음과 같습니다.

참고

다음 파티션 레이아웃과 예시는 UFS와 관련이 있습니다.

- **파티션 레이아웃 파일**

    기기는 UFS를 파티셔닝하여 부팅 체인과 Linux 운영 체제의 다양한 이미지를 저장합니다. 구성 파일에는 특정 Qualcomm 개발 키트에 대해 구성된 파티션 세부 정보가 포함됩니다. 작업 영역의 다음 구성 파일에는 RB3 Gen 2 개발 키트의 UFS 파티션이 정의됩니다. `meta-qcom-hwe/recipes-devtools/partition-utils/qcom-partition-confs/qcm6490-partitions.conf`.

    - **파티션 레이아웃 파일 구문**

        `qcm6490-partitions.conf` 파일의 다음 예시는 파티션 레이아웃 파일의 구문을 보여줍니다.

        구성 파일의 첫 번째 항목은 디스크 유형, 디스크 크기, 논리적 블록 주소 지정(LBA) 크기(섹터 크기), 마지막 파티션이 사용 가능한 마지막 LBA까지 확장될 필요가 있는지를 정의합니다.

# select disk type emmc | nand | ufs mandatory
            # disk size in bytes is mandatory
            
            --disk --type=ufs --size=137438953472 --write-protect-boundary=0 --sector-size-in-bytes=4096 --grow-last-partition
            Copy to clipboard

        `qcm6490-partitions.conf` 파일은 다음과 같은 파티션 예시를 지정합니다. 일부 파티션은 LUN0에 정의되어 있으며, 각 라인은 개별 파티션을 나타냅니다.

참고

다음 예시에서 `firmware-qcom-bootbins_1.0.bb` 레시피는 [Qualcomm 소프트웨어 센터](https://softwarecenter.qualcomm.com/) 에서 `partition.xml` 파일을 다운로드하고 이 파일에서 GUID를 가져옵니다.

        - 예시 1: LUN0에 8KB의 `ssd` 파티션이 정의되어 있습니다. 이 파티션에는 플래시할 파일이 필요하지 않으므로 `--filename=` 매개변수가 사용되지 않습니다.

--partition --lun=0 --name=ssd --size=8KB --type-guid=2C86E742-745E-4FDD-BFD8-B6A7AC638772
                Copy to clipboard

        일부 파티션은 LUN1에 정의됩니다. 각 라인은 개별 파티션을 정의합니다.

        - 예시 2: LUN1에 3604KB의 `xbl_a` 파티션이 정의되어 있습니다. `xbl.elf` 파일을 이 파티션에 플래시합니다.

#This is LUN 1 - Boot LUN A
                --partition --lun=1 --name=xbl_a --size=3604KB --type-guid=DEA0BA2C-CBDD-4805-B4F9-F428251C3E98 --filename=xbl.elf
                Copy to clipboard
        - 예시 3: LUN1에 512KB의 `xbl_config_a` 파티션이 정의되어 있습니다. `xbl_config.elf` 파일을 이 파티션에 플래시합니다.

#This is LUN 1 - Boot LUN A
                --partition --lun=1 --name=xbl_config_a --size=512KB --type-guid=5A325AE4-4276-B66D-0ADD-3494DF27706A --filename=xbl_config.elf
                Copy to clipboard

        LUN4에 정의된 파티션:

        - 예시 4: LUN4에 512KB의 `aop_a` 파티션이 정의되어 있습니다. `aop.mbn` 파일을 이 파티션에 플래시합니다.

--partition --lun=4 --name=aop_a --size=512KB --type-guid=D69E90A5-4CAB-0071-F6DF-AB977F141A7F --filename=aop.mbn
                Copy to clipboard

        각 파티션 항목에 사용된 옵션은 다음과 같습니다.

        - 필수 옵션:

--lun (mandatory for UFS, optional for emmc. Expressed as number)
                --name (name for the partition, a string)
                --size (size of the partition, generally expressed in KB)
                --type-guid (GUID for the partition)
                Copy to clipboard
        - 선택적 옵션:

--attributes  (Optional 64 bit attribute, e.g., 1000000000000004)
                --filename    (Name of the file that is flashed to the partition)
                --readonly    (whether the partition should be read-only, values true or false)
                --sparse      (whether the partition is for a sparsed image, values true or false)
                Copy to clipboard
- **Linux 운영 체제 파티션**

    | 파티션 | 설명 |
    | --- | --- |
    | EFI 파티션 | EFI 시스템 파티션(ESP)에는 `Esp.bin` 및 `vfat` 파일이 포함됩니다. 이 파일에는 UEFI가 systemd-boot를 활성화하는 데 필요한 모든 세부 정보가 포함됩니다. 이 이미지에 대한 자세한 내용은 [EFI 이미지](https://docs.qualcomm.com/doc/80-70018-27KO/topic/qualcomm_linux_software_components.html#efi-image-section) 를 참조하세요. |
    | Rootfs 파티션 | 이 파티션에는 `system.img` 이미지 파일이 포함됩니다. 이 이미지는 모든 사용자 공간 라이브러리와 바이너리로 구성됩니다. |
- **파티션 도구(Ptool)**

    Ptool은 QDL 도구가 스토리지를 파티션하는 데 사용하는 GUID 파티션 테이블 바이너리를 생성합니다.

    다음 그림은 Ptool 워크플로우를 보여줍니다.

![../../_images/ptool.png](data:image/png;base64,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)

    **Figure : Ptool workflow**

    - **파티션 수정**

        `meta-qcom-hwe/recipes-devtools/partition-utils/qcom-partition-confs` 디렉토리에 있는 `qcm6490-partitions.conf` 파일은 모든 파티션을 정의합니다. `gen_partition.py` 도구는 `ptool.py` 의 필수 입력인 `partition.xml` 을 처리하고 생성합니다. Ptool은 최종 단계로 QDL 도구가 시스템 이미지를 기기에 플래시하는 데 필요한 `rawprogram.xml`, `patch.xml`, `gpt_main*.bin`, `gpt_backup*.bin` 파일을 생성합니다.

        파티션을 추가하려면 구성 파일에 파티션 항목을 만드세요. 예를 들면 유니버설 고유 식별자(UUID)를 사용하여 `qcm6490-partitions.conf` 를 만듭니다.

        conf 파일을 업데이트한 후 virtual/partconf의 기본 공급자를 `qcom-partition-confs_1.0.bb` 로 전환하려면 다음 라인을 `local.conf` 에 추가하세요.

PREFERRED_PROVIDER_virtual/partconf = "qcom-partition-confs"
            Copy to clipboard

        항목을 추가한 후 BitBake 명령어를 실행하여 필요한 파일을 모두 생성하세요.

bitbake <image-name>
            Copy to clipboard

        이미지 빌드가 완료된 후 선택한 MACHINE이 qcs6490-rb3gen2-core-kit이고 선택한 이미지 레시피가 qcom-console-image인 경우 다음 명령어를 실행하여 이미지를 플래시하세요.

cd <workspace>/build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-rb3gen2-core-kit/qcom-console-image
            ./qdl prog_firehose_ddr.elf rawprogram*.xml patch*.xml
            Copy to clipboard

## Docker 컨테이너 사용

Qualcomm Linux는 Docker 컨테이너를 활성화합니다. Docker 컨테이너를 사용하려면 Qualcomm BSP에서 가상화 기능을 활성화했는지 확인하세요. Qualcomm Linux 기기에서 컨테이너를 사용하려면 `meta-virtualization` 계층이 작업 영역의 일부로 활성화되어 있는지 확인하세요.

- **Docker**

    `qcom-multimedia-image` 는 Docker를 활성화합니다.

    1. `qcom-multimedia-image` 이미지 레시피의 경우 `meta-qcom-distro/recipes-products/packagegroups/packagegroup-qcom-multimedia.bb` 를 사용하여 `packagegroup-qcom-containers` 를 포함합니다.
    2. `packagegroup-qcom-containers` 는 `dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-qcom-containers.bb` 의 `meta-qcom-hwe` 계층에 정의됩니다.
    3. 이미지가 빌드 및 플래시되면 기기에서 Docker를 사용할 수 있습니다.
    4. 커널 호환성을 확인하려면 기기에서 `check-config.sh` 스크립트를 실행합니다. 구성을 확인하려면 필요한 커널 구성을 활성화하고 이미지를 다시 빌드합니다. 자세한 내용은 [커널 호환성](https://docs.docker.com/engine/install/troubleshoot/#:~:text=Kernel%20compatibility,check%2Dconfig.sh%20script.&amp;text=The%20script%20only%20works%20on%20Linux) 을 참조하세요.
    5. Docker 데몬의 상태를 확인하려면 다음 명령어를 실행하고 출력을 확인합니다.

        | 명령어 | 설명 | 출력 |
        | --- | --- | --- |
        | `systemctl status docker` | 부팅 후 Docker 명령어가 한 번 이상 실행된 경우 | 활성(실행 중) |
        | `systemctl status docker` | 부팅 후 기기에서 Docker 명령어를 전혀 실행하지 않은 경우 | 비활성(중지) |
        |  |  |  |

    Docker 저장소에서 가져온 `linux/arm64` 플랫폼용 이미지로, 기기에서 성공적으로 실행되는지 확인된 이미지는 다음과 같습니다.

> 
> 
> - `busybox`
>     - `python`
>     - `alpine`
>     - `ubuntu`
>     - `postgres`
>     - `mongo`
>     - `nginx`
>     - `redis`

    다음은 Docker가 활성화된 상태에서 검증된 사용 사례입니다.

    - Docker 로드 유틸리티를 사용하여 tar 파일에서 Docker 이미지 로드하기
    - Docker 파일에서 Docker 이미지 빌드하기
    - 가져오거나 빌드된 Docker 이미지를 `.tar` 파일에 저장하기
    - `.tar` 파일로 저장된 Docker 이미지 로드하기
    - 가져오거나 빌드된 여러 이미지로 구성된 다수 컨테이너 인스턴스 실행하기
    - 기기에 로드된 Docker 이미지 목록 확인하기
    - 기기의 활성 컨테이너 및 총 컨테이너 목록 확인하기
    - Docker 검사 유틸리티를 사용하여 Docker 이미지 검사하기
    - Docker 로그 유틸리티를 사용하여 컨테이너의 로그 가져오기
    - Docker 중지 및 Docker 종료 유틸리티를 사용하여 컨테이너 중지 및 종료하기
    - 기기에서 컨테이너 및 Docker 이미지 제거하기
- **Docker에서 하드웨어 노드 접근**

    Docker 컨테이너 내부에서 실행되는 애플리케이션은 기기에서 기기 노드와 파일에 접근해야 할 수 있습니다(즉, 기기가 Docker 컨테이너의 호스트인 경우). Docker에서 이 작업을 수행하려면 run 명령어에 옵션으로 해당 기기 노드를 전달합니다.

docker run -it --rm --device=<device-1> --device=<device-2> <docker-image-name>
        Copy to clipboard

    기기의 `/dev` 디렉토리에 있는 기기 노드를 전달합니다. 사용 사례(예: 그래픽 시나리오)에 따라 `--device=/dev/kgsl-3d0` 을 사용하여 Docker에 `/dev/kgsl-3d0` 을 전달합니다.

    Docker 컨테이너 내부에서 실행되는 애플리케이션도 기기의 스토리지에 접근해야 할 수 있습니다(대상-호스트). 파일/디렉토리를 바인드 마운트로 노출하려면 다음 명령어를 실행합니다.

docker run -it --rm --mount type=bind,source=<source-path-on-device>,target=<destination-path-inside-container> <docker-image-name>
        Copy to clipboard

    다음 명령어를 사용하여 여러 디렉토리, 파일 및 기기 노드를 컨테이너에 노출하는 docker 컨테이너를 실행합니다.

docker run -it --rm --device=<device-1> --device=<device-2> --mount type=bind,source=<source-path-on-device-1>,target=<destination-path-inside-container-1>  --mount type=bind,source=<source-path-on-device-2>,target=<destination-path-inside-container-2> <docker-image-name>
        Copy to clipboard
- **Docker Compose**

    Docker Compose는 멀티컨테이너 애플리케이션을 정의하고 실행하는 도구입니다. 이 도구는 알기 쉬운 단일 YAML 구성 파일에 서비스, 네트워크 및 볼륨을 정의하여 애플리케이션 스택 관리를 간소화합니다. 기본적으로 Qualcomm Linux 릴리스는 `qcom-multimedia-image` 에 Docker Compose를 포함합니다.

    `docker-compose` 패키지는 `packagegroup-qcom-containers` 를 통해 `meta-qcom-distro` 메타데이터 계층의 `packagegroup-qcom-multimedia` 패키지 그룹에 추가됩니다.

    **기기에서 Docker Compose 실행하기:**

    1. 기기에서 `/var` 등 쓰기 가능한 경로(예: `/var/docker-compose-yaml`)에 기기의 Docker Compose에서 사용할 Docker Compose YAML 파일을 만들거나 복사합니다.
    2. Docker Compose YAML 파일에 나열된 Docker 이미지가 기기에 있어야 합니다. Docker 이미지가 없다면 기기를 유효한 인터넷 연결에 연결하여 가져와야 합니다.
    3. 여러 YAML 파일에 대해 Docker Compose를 실행하려면 다음 명령어를 실행합니다.

docker-compose -f <docker-compose-file-1>.yml -f <docker-compose\u0002file-2>.yml up
            Copy to clipboard

    Docker Compose YAML 파일에 구성된 대로 Docker Compose가 실행되고 Docker 컨테이너를 시작합니다. Docker Compose 명령어가 반환된 후 `docker ps -a` 및 `docker logs <conatiner-id>` 를 실행하여 docker 컨테이너가 예상대로 실행되는지 확인합니다.

    Docker Compose에 대해 자세히 알아보려면 [Docker Compose 개요](https://docs.docker.com/compose) 를 참조하세요.

## Qualcomm Linux에서 Kubernetes 설정

Kubernetes는 컨테이너에서 실행되는 애플리케이션의 배포, 스케일링 및 관리를 자동화하는 데 사용되는 오픈 소스 플랫폼입니다. 여러 기기에서 컨테이너를 구성하도록 지원하여 애플리케이션의 효율적인 리소스 활용도, 고가용성 및 확장성을 보장합니다. Kubernetes는 대규모 서버와 클라우드 시스템뿐만 아니라 소규모 Linux 임베디드 기기에도 유용합니다. 또한 여러 IoT 기기에서 컨테이너 및 애플리케이션을 효율적으로 관리하고 오케스트레이션하는 데 도움이 됩니다. Kubernetes에 대한 자세한 내용은 [Kubernetes](https://kubernetes.io/) 공식 웹 사이트를 참조하세요.

- **Kubernetes 활성화**

    - Qualcomm Linux 릴리스는 다음과 같은 변경을 통해 `qcom-multimedia-image` 에서 기본적으로 Kubernetes를 활성화합니다.

        - `packagegroup-qcom-k8s` 가 `dynamic-layers/virtualization-layer/recipes-containers/packagegroups/packagegroup-qcom-k8s.bb` 의 `meta-qcom-hwe` 계층에 정의됩니다.
        - `packagegroup-qcom-k8s` 가 `meta-qcom-distro` 계층의 `recipes-products/packagegroups/packagegroup-qcom-multimedia.bb` 이미지 레시피에 포함됩니다.
    - 부팅 후 kubelet의 상태를 확인하려면 다음 명령어를 실행하고 출력을 확인하세요.

        | 명령어 | 설명 | 출력 |
        | --- | --- | --- |
        | `systemctl status kubelet` | 기기가 부팅 후 kubeadm을 사용하여 한 번 이상 Kubernetes 노드로 설정된 경우 | 활성(실행 중) |
        | `systemctl status kubelet` | 기기가 부팅 후 kubeadm을 사용하여 Kubernetes 노드로 설정되지 않은 경우 | 비활성(중지) |
        |  |  |  |

`meta-virtualization` **솔루션과** **달리 Docker 및 Kubernetes에서 변경된 사항**

- `meta-qcom-hwe/dynamic-layers/virtualization-layer/recipes-containers/docker/docker-moby_git.bbappend` 파일은 `/${systemd_unitdir}/system/docker.service` 를 수정하여 서비스 `ExecStart` 의 일부로 실행되는 `dockerd` 명령어에 `--exec-opt native.cgroupdriver=systemd` 옵션을 추가합니다. 이 작업을 통해 Docker와 Kubernetes 간에 `cgroupdriver` 를 사용하는 패리티가 유지됩니다.
- `meta-qcom-hwe`/`recipes-containers`/`kubernetes`/`kubernetes_git.bbappend` 파일은 `/lib/systemd/system/kubelet.service.d/10-kubeadm.conf` 를 수정하여 `--fail-swap-on=false` 를 `KUBELET_EXTRA_ARGS` 의 일부로 추가합니다. 기본적으로 Kubernetes는 스왑이 **OFF** 일 것으로 예상하지만, Qualcomm Linux에서는 zram 기능이 활성화되면 스왑이 **ON** 으로 설정됩니다. `--fail-swap-on=false` 를 설정하면 스왑 메모리가 활성화된 경우에도 kubelet을 실행할 수 있습니다.
- 업스트림 `kubelet.service` 는 기기 부팅 시 자동으로 시동을 시도하며, 이는 기기가 Kubernetes 노드로 구성되지 않은 경우에도 마찬가지입니다. 그러나 이 동작은 리소스를 소모하며 전력에 영향을 미칩니다. 이 문제를 해결하려면 `meta-qcom-hwe/recipes-containers/kubernetes/kubernetes_git.bbappend` 파일에서 `WantedBy=multi-user.target` 을 제거하여 `kubelet.service` 를 수정하세요. `WantedBy=multi-user.target` 을 삭제하면 업스트림 `kubelet.service` 는 `multi-user.target` 의 일부로 부팅 시 자동으로 시작되는 것이 아니라, 기기가 `kubeadm` 을 사용하여 Kubernetes 노드로 설정될 때 시작됩니다.

## 속성 구성

속성(`property-vault`)은 시스템 전체에서 문자열로 저장된 키-값 쌍을 저장하고 공유하는 기능을 제공합니다. 모든 소프트웨어 구성 요소는 특정 키에 대한 값을 공유할 수 있으며 다른 프로세스에서는 동일한 키를 사용하여 해당 값에 접근할 수 있습니다. `property-vault` 를 통해 재부팅 시에도 유지되는 영구 속성을 정의할 수 있습니다. 구성 요소는 `property-vault` 를 사용하여 특정 정보를 공유할 수 있으며, 이 정보는 기기의 다른 모듈과 관련이 있을 수 있습니다. 명령줄 인터페이스(CLI)를 사용하여 이러한 키-값 쌍에 접근할 수 있습니다.

참고

`property-vault` 는 `custom` 변형에서만 지원됩니다.

- **Qualcomm 기기에서 CLI를 사용하여 속성 구성**

    Qualcomm 기기에서 CLI를 사용하여 속성을 설정하려면 다음 명령어를 사용하세요.

setprop "my-key" "my-value"
        Copy to clipboard

    CLI를 사용하여 속성에 접근하려면 다음 명령어를 사용하세요.

getprop "my-key"
        Copy to clipboard

    이전 명령어의 출력:

my-value
        Copy to clipboard

    기기에서 CLI를 사용하여 속성을 설정하고 재부팅 시에도 유지하려면 다음 명령어를 사용하세요.

setprop "persist.my-key" "my-value"
        Copy to clipboard

참고

속성이 재부팅 시에도 유지되려면 속성 키가 `persist` 로 시작해야 합니다.
- **Qualcomm Linux의 C/C++ 소스 파일에서 속성 사용**

    C/C++ 소스 코드 모듈에서 속성을 사용하려면 다음을 수행하세요.

    1. `example-recipe.bb` 와 같은 프로그램에서 속성을 사용하려면 `property-vault` 에 종속성을 추가합니다.

DEPENDS += "glib-2.0 property-vault"
            RDEPENDS:${PN} += "property-vault"
            Copy to clipboard
    2. 빌드 구성 파일을 변경합니다.

        1. `autotools` 를 사용 중인 경우:

            `configure.ac`

...
                
                PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.16, dummy=yes, AC_MSG_ERROR(GLib >= 2.16 is required))
                GLIB_CFLAGS="$GLIB_CFLAGS"
                GLIB_LIBS="$GLIB_LIBS"
                AC_SUBST(GLIB_CFLAGS)
                AC_SUBST(GLIB_LIBS)
                
                AC_CONFIG_FILES([Makefile])
                ...
                Copy to clipboard

            `Makefile.am`

root_sbindir       = "/sbin"
                root_sbin_PROGRAMS = property-test
                
                property_test_SOURCES  = source.c
                property_test_CFLAGS = @GLIB_CFLAGS@
                property_test_LDFLAGS = @GLIB_LIBS@ -lpropertyvault
                Copy to clipboard
        2. `cmake` 를 사용 중인 경우:

            `CMakeList.txt`

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -lpthread -lrt -lm -lglib-2.0 -ldl -latomic")
                target_link_libraries (your-lib-name propertyvault)
                Copy to clipboard
    3. 소스 코드 파일을 `get` 및 `set` 속성으로 수정합니다.

        `source.c`

#include "properties.h"
            
            int main() {
                // set a property
                property_set("my-key", "my-value");
            
                // get a property
                char paramstr[PROP_VALUE_MAX];
                // value gets stored in paramstr
                property_get("my-key", paramstr, "default-val");

                // set a property which has to persist across reboots
                property_set("persist.my-key", "my-value");
            
                // get a persisted property
                property_get("my-key", paramstr, "default-val");
            
                return 0;
            }
            Copy to clipboard

참고

`properties.h` 의 `PROP_NAME_MAX` 및 `PROP_VALUE_MAX` 에 정의된 대로 속성 키 이름은 최대 64자까지, 속성 값은 최대 92자까지 사용할 수 있습니다.
    4. 호스트 컴퓨터에서 레시피를 빌드하고 기기에서 플래시할 이미지의 일부로 포함합니다.

## 영구 파티션

BSP 소프트웨어 구성 요소는 UFS에 정의된 영구 파티션을 사용하여 재부팅 시 영구 데이터를 저장합니다.

참고

재부팅 및 OTA 업데이트를 포함하여, 영구 파티션에 속한 파일은 그대로 유지되어야 합니다. 따라서 파일을 삭제하기 위해 전체 파티션을 지우거나 초기화하는 것은 권장되지 않습니다.

- **영구 마운트 위치**

    `/var/persist` 디렉토리는 영구 파티션에 생성된 파일 시스템의 마운트 위치입니다. `var-persist-mount_1.0.bb` 레시피는 `var-persist.mount` systemd 단위를 `local-fs.target` 에 설치하는 역할을 합니다.

    부팅 시 `var-persist.mount` systemd 단위는 `/var/persist` 경로를 생성하고 `/dev/disk/by-partlabel/persist` 를 `/var/persist` 에 마운트합니다. 영구 마운트 위치를 표시하려면 다음과 같이 마운트 명령어를 실행하세요.

sh-5.1# mount | grep persist
        /dev/sda4 on /var/persist type ext4 (rw,relatime,rootcontext=system_u:object_r:qcom_persist_t:s0,seclabel,stripe=128)
        Copy to clipboard
- **영구 파티션 크기 조정**

    영구 파티션은 `qcom-resize-partitions.bb` 레시피에서 설치한 `resize-partition@persist.service` 에 의해 자동으로 크기가 조정됩니다. `resize-partition` 서비스는 기기 부팅 시 실행되어 filesystemd를 파티션에서 사용 가능한 최대 크기로 확장합니다.

## 보조 가상 머신 만들기

이 섹션에서는 Qualcomm Linux 빌드 시스템을 사용하여 가상 머신(VM) 이미지를 생성하는 단계를 제공합니다.

Qualcomm Linux에서 가상 머신을 사용하려면 이미지 레시피에 가상 머신 관리자(VMM) 도구가 포함되어 있는지 확인하고 게스트 VM 커널 및 루트 파일 시스템 이미지를 생성하세요.

다음 절차는 다음 작업에 대한 단계별 가이드를 제공합니다.

> 
> 
> - `crosvm` 및 `qemu` 같은 필수 VMM 도구를 Qualcomm Linux에 이미 정의된 이미지 레시피에 포함합니다.
> - 명령어를 사용하여 게스트 VM 커널 및 루트 파일 시스템 이미지를 빌드합니다.
> - 명령어를 사용하여 게스트 VM을 시작합니다.

1. **개발 컴퓨터를 설정합니다.**

    - 호스트 개발 컴퓨터에 clang을 설치합니다.

> 
> 
> 호스트 개발 컴퓨터에 clang을 설치하려면 다음 명령어를 실행하세요.
> 
> 
> sudo apt install clang-11
>             Copy to clipboard
    - Qualcomm Linux 환경에서 meta-rust 계층을 활성화합니다.

> 
> 
> meta-rust 계층은 crosvm을 컴파일하는 Rust 컴파일러(rustc) 및 패키지 관리자(cargo)를 제공하며, Rust 언어로 구현됩니다.
> 
> 
> `meta-qcom-distro/conf/bblayers.conf` 파일의 EXTRALAYERS에 meta-rust 계층을 추가합니다.
> 
> 
> `conf/bblayers.conf` 파일을 열고 다음과 같이 계층 경로를 `EXTRALAYERS` 변수에 추가합니다.
> 
> 
> EXTRALAYERS ?= " \
>             ${WORKSPACE}/layers/meta-rust \
>             "
>             Copy to clipboard
    - meta-rust의 Rust를 빌드에 포함합니다.

> 
> 
> 다음 내용으로 `meta-qcom-distro/conf/distro/include/rust_version.inc` 파일을 생성합니다.
> 
> 
> # include this in your distribution to easily switch between versions
>             # just by changing RUST_VERSION variable
>             
>             RUST_VERSION ?= "1.73.0"
>             
>             PREFERRED_VERSION_cargo ?= "${RUST_VERSION}"
>             PREFERRED_VERSION_cargo-native ?= "${RUST_VERSION}"
>             PREFERRED_VERSION_libstd-rs ?= "${RUST_VERSION}"
>             PREFERRED_VERSION_rust ?= "${RUST_VERSION}"
>             PREFERRED_VERSION_rust-cross-${TARGET_ARCH} ?= "${RUST_VERSION}"
>             PREFERRED_VERSION_rust-llvm ?= "${RUST_VERSION}"
>             PREFERRED_VERSION_rust-llvm-native ?= "${RUST_VERSION}"
>             PREFERRED_VERSION_rust-native ?= "${RUST_VERSION}"
>             Copy to clipboard
> 
> 
> 다음과 같이 `rust_version.inc` 파일을 `meta-qcom-distro/conf/distro/qcom-wayland.conf` 파일에 포함합니다.
> 
> 
> require conf/distro/include/rust_version.inc
>             Copy to clipboard
2. **Qualcomm Linux 이미지에 crosvm 도구를 추가합니다.**

    crosvm 도구를 Qualcomm Linux로 빌드된 이미지에 추가하려면 `meta-qcom-distro/recipes-products/packagegroups/packagegroup-qcom-vm-host.bb` 패키지 그룹 레시피 파일을 편집하고 다음 코드 블록을 추가하세요.

RDEPENDS:packagegroup-qcom-vm-host:append:qcom-custom-bsp = "\
           crosvm \
           "
        Copy to clipboard
3. **이미지 레시피 및 게스트 VM 이미지를 빌드합니다.**

    - 기존 Qualcomm Linux 이미지 레시피를 빌드하려면 `bitbake <image>` 명령어를 실행하세요. 그러면 crosvm 도구가 생성된 이미지에 포함됩니다.
    - 예를 들어 `qcom-console-image` 의 경우 다음 명령어를 실행하세요.

bitbake qcom-console-image
            Copy to clipboard
    - 게스트 VM 이미지를 빌드하려면 다음 명령어를 실행하세요.

bitbake multiconfig:qcom-guestvm:qcom-guestvm-image
            Copy to clipboard

        **게스트 VM 아티팩트**

> 
> 
> 게스트 VM 이미지가 성공적으로 생성되면 다음 아티팩트를 찾을 수 있습니다.
> 
> 
> 
> > 
> > 
> > 1. 게스트 VM 빌드 명령어는 게스트 VM 이미지를 위해 `tmp-qcom-guestvm-glibc` 라는 폴더를 생성합니다.
> >         2. 게스트 VM 커널 및 rootfs 이미지는 `tmp-qcom-guestvm-glibc/deploy/images/<machine-name>` 디렉토리에 생성됩니다.
> >         3. `tmp-qcom-guestvm-glibc/deploy/images/<machine-name>/Image` 파일은 게스트 VM 커널 이미지입니다.
> >         4. `tmp-qcom-guestvm-glibc/deploy/images/<machine-name>/qcom-guestvm-image-<machine-name>.ext4` 파일은 게스트 VM 루트 파일 시스템 이미지입니다.
> >         5. `bitbake <image>` 명령어로 생성한 이미지를 플래시하고 기기를 부팅한 후 게스트 VM 커널 및 루트 파일 시스템 이미지를 기기(예: `/var/gunyah` 디렉토리)에 복사합니다.
4. **게스트 VM을 시작합니다.**

    게스트 VM을 시작하려면 crosvm VMM 도구를 사용하세요.

    다음 명령어에서 게스트 VM 커널 및 루트 파일 시스템 이미지는 기기의 `/var/gunyah` 디렉토리에서 가져온 것입니다.

crosvm --log-level=debug --no-syslog run --disable-sandbox --hypervisor gunyah --protected-vm-without-firmware \
        --serial=type=stdout,hardware=virtio-console,console,stdin,num=1 --serial=type=stdout,hardware=serial,earlycon,num=1 \
        --root /var/gunyah/qcom-guestvm-image-qcs9100-ride-sx.ext4 --no-balloon --no-rng --params \
        "earlyprintk=serial panic=0" /var/gunyah/Image
        Copy to clipboard

    - `--root /var/gunyah/qcom-guestvm-image-qcs9100-ride-sx.ext4` 옵션은 게스트 VM의 루트 파일 시스템 경로를 지정합니다.
    - 마지막 매개변수 `/var/gunyah/Image` 는 `crosvm` 도구로 전달되어 커널 이미지 경로를 지정합니다.

    자세한 내용은 [가상화](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-3/features.html#virtualization) 를 참조하세요.

## Qualcomm Linux용 OTA 업데이트

OTA 업데이트는 기기, 특히 임베디드 시스템과 IoT 기기의 지속적인 작동을 위해 반드시 필요합니다. 이 업데이트를 통해 기기는 업데이트를 수신하고 설치할 수 있습니다.

Qualcomm Linux는 펌웨어 이미지 업데이트에 캡슐 업데이트 메커니즘을 사용하고 Linux OS 업데이트에 OSTree 업데이트 메커니즘을 사용합니다.

> 
> 
> ![../../_images/OTA_Introduction.png](data:image/png;base64,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)
> 
> **Figure : OTA update for Qualcomm Linux**

- **캡슐을 사용한 펌웨어 업데이트**

    캡슐 업데이트는 Qualcomm Linux 지원 기기에서 펌웨어를 업데이트하는 방법입니다. UEFI 캡슐은 펌웨어를 바이너리 형식으로 패키지합니다. 기기가 부팅되고 정상 미션 모드로 작동하면 캡슐을 다운로드하여 EFI 파티션에 배포합니다. 재부팅 시, 다음 부팅 주기에 UEFI가 이 캡슐을 처리하고 기기 펌웨어에 업데이트를 적용합니다.
- **Linux 운영 체제 업데이트용 OSTree**

    OSTree는 Linux 기반 운영 체제의 버전 제어 원자성 업데이트를 관리하는 도구입니다. 전체 Linux 파일 시스템에 대한 git 저장소처럼 작동합니다. OSTree는 파일 시스템 트리의 스냅샷을 저장소에 저장하고 기기는 네트워크를 통해 이를 가져옵니다. OSTree에서는 업데이트가 원자성이고 롤백을 지원하므로 업데이트가 중단되어도 시스템은 중단되지 않습니다. 이 기능은 문제가 발생할 때 롤백할 수 있는 안전하고 일관된 업데이트가 필요한 IoT 또는 에지 기기에 유용합니다.
- **전체 OTA 소프트웨어 업데이트에 캡슐 및 OSTree 사용**

    단일 OTA 시스템에서 펌웨어 및 OS 업데이트를 관리하려면 캡슐 및 OSTree 업데이트 메커니즘을 함께 사용하세요. 캡슐 업데이트 메커니즘은 펌웨어 업데이트를 먼저 처리하여 로우레벨 펌웨어를 업데이트합니다. 캡슐 업데이트 후 시스템이 재부팅되고 Linux OS에 연결되면 OSTree 업데이트를 확인하고 적용합니다.

    Qualcomm Linux는 캡슐을 사용하여 UEFI를 통해 로우레벨 펌웨어를 업데이트합니다.

    다음은 캡슐을 사용하여 펌웨어를 업데이트하는 단계입니다.

    1. 캡슐 만들기: UEFI 캡슐로 알려진 바이너리는 펌웨어 업데이트를 캡슐화합니다.
    2. 전달: 시스템은 캡슐 바이너리를 마운트된 `/EFI` 경로에 저장하여 UEFI에 전달합니다.
    3. 처리: UEFI 펌웨어는 부팅 주기 중에 캡슐을 처리하고 업데이트를 기기 펌웨어에 적용합니다.

    Qualcomm Linux는 OSTree를 사용하여 Linux OS를 관리합니다. 시스템은 Qualcomm Linux 빌드에서 생성된 업데이트 패키지를 기기에 복사하고, [OSTree를 사용한 Linux OS 업데이트 흐름](https://docs.qualcomm.com/doc/80-70018-27KO/topic/qualcomm_linux_software_components.html#linux-os-update-flow-using-ostree) 에 나열된 명령어를 사용하여 활성화에 대비합니다. 기기가 재부팅되면 업데이트 패키지가 적용됩니다.

    다음 그림은 OSTree를 사용하는 Linux OS의 스토리지 보기를 보여줍니다. **Runtime** 보기는 **Storage at default deployment** 에서 런타임 시 마운트 위치에 매핑되는 디렉토리를 나타냅니다.

    **Storage after creation of new deployment** 보기는 기기가 새로운 OSTree 배포를 성공적으로 생성한 경우 플래시 스토리지가 어떻게 업데이트되는지 보여줍니다. 이 배포는 새로 생성되며, 다음 재부팅 시 새로운 Linux OS로 시도됩니다.

![../../_images/OTAupdate.png](data:image/png;base64,UklGRvJTAABXRUJQVlA4IOZTAACwFAKdASqwBLICPwF+tVWrKD+jIrPLE/AgCWdu+/JcEW9Gc/2OAOcFM/Ulclpcw+MQf/SJ//+n/t0O6c+rp/R+nb9Nb17dOk8f/4z/B903+k8K/x/6V/U/33z1sg/qn+D5m/zH8Ifzf8j5z/+f+9eKfxq/5P8l7AvsX9dPXj+Q/a3ubdK/4f7Q+wL64/Xf2Y9DD3v/x/3r1M+w3/g/yXwAf0j93fYf/k+DR+Y/5H7SfAR/Pf8z+3Huuf437i+hX9E/3/sG/0T/K//v/YDZQYcDp9xocM8wdN+sT7jQ4Z5g6b9Yn3GhwzzB036xPuNDhnmDpv1ifcaG7+ydBWiVFmRPrLC9w0TBNp0N39k6CtEafna5vNIc/JOG/V0fR2DpOA32BvsDfYG+wN9gb7A32BvsDfYG+wN9gb7A12NsKLFcuiHr+WNLXFy1tXseMiSGylIVGarOkEwjuTOQMr6hrJoEtYOf7+KgQgzVrwZFm6O6xpsCEybASyIPMYCzCG4EV/C9o37Ix7vLvtC2BCsRnTf0pQQqbYj+rXqtPlYl3Cbm5TN8iVFk5iQTVrabbNvYoJZAih28+SQfPb3juCHcEO4IdudmSH1DR8hO2btys13bVnjnriNKoYyjzbEcuLLhJn8bZgvbDlIZFx+1WWdLpSkYeSAfQid80hRxJK5IioerKPtPYXVHEfInHIwp0l7Qkb/xxEZqea0q4Fqrp0+Dzd7I8hbm2+wN9gcE3n1R1povX16af2u0Rrv9owahNvQEUrMX+9cm+sdQRmHsItlicRX9pkuEfFDatmDQED1OLQGtDJrDt60LxoCd2EL2Qh+sUZW36dDhnmDhHXsQ6i6k2WNd7H8YRlX012PvRWFGL4uzrUpsKanZCNx7iLMEw0kA0itmG91fTaqOpyXM1YQAlsoWMLl33E1KKm8h6afVYGX4YoScZVYPg051vp0dBwj5FslVWsLza6ZB1n/qWomUEqzoY7boaF7RiqC9xlY5w7+81QaPgVN+ILWIRwtfWPwObT6+birP7l7rIT9h/dfppuz9ldULVJZi19mWJxmWTGFN+8H9nAOPOdhfi7KLhXEmPmn9I2PJJMBpFb8085cl29jZbMakf2gpiA32BvsDavdgQ65FhSaHkaK0l99XxivjFfGKXsl3pOAUfBd6BVw9EjF/sFAoW6t7lyqSCBqo9O6QaV2Lk0TYyQ7gh3BC+e4GqYQizsUQyz3si3dMRbC/9vl+GgabvU3epu9TMbecttgH1Dh8pjHhBbFNuQvLonn4zeiQ9E4NtVBMQnw4CUfSqgdWRNzjFRY55nfVN3qbn7pzMa4QbzWSKIxb7A32BvsDfXSx2JFvtOrTUNxp00BeMwVmSnxh5cynZv3fGK+L/ixUD3BWCICPKvIPx4jr5zF0zfA0Hf/WeZQaEGxXxf3BHaw07cZTNujlQuqu2LRZpEx/czYI8O4IdwQ64ZEBEu1ImKmM8i7cYqDPtHltU7WeqU0bV+HA/5bs9H+nOf1XwtCiNpuQX7T2FK1qdMN+NwR2sNO3EIhNi1KSrNEJhPgYr4xXxivhY2Osdh8IcA4nPhgckLYMglNsij9QhVttw6km1dGj41SxiwSQkhoBz63XEnvJ1mg/hHXmu9JFvlHzMjXfB1eJhktRjkxlhaRJImQ0QgN9wJGT44n181VyXapLMetjsSKoWKVJSXykvlJfKPrHYkW/HIWglDCCypD9VZ7D2TFCPzpJVOOejI6KLCWm8NoSq7iWSX3txje4yCQjvhWZt/mq1+qQmNhYz1D0cqbVGD4G+t8Ut6RJrlZ33TmY1wyCGwL5Ymv+tOcjwKtTXwIj1B+y1+Qdvjn37vjFfGK8LW+wHh53mJEtw1XymRFIcOt3tloL+R4NWFlmuMOA32B67zRpSzYjqiCAAERLvRBuH3OYQ4BFrv7AhdNvFCeTrNEO4IdvOW4tb6zPptNtAnjBCX/ZEexMBm/6Wgb7A32BtU7Wep7mWjxgoWgOxAZUDGvRwKO+YYQ9Eh3M4Uv2HN0XBHaw07dGA27i9T5NQS1J0IryP4ACR4Rs1T8UgtmMP23qVk3enIpwsiABWI9TVJ0d4TG0AtITduwidYcX6r4v5wJxeuAQxb7A32BsbJ7EuIcX92+FjJ7dGA3kJNmyKkRtj90iMTI4HZFLyr7etFfGK+MUvZLvRS/IUuozqRd8wE0vBdpYFY3IX/IVrXFvrozI13hedjYC+wW0lMDizlA3si6lDdQQLzTKGSHTm71S/n65yEcEtiK8LSjopnWBK+IpnHVmwQT/3O1KkXJxDYEciD1FI13441cGBAH6srZxL61Xfe3eimdAvyGk9jnVYOwj8pV4bhlhDQ0M3tlrEy89OmbzIbFFm4ogXKAr3dMiSCqYNxXdY984E4vXAHr9+FEh6JB/vXtOBnXqOI8AnctnartK272vYIh8xJs7vHaVcgQ9MkU4UH9FkQG019u1AGFIba0fajKKLSSjTNypm45aEAQzyf0Ur88Y7HV8HKt/p3G0SK+MV8X8nRolT9uCzapjXDIIbbWco3hUlcg5hXNOEfyfABhL4xXzJuZb7A2sGgZ0C/IaOhSfBDreKU4qRiYBtwngr+CUxuhV8h8Xp5lrPXPcBOT2nWdP3lDcEO4IXrsF2SaI75/PAKYdXRph7c5cUJmUq8r5QyCaVeGQ0ABqxFAPI9R66CiQ9A7Yidjqaw4eAIyoGCdezDxlbxijIorMscHEcmT2Kbsulnjdyjtw75yckxHPw6EWGiwIoiBsV3aIzfu+MV4WghHHNL2tFevQR4xu+Hfevdu34hkZsG0RMHRhtKi76JD0RXEH1E9wUzZpyPjYrfNOV6ycAIZ5SHdE1EIOWbajXj7uTvzeCHcEL6kloIdy5jAj10GpWTd2THXc9ylpZ/G9UU2b+jx1Tb6F3ljWJu6sGx03h+fC//wDqMDyj5hfyWEnPqoJP10PTJFOFCiQ7ovKX41nWo/XzotA4RlcF9Aq179Ng8FQq8QKWN5Jx+1ipjGDjUuVk78KxnPAwM6oQYi3bndJ5fkBfXLeQTtfsDfYEPS/pCOd1YVgHdRBRIQXE4ukezJOkPekCo07+C1/MXbUHNwVqTa4jtc8DPrw7+46TUx7ZpTCO+onuCPDqXza+Bj6Uh7TkCDCWGzIdsUA7FMDa2wLlQRsZUD28ykbXCGHZIhMYmRfqvjFfF/egc4mjn2BrWwmyqS+Un7UQCfYOKrCQVFOxcYkbDDJzhJJa1aeHhZEBEu1SXyVywjE//bYoGYko+OJmQMldRuYFPMGe60pAG0ABbyWqu4GLfYG+ulj5GUiIBetmO5Vpxs/xAJJpjjZ7xrCv4sXZHvfov6JmKMpzd66aUl8pLMgRkB61jG3ZuM23r9qtVl/T1zhywzTl0H99gzZfSHqjvGKcQG1TtZ6oJ6OlvaVWxoYHdhICxCP0reG3/sPN3qbu8I+3ZAE1t82oEDlXnZwvKvAnaipxPhoFfGLor4xXha32BLJhS0XBk1gHqBI9kiiHi5u31rhvRIeiKvynuYP6cQG+wN9gbWDUqWvuLyARLDHGDgFpEhT4Cep+OZgOeZ9GMVmVapgjxRabvU3P6Ydse7wthsAHRSU6AyWWspfZmsRY8d7MchdSREOxXwrM2/zILqJqbGLiuUnGJtkwXjMAjUHdvsDfYEPTdz6MUDRJ9+y/1of1Yacb8wNn23dfSXicndmpGFvorAxXxivhY2OsfHc/ph1+VV4tQ2b0fPUcW3xw3d3K09zAepn86JD0SHoHbHuXg3QTRn0bMnJIJZVb1jX6e+xdfLbooikHXDwFcLxJwYJ+Ul8lO3RgSyZjbziMD6jLrP8sayOGRVH66MyNd3ubU+gyHRcw3QXhYo++Me929J1VaYN39uw9Eh4AFML6kmPEWoBGWTib3cWUagtQQJmIxmYe6h31XHh4G5XoRzr2ydr6G5VueifYG+uljsSNBQO2Il7+gPejF6mFg1ltb3fYG1TtZ658nFwTXzqlfaBVA+fINtf1UUX3MMKOFkjtYihS8kEik21J1N5A08fT7Uiz/ekUvua0uaTy3FrnLawaBfh1ErZE/cXfMgCDg6czAp5g0qGfaNikAXf3zXIszJVH8WEyY6W/hDq89tJLBm70AvObZCdmRmLLPdwM9bKdZ0H0BCVv3sqj6x8d3pyCr9fhBY+dtQD6gbA1Pax/pnSoOutE4S3anKVRd5WNXDswHiTSHgATuIwe7ykmFSOMmfA2qdrPb4GxOcHEokIx62vo4nb7LHBoPA4GPw4DfOXvC5C0LtrQNQUwEo30zL1N9oEuFTOAa9ETkjw7ecSHcDHgGJvbiA0fg2KGLecuBil7JdqPM9NLT8nN3dytPdhu7S0uuGUJGYYCJnyCLjii557qE29+22X4gyyEkVCrWmpyW1Xxtxnm25nRr6L35JqAt92U3tMepLMWvjFFzW5aRdHU4yS4bhB4R31Fr4WNjqGjTEELZER4XsnHGSPCwhBRu0b9gKAABJSaqA7qTgGfaGENepatc5ODyo3lvWrn7pzMYJa2LQYLrWe2AowLzOcfnq3kiP36m7tOGfQMLkDYKSx9nQM6lY5FMqgFV6gaSIiV4T8iBDJKK8jrAHIV+Zd8QLn+bi/nAnGSPCtqATEqZ0f1lvybOjtIoFr5QDeVVsGbkVg7m1iNJYk/bE2XOu/1QDGKqcYgK4cS+Rayc7fCxs3yksHrXtqZx9NBLav6y5xJVUylrd8SxtO5ixGvH2+3t/Ocs6BnUrHIqFESUj9rdPSvxGIZHAN67FvkM54GzfJTt7cRKTfdFmCxHM3mD/4/wyeFnEEE+ee8ctfzY9ZmMNTG9AYHsqkvkp7eN5QFw9SShliBcnONnAhl6GIhjZvkp2+Bsl23qIu7eLj37Qd/S/h5ufKd+cPNz+miZXcIDWsAwZPlGPQx8pbZB85x5IFz0eoOZsUarH/1KOeBO2d63ehHjFLyPDt2I8QkOAE9g6TXijtKdujAlkzG4IdVr+pHjEnjKd6uqbIURV+U92G7vCPqaUWTni9QrTBQ5kXPpZycWPjmL70wOzrZ0GQXDaaYRST5BHCu/d8GpW4w0G6kcDQ1d/OXVmsc4WOxI0FA7Y93cGuGH89PdrgSjzZDVfF/OBOMkeF9RaPAIWHT8e4J+S0XjPFBqekJ70EcK79y34j5EN0KYwqVUTOENqUKJDukIhaHV1JvAgeGn17OgZ1KxyKhREdM9w11dnuA3yGc8DZvkYBDh7HMnqn2nbkAdJ7zjS41wsbN7dqksusYxZA1HTbRtH08rnFLpCoPbhWXAixgnph2x7vC1zlMDjc3epu7uVp7sN3aCaHlfuI2iIOmygYXdFGdMAYo5X0rcIQDR/2310sfHMX3pY9ykXBVAWEoOh4SsE1CRjepO+kvlJfKS+UfWOxI0E+t4P+sUSD5j0+Y6n99jrYd864/YG+QznD85h6CGeYOjr6GADtUPrE+qEnDOSgeBf7KR3L5mMDaXeXOg6b9Yn3Ghwzy+NeFNKddjjoaQvNro69neZY9DPMHTfe3S/UQ/kmtkjabhXPQChJfR44gN9gb7mVeBsouFc9AKEl9IPiA32BvsDfYWI+W+wNqbpTOpVTocM8wdN+sT7jQ4Z5g6b9Yn3GhwzzB036xPuNDhnmDpv1ifcaHDPMHTfrE+40OGeYOm/WJ9I7i1PAAP2IEUDRNixBG2jDc4AB/1gverTznhwIAuzDtxcD5ovXBLLbs1AN7ltqPR9Qad4Tj8yyfpyugANtJIS21LgztAZnEUStzP2Zfswk8CBkuPqvPsZdRS0nUV0y0JhREdmP5/uyqggfslzEM8dw/MV2ct2y++kL3AAjmWT8IAOXECfCrHavJ0sKy14Jy46pO9ovKGqWYr8oiQuUwRM0IerjimEPOjXUGgiGHf8GozeYXn5ctGkO9pRdnKiL55pj/T1FWn2m1Cr2+kEanabBit92k/Iwn0RuRFHVotfB7E0ubVz5JXMu4By3WAndnDRYAqIqz01Cu9CJA7JZroxQLgJLVb+q4f8fD1rCeyR+0VjykwZsJ964u4eF4YM8MbCIM78NR1YZVFwB/T45DbcybRrinrwNjpA/gcl8T39PUv2ueyj29RWM2/pgzR5ojXj9Ft4BX7xWLXXcQdLwLlC3ZATLTURQG1sd1Uv4YW4C/bo1EAM6+ICKTo6UxAiSMARWV/clFKle/xfzP072gNx6hm0pvX78Z3eQvHkv5zt7aFERc1zfbI4jsQBFPMKq+f8WMOHQe3ZASbAf67H+fHs9ShJyq0wJ9XEZwrE9RYTA881NLo8yZZ/ZsztbzGIOe77WlYLjnxOa/6CA6P65xZGPe050kgI2UwY30huH/u7FRAeGBq0a/F6xiyIy9N5zNqBUwx3RnKpxTezeuvSw2nG//Iulffrf1zyq44WTlJG5ljuZkAgLm2Wtm+3nK4SmluKRbhoQ1Lr5ps/eFZ73H9iKYB+VWuIvxoBMi2d263cu9bBsWWod134tr8r1yznysmS8uG5iiQ9AeIcj916crqPy0KDqyUoUwar8+zSVAN7bZxxsHUcD6dBLhgCE7Vyst+b3m1cbChIOkvz2z2emmZWEZB1sYr3ea1XHLz0y5XQpEANg0C5vocUMuqtTdJQR6AsXFdIh7RxWyDykc1xxX8IN7HiyP7FhIeR6CVqDMaIeXbpgzAmN7zmljEg3CuingfEBQFOnoQANkCSDc6tFzM/3Nf8dbrpWVf7dbkVgUbAyw+mq0A4emi7yz5B9dBmo5/27E7glF4xgOUX0v8eRY7CyLRQr1JVDVL0keVPWiIBak41DrvCpzGU8nOR4uSFdJOlBz98HJ+rsw/wj9Q5byDbutYSosJA2KGPfph5LgugZlTGpS75VLPvD996rTz3u1G/i5qUXkyanZEUUyTEGNMUTfBkyRJsPgrphTpVZqgcA2N0G5oBpjijj0HyIlc6uftVFbsYNd+cpjDvuqBDh5Q1c4gJ0Yz5FxXtC/kUm4GlbFEWUlDgSpUVFpT4ED7Z7PWAQ/gOmlgc/ifYn4rwyRGXv0Ks8lq87ntAH/FSlOT8SJSiHWF/4rw82bWY1iPXoUJRI6fbZnrYVrkzW2ZTMtXgG4QUfvjwjA7lTnRztlO0MW59PbRDWK2SGdew/7H3u5urQswxImPyletWnB22izIqNfXgvCruMs7enRRXJFxvumFFhvuSRlVEKCokuJfSugXEkoa/29+FtkjNPB8jFDYUTVKO04+X3GuXAOaTlmEoxB1T3rLW6x4+BDjgcJ/kveEyFxGAX0k7WBYsfeDegz/G4/DsiaCN+RIrU3Chv+5nyqL+2WMzrIfzjjFDm5EUzgUDCKG7PIiflnXA/aq2LQtAVQGaqc2J/Rn0XG65hOpKVmgN7yhDZYv+NsQdD9FIqDtp4tzk+iY693xE8EzSUlRcRLFN6JTUpDAqAvwqL+zX6MA7UYJhBTIuPKLNec8xF0yiuYV//BXVrS+vaTEdJFe0bbCoysKVYieBJ4H/p28AIJNy2zWvckDJ9Ja8pKgEuFIl9HE+EMdL9I5erWZjyFhIoabChf2vO87Nrc9u3MIWM28DA24f+QtbxZtVXCC+QwvpsdrC68mky7MFO/NsuZYX/y9WOu2y79lO2QXenV6NYZUTDCH6FutG152M6oRiBzFQ7b6/iOMTX12VpnPQd71pbqHwI3oBV2dIgqpWAGJZJFBRKX3IEIXrtM3gj6hxm1L2amjr3IvlsLO2E+BgaSNBKdoHyELBqvY1EfKCh5nwNqERwEJqyeLEAac73yYRTQfgUg0D92LpNNePwPa2sOwMafevyjvYHeJEQX+PHORyPohT70qsdynRv9rWXyXuGFeuVIhW0mHvf1XCdIS+3Vu/CEVUTOS3KOCPXvvm29QllamaqIWtK2yWgnqCcZn49R6r65/PpxeXhmrLMl3+xm7oLHd4gQWd8wRiYKocDSZlBlDIEODaKJKXdM47cUfcHATQncPzIcF8FSpduFmrZYyrJTfn8GoEi3AqyN4mS8qnFPHOK1RKUSteLfbg5drH6RayCWVYgnoBVQbjKA47zy3B6shFVvz1woQQWpubxFLH4VP16u4+paARr25cECMN90SzyAQbJY1AKfLyWPHV6T3vwd9WvL1WigewoFsXcd21fysu+ob4bTjTKFXVa7IEIUiL8JdpV/rEXUe3yQa2sjScux4q8p4rqYqxQQkLoP9i2msbpHDlhDXjivC2DjXeTxnj/nda4byWnCqBaZZuGtskpDcq5Xy3GRKoHoXHoE9q/IRbyLhBsJJvnBYa4T9oXNFMZR8vLBrqFgfRgILUA4CBtBOsE9hUnp43qCFGMXQroG8gkr5VX6jeKsn5d1l1Z+IuaJ/paKUHjpSf1voT81n0wD27+AUTUNCDptKOTw8OEGLFnG/NydMcuo6dMWV1LldPdvf08nsm9t1U1+q3/4Fe/cf2Csi4AfcBlguBYEwNJAr3HePxL6/RlBW5+vPE5ACpsNtiX8XSzwZ02Yfx+WBgACnyQQ4IO6dzApha4E6a3d5ChPKardJd4ofCyHDU6bL+ykI+vW0NyCWH2ALNQRXBjt2RUwEBFuFE6ScdEgYxrj/1Ki1LN/QwUCg/1npvOzBqRkqywhOSQg821LPTxJWMdSlbaDhwr6ypJVgNBt+yKCO31IND2XPw+zQd25TjYCFVq6f2CKOCMbfF9x6h5zP1c4jc5UG/0/ehXLgaIE1LcUTbwMryB4tZ1FIvnxdclgRuapNFBd+oTbLV6NfPKdO3uaRqw0ERFKxe6E0wJTsi5BwZ2NHpBMPPQ3ewjCrmiyo2udiirkBVrBsquI2KCDdCePAL904GPk2Nc+Y1sFKUBWpIJdroK3YOv0bVkT3rZJkXKCGfeVLX1nTkeBKKYfeFA571m6RsnMA8fy1ONttbh2YbtsfIH+lultOS6r3wPC4/LkAiBGfYrZsKwD4t9vd6q792B5QxfUhzcdnngWJ6zvWPeEEhtEX+7MaicQCcNM8jM3+Zj8x3+JLDuWe8N4z4ZZrL92Dzt72OFA4rFmGEh591bGUbPkZfezV1vpTP7HR2yYTtaaqNmWj3I7nBRS9aHtgliuo9HbsCRMe1xzWE/xdkZdc6o5DlwDU2YFTx08a5hCky6iRS41vPN3cdHZ/hVfW15iINDlHEWqDJqJOwvniyoUX/89f6g8PhUaIFreqNvP8hs75iZ3KC+rJpoQHSfrODrf4EMQc8OktMtc0lTgVgewVOix4So4LxnwnqPx5VGefpyFG2QJtCAoSHAMAs221BsfZaQ4PAJqktUGOkCikyW16KVNL0WJzzbWFYEBfXVRBHVQiyCXz4vpZ9+XwA52JmNmxEc2aTD4PLLIRdWOQiY+xS6Ue9PMeU9SsVeT8H7B8ZG5czEExcLwr+i6hFs3p9kQ32M8UI3isALDeZzr/OLpqTLlmojMKTi+blURR7879kRMGxHpmkWqKsLj3dA1k5jwuNVc0tWvm7hzCEGXKGUZ2tsXe3pK33VhzvKWkJMuZPJHqzIIsxhVQH0M8nXS8wNtRvqjlJiamXo4LD/nupuw2ZzIvNDEYPcE77w5V1m/0D24kbbLKGAjpiR39nm6LP5O4ZDQNMeciRp128lOjAbaH0/NOkUb08BBfL8JUcJVwoRuA3xHVZ3/ZBBE+4ke6OQ1gLvKgj36/KrYeNbEZX39Zzxobo4eVI2GSFX89gGerCRUgBOyRmuR2nU6CIDW4+yGXXo+uCQZoOtNK9tJii1Q4OELqxFGvDywSEdh1RzBZfzUp2uUqn5uk+pVtvj+a11TC/Wl3ZKuXvMVvAq86I4WQhFckATU9YaGW+LfOW722ruCDhFU4KyKvkOlWKUBDWoarEzEf6630VF9oBBVv853UjueVe1ZPmGvRHwz8qhibgkZ1YzOZwuJWTbphaZ9torNJdzaWxkVHBK8zzit04BBTijMLEl5QeBPwJNYVITpNlxiC4bKEHAUFTHzlEQhxbgwu4EGZxFQNi/fSerkQXtUs8Is19yNzlX+wASxf6DHIwq+p1C0g0Fqb19aUN1K4/x5gzlRpnmaYbbD0fBctMvYET31oUdmeWzGAK3eFPsC09QjYOHj34QBdfcxJeTpddUcs4ryG6Vrwdc0fMwtDiKg+SYhbin1kX2MxGXirlcAXARCZ2A/wIZTsGmiEcLJmXggLu0CdrC8E/0+9vx3IIlpOODzzGDFHN14EOCs7i7r51tBmtSqkA1fjUe+9zWTooTvp4ja/MuIYPQk+aKGVpPjUIlTDNNwjKSmP/fneCQXJqi1qT5xmp0Zt88mHet7OpPwBisM/E1SQVEs/fjSSeGyUduFsYjFWhdKZSHK/Wd7s3s6v0h6IJIbSaKCw1gGW95hSrMQF7t5n2cb7XCQsLzjVo/E1ijJ/z9ZcAg0Sff2VefXTm3SYiXOQ1Gkj7nr8s7LNqAJ02QyeG08ZaOjQQUE8NZeii+AWxq3WywDmU+q9bj7n1d+LMPKFc6X4zmnQgbM8v1ax9fceBV8ZyB8VRrSSdTcV+ZA7VXntrV1ZFpn73Y3BXLB9VbcZJPkhf3P/sKiM/miuwjjEMR5EZzbNUcHImZYZjAA0I8C99jsvLiB/wPjitqVm6zE3KOeY3nGHsSRZ9lA+HJw+QZ6LRnvmsMs2basZgbrEFe5qYHRis81LNLj7Kj/ji0fAPiY4/YCnsP8aHWgANmhbQS3va0cpZdSJaNmLsKiQvDnJWtIrhWDkcBTK0ddoGGiS+kMQ0wN31ejnsGb6C7TCVVrPSLE5pBOeFY7rO2vw8IxiQsSXk5F2iRSLB0/Vios2UgCqavBfT+sbQPSdp0jPB4L1x5aYuwPGoMplMLwUpq7H1+Netl7BHgnXaSQz8pGtNke6MwwkxZqOO9SrBVpqf+1RSYKc7sf4T+got4GgZ05WOhr/apxOrReEkd4KPTtFl1wJkYi+wWlXLrrl+eed4O3EG2ItCaFPHcIxmidtjYpVWOxSaO+CsOy6PZANvBKNvy5gJmsaWfZTyzbmWmqG+95MK+UzaUMXPQJ35TSGQlVl0iXkgreidUCHlF5Vbug4V2EORFLuPspNhVGzZh7wvOCMBEUnuquS5IhCnX2pFAokTEX/J9FULka6Vs0bPzBK2ImfQxKcbOtS07+XnonzowzJYRcdA1suzPSPiN8E+Wujje3FMLXAg3aZB55AqzByws6J2hS2XOBvseLBx8O3pVDXi8V0mIOwL/JAN3lTYa8fP9UY7uDlPQRLuvd9kd5e3nwLYvtqmEDybgqS3Ry0f+/3q1/qGTNa6CSbylW/Ew5GrDgLAq4drPcZZAK8vq8o1rJkmQZiw+uvFjMCZ9bxP4qARfcuuCbxfQnXBru5h+yKykgAeCKklGVtwKqBYyR2v4zjBnM1oxwgT47O4eOsWJG0lf1iby3qcE/kQDJNnoYkSBw8tuuuYtcb4X5M7DIPsCNwPLZE0fQAE690Jf5ec1oxtVWOEmllSJ+ZaDTxKqADmEeTYDqVAWnr2NOatD+GZM5Rdob+zSzjpzRXFYVTrRaLckJskm9AgUr4x9AhN4wY2JnvBr7SBvu7MNk69/2yZLKcBxOjgXhO9LMOWOEZh17gMiU1YDVbDBvG5VpBn7rvWEZpKe7khWFkhCp2W6KdrOZEzbisNkfgK1kPB+ayV/gzGwRnQJ8wQ9NOJAKiyleTPU8bNfXQ8p/eZzMmV14Ys6hk50swIGkissa6agYAt8UIAOEr8FWCzRuAV2rsuZZSPpvNlPy0oJA9p7fEy1vYvCqIrN19NICzplOqnu3MEqf9N9quZsfsVaWMtNh8ECzDVRCRhpFbgcybgNv3lcNghJ9c9LkoGTApeIVi1xWKhKL4q9yJ359GBEWOw/xv+zFsm3h/m5Fwhq48NJ9MG+TWunLD4jVLmNov2bH9nWLvOTKMxysO2HN5VyX6ae6SLfsFp0R9biMf3Fq26/Oj+yKSdoevofJOFhuwWiWk4dBDdeOrnuprBU7ogAnhBbFF5w4egxl56ci9OSgFOKVCCKTYxLJDWagK3DQ5QGdKTkvSgJcibVV+m27X/+I6mBuJ1Nigmz922cniBO7Ztzwjnk8sCkSTA0ES8Khq1nZWg/GCdQZOkf6wUSC2TuLukAmo6LMfNXOUcxr21pKDZ5TA12+JhNxyYrrOGcCGA4T5iea+5Eq5JuGF1OkE5Yuob0A+Way5O4cvXXHY9OHPk8nSWn7/b4jwLw+gvynbQUN+rpzJdOGg8B8mNl23GMbsXfWX1tm5heQvRAet8W/ncBQs6a23XoUTOVKncIoIFoRSKOjHZ8tgaElGfyGCLuxNZ5O5+/Gd9Mhyy/AlNjQYqYmIVb3PuwbSe75Bd94HOn/lJotEH+xbNu9wUgKeLXBOVyLo4V8WJBtC7ia2acoPAgWr5jKpWc3MA9TFRNGC9yyvhoRsgQz1tJXfQT1UV3cEbHHR4WQewsxwYuMTyTJ23nMQ1z4S617Ce4BOQ6op7WRfZYD4/YQBrIj5P47w0NeJ691zP0tsi7qjUfQw17uitIXjMrWdDr6f8WJxPajkRFyJ7rMzunheLUblIDvnR9JGL7H+0rDb1pmvZQ2LaDurzE7DJOcD4Fub4b6YNvOTFmrWhIyHXTlhEgePq3lj8EY4TM+sIXR2GYzFiHs02bX7lj9vXbaY8CLZFhbGTjFqNNaDIo/PLylVMwbnkeq1vy2rQYf/UpjQgMdceXJNaHBXWd3K2CAp1CsyY8EqlgSVbGTbbGvkObpqOc4tyYshgcAlTlCg6DbX3kFLbTWuefadCttBD9K//COY/qc3spSLoBmNTYt74rJUQ+mhMDtQD/1/tNmqtNfwP1Iun4/Tpuo6rsowaSdIYge+9vP/oxfDrf+jFnMXbgNfg5egKtscD3iUJXc2G7kBGr4ZKXLt/P6mBKOfW8W76XQcjR3w4Vo72JrX/06B9RnBv/TZdmQISSXO/AIQzwiEqltxHdxsg5ckghtnPKT0aaAbcKVj0IBUC3SOMpJ3RVc+ZnkbdzNQ3lw5zl5RgDFwt6KCNLC61AdI5BPZy22vo8hpFWBeFiKo0EbAoosJDoE6NC+AyDDB744DqeJuZr+/6ENIdkhVax8LWre07uZ/yP7LOkZ/4P1Tevg8v4BhsWYooJxyWV8vDrQXw49wDzX4bx0NOu6ZtU/YOGlxT4ja+Vvh9QRNBUU7wXKWoxNhbJVGLaUVSHvR8xL4ApP0vxyMV4LCnpWc3GTcqcPmBBmcFdHqMP0/g1WVPnxnlhQgSulzBs/nmzBFNQBmcTXuVJdLOuAhT59nKsqQskSW4dbv/7Jz6nbzBOTffwHf6hMgoPEtdH28DEa9DEvxA/NLSVjQsaIwWpZukMfEA1NhtyCxJnsdVWuNas8izI69jfzcN5T7fUIA1Gc8xkj7JZlXxBYAU/j73dhEpEW/JWFltltgEmbtp45cvI1IYuMpio08aGn7tgMIOCHyUVTVaXl+gDS2Zv6wUYsMAfvpgu40Z3SJ8ak4SR5YOy085bFseFv50cAaV38OdIKAkyilG+MyY9Tp7fbiRnmzIJMi+0/bR3I3Mbp2J2UcNvmTPm+IBzg0Eh72HB4iF7Oaf8m+xErNI3cZzqi6mX1da6ubz/KcBvAUCCxlmBnFuDerqjkoZ/RIg6Yq8TD1K0+v7YkSI9iq6h+8NhWmoNBxEs7t4jQbgQ7TQw1ixYaWd+j5eZoA/lVm7sALRqqfcHkUk6MX3Y9ZuUncnjtq8HuwkACEJMIpjuQSd+ZU6XHybGYwm1HslXuLPpYVrPpyC/fWBLwYVVNzJxy52eWN7PG0Zfbr7XtsHi3uWUgl/VJ2aZWSa3O+hlqihoswOj7NQbEArirRAGq9U4lKIKNUbzZNjoAGOwYtBjdakOL1poW81nQrmGTVlQWOQMEe+rKxMCUB2F/w9iImGcYZggdrsmyQDbGvCroAcHFTKatKwARceaEnyoeu0DUdS5hqLsDmbdTzLV5NwhfjeFmmUNiTCSOZLQ7ZRchvddIEUoxCbzEb8Mi1fmXVTgAtCF7t9bpLak3PV3gAVtMUAkhWjPvwEIY46/NIeiRHKSxFC2T/4PH/4D1lL9LziMb+24AuHivPu7c+DzDC/fXBbJummAqyeegpTR2esWF87B/Y7b/FsiDEew5m8gmBDaUyJq5Xihi59LXWF7ii9HqEZO7p2uDn/4H/HkQi70bg0JQTAROo2RrOYaxmljNXQiHTf7KbfDNDHLvqR3dKa44phzEVmupzCebsVTdXYsRjCtlFJ30CoFzFZPphsYVFUgiVaSndjY7jmFBN0RfzmUCcUzwc9U1TmJsM5QPBxMkyuVPk4h7+IVMiNJ8wW42FtZZhZ4q4FFnV8uBVsYiSCqEJSOxHTNcRC16VeTWbKW36kbzHsxRQVyh3Z4x+LVJAcaZSDvCHlgj1s3CGrpL6ssuOYvQQ9ETtu3i2jdJyssBvjQiDiJVAuW4QQMmwKwDsbC/rRPaGL9KVL3/ikOPfM0rPt5yDpVyn9tYYoogJgeejkNr3EDZtko8aixpPX56OtaBCTIr4Mfgc6jEAu2s80SnwETTpwESXUvMlBXmP8RjO/jUEirvUZX84U+1SADmi9ztAT5Q1sgfY+8gxyTsHyDyBvzVP5/dGg9SZRYdGerauE8qftUGhAyzc9COg1ICrNN36R9DrWNlKyC97nh1DO6pT58EGeOVpMkbHmWezl9zFG+o29JBqgcpp5RNhOtDs5d2AkzPFXyivFGrYQB83YgL59qs8cHUgw1gSuL82AQr9lmuNAtYEPznG+xXXLWXh2Z2S/mjSDHWZZ3V4tK1Owjvyq9iJZI/25Lt95aUAR0lAN3vhcP22/04QtBMPorQu15SWp+mD8yqyylN8GnhCAYeJzRPRiL3aYNijYi4xH1K+oCQqKfJDGig7lr4ix7MmLvDC+5k45IAugfYV1YiRCFI1vdV//Kt1N0HOSX5Hpa6JPU9lzEf7IxvODWrOId01q03NlT4FJBaaogy1rqRZFgw/GlmmaWnotvyegzgQarslDno4FB+wyEPq67GRTdkEElxZWMuFhxooYBWJDnxwtp3lWbc6RvdKKwJcTLCMIcqq1XcNbvjYQMI4jDv4yzWp+15WTGyxo3ctgTsDPvy9xf6dAwgaevpZ066CLONHocaiiiio7bKHx9lL9lTSC1HmfsZiJCeLN8Umzn/4n48FgqF5qzDtl0HHsT9PKeiCbpP8bhdGo9z2MIUdsyW/o/+DmRaTDteVj67N6dk8X390ht3eAObdw9qxg/uLtwuUpnxat8DYw/f7YW94DeH5Q5n5Q+QABk5kwOYwYyqQMxlxvMMrMOgTn4VOe7KcmY2M8caIoYPeKciv6SfgoSrNgMWZyZL02eWnE6rJWSxNpinHx/7y8aiNdGkVIGOpPX4BaG+ZdSq99RzxtEs3qFiZVf+SFEDwY4l/bwb+Pls6B46vuWUF5OJjpTgOkWxIEetOrY21vr1K9nDlB2QbNkSiBQ7E+haWv134Anuz2O6ZChLhhTH6PhSkzOfWrBVb0esZgf8NgKzlzK2GSi2yAb1s3wFnfrrcQnca71j2rftx1lO6Ut7LZT1RmLwQYTG3TZ4+XdsMblRSaqSxgOfd4LOIeD6OuyzLiHT0dxyulVaMugqgMrVN1TV7TRt4lHEbF3G8Xh1vhvU7QSfikdNK7fdLx/zBVqBOG0ctSawLMmBQ766i3ulgXwUyBYoQX2bHgdq8ofwPvR+XkETWy4HHI7adMXKFjRf4QalGeCv6z20I13EAEtGqZ4nX0UcwA42H8jZTDGr9PrSFeKMyrsxvKtirjlvj+ZmBGdbsIAyJAznuA1pXqWsyMpPmJCJyY3ZYjcbKbul00it5vr2Yt1JXJD05JtYL1qOXrXoSMELZXJDADu1HcskoDxELqcgHi/JVLAkq2MmJtRhC/1d6BEaRrBdRGR9CygkBJkmapW/hIRf7I4LBRgTKS+j3nb7BuEO18jOhj/lmMDt9Jm+HAx7HqhddF1n7xx7sanGRni5RU1YOfaSSLGHXHhVDb9IXerwiwi+1LdzrgfrlxW6sr9OyqwhlLEqf46IvQ/CO7uxNwp29NZkxD+jgIJ81uk1wAMdSlHV6mIhxAWDxuvq72Edsk8Tnd8bYyZw5qsiMEFg7S4BlKi2+RLOzsDpkc4H7LgN7SlJGTCtIBPEAlFwq7+WTIdHd1wJrFkTsVhaXlNYJHqJDY12I3FnT5AJa1sh/L1dkxIqVt6s04/a7J98p+PltRPDDDztc3Jgx+M0LDyrBwhV8sarCRjjlvYDYJlm2Q8OC1BB0a2ur6jDBT7NP8d9TXRukUi3gXoc2iqJL29dZrdTUZbfXfQGR3Bvig8DeUUfjXHCyiMKuunFsmJt14yoWEWunG25HAxDynMAzdOys44L8E2doaIym71qy9OrzO6ywvwN2o2+m2aEUUmvZ8jB66GsqGyzwyFfBk4xdZJ2TZYh3XAw95NM1hfPqmiCMy1r9r6VVPr7y+3GUm52D3DGqBsd8ysBbDuUAE9/iu8n3N3+ichj0KlMFQnr7a/fJS2roLEV+f5bUnjzR/EhYJYjXRTboqmA3rYvKn5O32HGAFu3UgbOJ5xcsxU1jsTTykPNhCoa298uvmG04VlYDzZxVK9UtiC+O3RZsEeIB3EIVPt9187vMtcxYRM52cygZ83mDKYf/gpE+GAkpRBY79te+Rm2vw1r9+NOuelKL5Z/lOdwABvER1FwbALHTIhbRg1Tnce45cpxP4ou+KjrCMxzYU+Ine1yPBBZu/boN2a9H5s6RgTVJqH13VjsCdMuz/QRbSaprLBS2yF3IU0+3t+Lgvn7bVlqdAMECLC3RIIfIIuApo3jsU+BMZRwTwE0n+oWhFyPINI/G+gOyczDMWUU4elIx6tChRpD9/qPzgAi5rdXfjZtqSJ7acUC9qTpbDp7YMuz/k4W0zDCwdAvxktkvKg7gaO4xz/VEX2N/wCuL+vV/rtqgL79hR92tVcqUMVIZt81pn7cXeI0uLxcVcJ/26kQl+Y9HQQGGq1PBxDRMK/bg0U8FKTsNaLkmGuCvtw2xAB2kfIKQ8f4nnQgySd8nEtuYhCIWbvmMm4QHvz4Tg4lql8nl1h98T3bxJ8olUH0/KKrlI/PNDUm9DgFy5kkycG/hSq6W8HFaMZAasabgzSlSZveH5MQ9/zX7vtWdzIFsI6F53ZX1q2JM4RGQKL4Kz2e2pRqgN+dGeKlyGof0zQXTxxMO4qPPVZcb/9mGPJVj1YgjmMwxFAkeDRECk/ztFWrGtp8tCTbi+MBXNn0HO2/PyFkHdil8JhLXkYdQukWRBHtmPxaa5EKGZNFPfXQy+PFmrcOpo2ji1ZkGZMwdYgXXotFKDQrou6PVAhXD4m13lir8AH8QHrUEjf49X1KxOS/EXZyS6VUpchNuceXjohjVJXhgfUibF816NjahjoKfqaORO3Vk9ws6I9g5utK9UXdKliJtW9cihymFUxuHgwHOko20dk/56YhPrYS30GpG1fpBKeXRID0wfUEHZ51YrhYi1CvXo12n/7ezKYbowvlPyk2BslJgOgKzFT8oWkOPeB51AlJjPFIMIgz1oI3HBgpvVIvrEmQ53qYAz+W6xX9DVbUReGtf9YdOwngEDWqs3WDnmk1v4QHSdr9U5vvprPMEf5RpnUOWEv7DTLzthXGhH7kCA8ARim+cAdmGQfoSsyprXLPJpxvXtRM71D2Urlc1uk1awPFqKj6lO/bJ6I/kvcTik3PIF6rDcfFIIHmWXD4bxVNYoqwzOqJoPyLOR6LeChPCfBqgvghDYIsri6DCAnKxq87jrfsgo5+x0//Je9YaNCTcpYe4HIZOutAoeHExAS6vNR281TyZACCDoLQP3T1EoLojWIFTDfsONVvmGX8LsGCTr8O9DzzvWchgNHlbFDrX5H0gqzTFSzEKfW2sl1B4EJpfJ21JdvxraUothq1nOB72xEe5/DLl7fmyKpltCFITWjfCo56U1B5LM1eDOlmbKD/XYKQJGMCL9GGl9vRqUf6LAw48Wbv0igIw1y0gAAYHGOBE2zv9mho0oq3ZlnrMJvesykkUbv+5Od1fKy2pgtO4eHNyduYmq/iz3cjzNUKQVEM4t+OZDdcMRJBkdX01AlI6aJigt8/s8bNc51zhbl67wSel1bmMCeuoYvHcORX32pHJwsXcFUTj4kcn/y0DmUkoWPOSVebIIQcmXvChuNKQwlcCnx4VV8k3KkjkWSFZ+yc7mz3yyyu2/6z3Hn0lgioQJ54sTa7/f20TZW/6BM9RAkilPYsZxmWqxa3u+TDk9J00rJ5bI8ZfnZVHURF48DLmusGt/rQH+UHlPQyRBCb6/NN1knEWQNd4XfJGNiu8134IE3FhnbKiAiS5c1U6uu6vxOSDUUXvVclQR4mDrmFZ+Zp3mD1uiyjrsUtvZKNHAEruWSmrIsVZAb6OtkLBWYqqWj75CKMVrhO3SbxVgp//c3Ev9b2yR1BfltwNR4wlPuMQX9jHrNGF48DplYvZ3cW8cG07HQ3iPckP60VsbiRFUhCsgOYk76zKdepz2bxlg/eG76jZNpb69sWfnLJkT0HH2qjcdQ3ZYsg1cMZ9MzZcjDBW5RBQsMsT3m+4vzBzaNLNbw8Oog05ZBAIBrVgvled098KkMMzuNjhj4+9IMexCYInCDcv2obtNy2k0HbnAmjEUvWjtwGM5GJ6p1g33j4RQi63StKj5HD7ijNCiH93sQQ7n4F+F7/nAw9zBm1FV4aPRxButKeqknRk5S7xCSGs92w+QJaJZpkwU2ixjUrlbnPL27aKg30lIL6agqoP+CZO+oSL0u9yYdnWMMFi0rjECaD1+/mwG/9YsxyUvP2BWKmoy3aabilGAeEB0+YHh+L32CoPhJw6uKd1dd6qoG46HxzbZEHm8QuL//449zGGIN7ija5j6LqBdEeBsYZB700i/ACBqOJJW3QnEAue8Ckc/2SxAlCrLKMcJyF0nhJDMOTckb6A4Cidocubltx9lkPhVa+TU4khczFgBp24QPZR+mEopsLZE+UjiQ1blOm5Dhayyxck34Hh4XaTW8nAxqU6o527Mwja2ToIN6dV2BgA/zydGIBbXHtU2/2n3xqQPA53OInpJQ57Kz17n5rgwUd7na0chkXrsmddanEcgHRBoL/RHCi5zjRCJwTQEjLaWtYi95PL2w51LkAspbGVSMTy8FRKV/YSGQMyil/YttCWNX2ic8zRkubrPowfRlehJUJDTzYfbdnKsOiQ8OKySr79wFs223x3U74lU9pDDmPtyPl6r3izMKmbbN2uVNw1C/gVx10DmX2gAFNbagU/WEBZI7e0uXmL++vv7OKfqxiq6S+ptyTT40U3la5jhMAUioAdOHpDSy+96S80kPf8n4F7Zgg3tbconTQgdYYm0HKP+ehdgjTNqwLo3j2yPcmjhxi1Ym9+EiV8FuXOexSb61qLOogtwhZAJeYfn9+F4c7tyf6WGKJnDW7FfuAyrk7IV42xVpiGk/ZHcCU+My4KR+Sdlz50FObNP4qz2mbYpCDexQQbzFDG8SX+EsoCUKFShRfISKiTY+eNQeeWvxLRdvfNOkrDS31fFXWWABHl1ebLsReG5N9tQ5ZNs2OLlxJjLg6qfN4nLxqAIx+Ag9VnU2EoqGuWLdFZHOFOe5rl/g8YEMB3ke4Lbu2k1ste362BprusoQDuC2mSYdFV08PhDpK2CIa5c0shegJiUHMdKVwXpJE0n2DMvUXlNdLYJA0LWPYxb8Kr6TEDYDFMbDpJs1djteXexfHYDdiFSksyk+xZgq2DQSXu0N7cO1SkLtTH6hDrw6ng1AASO+B4hI26eloPfWB2TsURjRu8q/vSnRMi7689o+y9qe+ehY1u1aLPQDzx4kenJ2NDswbOSVLQCYWK3t5g7IP5w27kQIRuPGe4GhkhYjdTQm5UUVVffBW5pWMVxXvJgULkYkO0KgYi1rH9PmZjoRkkJQYwxzzC2wAlL8XQ59hGilHOop5b4LSuGezJfkhFKVqkMr2hoFhgCJ3WUeANmHrsApUTuqUEIP5L2xC8rX+eEqosf4+PhH6Bw3pE19kRHyfNpDYua2djAv1o00i7S0t5lRpRvCy5sIJLX84z0kv8qwi2kk/BtDtnlAEn3MgvbM2as8fa7gjd6LxozrXG/RsgJh3vwhip+rYAFONrkz9FlmIpJpcsnhfcHxJs/SBfZL60rMzFIE4m2Gdhlmv9imke/WZ7LyD4QkiSK1caSPSugAfjHOvYE2e1YwiMSGoTbZSkVL11XTXLMdVssFRiAepWAty7pyg2YfGb4lvcUI4wI27JGnnMmeOCcq4vsO+3gTGREYWt+NqoCYpqOjJ325qissm4VdKErlUUvIFlNHtPe6791sgonNqzsxtbS7rEKEjfMTe//fE4olLUu8fdIIa3Bpxk265n13UjgRkmcBP+9o5PZ8FdrfaRRM67p0AOophWvV99mFYtnPse9W4M9LmeHVCRTdP22dLvV7UJ2e0PUxiQ+yKFDYxogDDo6p6XZogr7+CK28bBjo9bswtmgm66/anw3snowesm1FOrKMK81WHX5Yjim20mRUe6jbY38/x01pEBExnboefshOdIx3UllMqeYRwwu8AL9yfXGAos48uR3Ev5lDU4Goic5ebjzczIFHxWfoZGzxIVKQbogmNde6LhqHaUvulhFat1yW9NmaTGqPYHIXwZCKqa/NlOW5feZ5lihhaB8XwSyUgqDnQyVMxrPfJ9r3dPISQknRS+V1G6tk1MYdeB3nwOpa46GE28lTONTXzmb8fDQcWQ7rQbzbmIpGGmLAIs09905EuPeJakSSUI78BTKqSM4DytaCMLQ9z/Xp/El22YW52u01n19PU/ZyQkfR46PjfZtPOQCT8lhk4mlYsgtw9MddclqO4GXpnsrhB4hPL8zUvIRhfkfS/ogQjzfNf406IraoQrnskWlm0FHKpCHCynSj0/Bcw2mPqwULb0smFKQp6gN7KCrC74EzCUTI64PKI6DoPaRdD8QbEe86WkKTCqP4stND28ArSsrcVyoIhwqkvpdLq7YmFGnuv2yhd9LWPHzwDSO9BqA/6OoV2wFBTQgcRpur0SlwTbpXNh08XNTNvchW02nDEtxGj7ifoUMInAyEn2iXEEn+iArOO8xTxuqSaU61hHz0TSPWgQYQqUN80HczJmlVv5u67FM3hVkGvz3Q1zcalk8CtZ0WkK1O9qcAu6RwiXtNTY6C6aw0mC6XYFsGv6rx73CooL384xRSRZOqM06JxCq1bKPEEu0SXe52j4hO7/p7e7yNIcehqSXC/BEpseTIDbUADg3WV5BsZGabKn6XdrUei3+/eQG+H55eHOH7OwLIC5YYNBt6wMm/9eY7mls/9Tl2bD6QVYNyJNY5jRg0D9tD8xVyIk+EuaPi95lIMZa+vIqHmr6wqHr7uURcDrtupv72c0v48pftvoxDZ9tnJgJISUegNvzOpbWtkd4tJk/+A3xGXh/hHRzJ1vCY5MYjaEY7IXEHQMG9hPUZ1UyAsnCYXkQS7OHPI86pr5T+Sgie43WcEL/pYRx3A3ti1sj/Kfhv98DMArtgt1O33qDvaS7exSM9Cs441M+FJPv/+O4ipIeMlBzoM07q+JcrIeG+1jYglI+LDHWbmVrJnSY5LXf0/EK5cjDzPt0kKn6DpayqfvWPjExihfdtasAc6cvGAxtDJaESMqWycif6VMAm74seZ8TttVi1qhvV4bNY4aFN72BfhNfbvc2thlPEllELS7QJgVbfKn1pvLG1nNZgwSbCv8s5oIGElDF1kOTfNZTVYuPQENGj3+CMYZCveJd3HarX6ej6TlrtjJ63zrmMrk45YU+MMRDqfy5xx7q/bgmS2uNDJ4AGlUTPiBWDwnmx+YDxswhcZl54oRpeIf8ykJj22EbFStpq9vnS4CSVfzNkDvX1ZYWsfh+ryCNgfk7WMOhd/CFq0QzY58/zkn4IVGZHTxqPLeXHJOK1MubTh/lOJ1yhpk6m9dceVVqs0szjky0WXVTSAqpMh0sXb847dSfsvg7eeS3HG7lAlHimLRDmI9+voMLvJQFr/+OyoIqG7dM/MC/BJd6bE/ynvgEeISWEK9BPjLzLlukg5nmJHW2A2UipyvfisregfzlTTpnzWZjdYSo/Isjadzn+AsvKEVziADhleepkAuUoIGs0tAy7N89nE0eH6vNUR3FjRpNp1al1L3seZdTS2GYQEXxs1fe1TV1AVBNSlqiwJGbn0MMZhb73Sot5PjArWCefrMLQAXw2hBoBcp30ASPIRVZSTccikiusrHFHVmXas7eRj7H4NyiURwz3SXFOFQyDXtAflLged3l4OJ9FftdOYq0+MGH58oikVYsqBNoetzMgyXKkJM/XGX4Nfgo6JwvhapX895c0maHTsZnwy2+1hbjIdE+bY7oo7Gxny185A3BnZE/gLAvSZgnDCKkF/44NPc+F0Cn2dP2TBWdebRMsU5APF+SqNRMhhD/OUW1iM6JthiQ+Gkq4jI3tH+mdkVS5KwIAOCijNgluL+QUQ3EzAveXMDiXqTQb1H2u41PdGc8+aTpcdhqW/yWMyn39e8iJVwy7dHE8DSjEaZ+cTqZJzt7hlzLsY8CFk0XbJM19zszuRGnCmiubQkEoCVox4SGz1Yq4aa9VE+JE4XiadxvkkqBW3wXtVZB6ACJE81ZalJF8xEwF0Z90gBZJAgKnkQR2moFcS6FEohpWxQTXESr0XFpMenOIRdIhBIhPaL5vJXvg+VpeUVJUnj/QcWf67EsPxrm3n1ZEJxmPHkSDOGq6yym8pN1HEgjqZGizOlmMgILcQ2nUHmW1b0jKcgKsYTq94TW8IFevhgjvt8cx4pL192Jw8VYwLxtrX763UXYEH4mdbjaEDkroO5yhu5Ls4FVTta5xlRG3yIL7nwxP/F/SlR7BDn5MafsehxInU9rIrQnpH4/gq5x2ERS75wxVjYsAo3xHXLIbZgbrMifKFQcGT2qyMO3OYIRpp8ibZBYU9fWUmGQ5HeWzK1z0mQS2I0dMP5RA0Vohl+jF+cb3jBoC8PX6gN5bwpVqKoph7lxPVE3WP9OF6KIwjMliItiXmyCm2guBeYowSErn50Sz6HgvePeo+/deyByYHrBqQ0Hl/2/v4I2c44aEhKbEXNrF0B/uzUXiH7eteSo8oLlJsp9r3pBUg7usDRneLTpXJpWJG9/jZd9P7hmiY8ki1tb3ZATP03EOLEVxQsbtR6l7KKvoRdpMXI4SkIE5fimYeCVmX/4u1gHYcP5M+czh8C/rZ5h/oMQxUk8pZnfCsg13V1aSTjFJIShv02zs7eziCEF1xxvTp0DSGFXTOhA13sgEdwjfSTaAQx4k7gn7Vl0ITDfXDC70uB+AZgMnSQoWP5yjJkwr9hvViWNSM+mbtusRYj1ZZsrl2301zg9M4bcXf/4HdcylZlAkyjEwl60oP9XYaNL/74i6ydmmHpUjKYOg2Vv/oHuiwdYu8DXMwohQxgzi6ew49nx4owe6gPl0gZFRrSIFJQwy1Zv8t9jMRSdpHhAvn2ybu+ivATtj3fpOyzXJw9x7Jtd8abpvY5DBo3Ftpl3IZiQYlUKlTAaAIurE1PsUBGOrOnlMYBKkXU2FaQVIg9n43LPCT1XhuZZUReTyatJZl7xxhGIrUX2Xk61khorh/jOs3vdLKCo/B8fj0cDhNISDVf1jYq6hauRoklPC8N4CEDkq79Ly1/ixhWInbKewyrEfByQwtNWoQyV7YE/2LHNbwqrFkWFzPfrLY+pxf5HlZkJMEZ2zHENSgbQj2LRemLF/mHX89rSl75VHGaevoxBCd+m8DN81l6sQPd6AHgtAI2PIkpwwYovUnbAcKE8v4uuDuisDGC4b3d0Dpk6edAAEofVlilvtAQjw5LFllN982GynSQqv8fr5hTzY4ihqbXFSzhlK/oLIxWO5O7xaweR9Z9d5YRw4d/lb8UmZGxh4EmRzqk6VM4D+SosN+SdoBSaWOu6zerIlu+XKPffkgJowIsv/7vokyZpOVP/keRqoJ3FYIGcxo8RAsQkLWLbif8mepIqHlOjIai8S2WCmkbtJcsdRlezgWDpZ89cu5iLTxN4ni8ljNjwQLFvCz+7NFzH26rJFLXZC4qDKoBnwPRmXVkixgng0aAGcxpEwhHC6BRoQSyBg2Y5thWu/XN5YVuKW0G+C0RUe3V7DMGFB5qvW9ksa+f4iI+xFeATpQgcP913XVDnDTQi9M+bTA0tik79DiWJnd98UdqvayAa+QBpNARZCUAGGpkaGF9HS+LNQ6mInlFlGm+VcLgeldjTThd/5tbGNv7UbN5dokqRAjV2bv4ufPlJNHabP2QdFs72VEGImcEsvB4UJRUcyQe4HEVWMmOSKSPBaqh99Hb6bohHP7Om6jhltoWUM/9HgGvXng31c6n77nO2/5VEuaAJPH0AvHnSpeF5VaFOB1ADCuU4UZrr1w/nXjbWzGt3FUHf0AyCgVoDJHvfnbUMHX4azbPqNBN1SYZ5Rw+7cNeDYJ7F7SIAT0EroVrdeomgY+/m855Mkk2DGtFASkQLEuQwI+QAxghmWmxzpBao6LoIVFT66L4tL6eKtTnD19lBXmkdEmNgcQzUjZ7fWn5z8Zq5ndULiSB+k25v0VNB766Qe7c09x7149ugyo7YTrw07+wZ6kG58sI9RWHUqi4TEZa7VlwBaWTMhdo7VQB41M4sFRIRERkD2Z6Sc6PtJ0plWg53r2BFFnMahRHYRSRzvaflBYajAHeLath31hZSTDr3iWT0Z0HHXkCgxD1yrri38N16dQoWlAQKVxre0PUR/FSFaoSWzP/fMfE3WlZwIobSfLv5Sgk8y8VtVo/XoidKUOBQtj5Aj0+ph9/763NljY1qtjDwJfuDu+mhNLW0LzG26rc5gLCbmjCeX3yw8dxa08ro3yXP7hfo7ldOSP1xgmwGM46Un+KFvGkodTT+pItDzmepYW+RXzWr1GC7iRTtvouEVkuANoFqfPBPyf6NPyB4iTJXnDOeIdhx6MhmoFLxfSat7UlUEXPNR/f1CiAccGiR5vxAQ22nEG2vXlmnNLXOMjpt05s0qfEzPHNIkGXiQaKEbaZuyWK25q+I65wxG6l/1Xf2SL5BvgotLDmLh+Y6y30O6HK9ErQxH7dzuVhIvKpldxilg6FU8Y6gFblFod1ZjZdcdm7BB94P3EjIQ8OQG4h1SvR/Tk6EbWoG8zrH3b1gpOWXGIChDS+IGe6iQWClDyIbLxu2lxekxiTNbpNx3U+UX1zRwfdmm/j1gylbGUkKebkrGBxfMBduTcg31frPR4miBLfafG+XRuBcWhl4+hXgBAqFqeHs7nbdo66v13K6pFEQxV1k61UVP3z8Ewss8aq7dTfoQjpfNuQ4Y4r16Rw900hxA/g9GtZzX+EFpRoD5SZEBlVcv25dltlvNvUlaU3rLkAH/u3EPF8jp46g4G78TfHVOEXF1jyBrXAK4riVkuUisC4kjHZcw1tbt3GCqgF5/G2TRngwBtCPDGOuzxgPTd1oG0Nxx9FvdKu6S+zRx05YXRPAUHZkB5hbTUK9nb6E4Nxe/Kf5qxSs84/mYK6L57ozekq0QRv09zoRltPu4LF2rpuk9Q2Lh7H2OXOWwrqsoQ7xD0ikVF7FqFn2zfVARYgw8QJmaEP1OFhURY5NkwhibV/e4uXSNMkApH4NgAM0c/XyR4hVgZynOYrG50SDd+gkTGz4srXvxytV8YvK79A2iRJT/R35Lxo/tt5KroH+6iCCGJVUAnUs1CoYLTmFokMjNAb+shEThGXBPPAREtBQ1z0xhhxJQwdfn9uffX/uF6RsQaBpmmUROmA+HqjOFSop2a0m76t8LEZddrWDcaaJTQxJuEF/9+RUdkya2IH5Wc2xSwed4CNOgJtPGTQKHYzK2Ypev3TuUMKjnCZEcWwyIPDqFaGyGOGQKaHg/HuT23Q0s3RCDc6ym9ysHj/pEvl51nnt+P9Mbb2PjZ8MGfPjj0PT0Hq9vMZdMAX/yuBFjqnfQlJxtCm5PhmT2BMmRFlps8NR2509b8xEOFVnl0CPb3PzOgXlvDR/BoOCJK2bQV6hjvzMY4Wx3O6u+2DtZ3lLMsq3OYSuUPcyXiFnyPMNZOw2T+oadrMPLQimovhAbYeWvKXgTDoF23s0cMssFNGt+cu9x6e6Bz1hYbo2vlEDusMsOkE7m3aaMFuPLm76qqafqBa7nHOiYd+uCsMcLASAk2Rj6q5ZRG0XRf+OUj+LThfLepGliCwXJKn/xcE87M1KBJoc66A9Q9RwOllIcOOOGQ+JabXkGlQ19OLawt7kDEhYXvFitAR/e/kR1sSbr7cbd7fF01haETSw+azONrpoubV1xc3COCVjJt7XrFFE6Ybg1dqJr0ouPAnolj2gzMC2UkH6icZjfmd9S0lYJXncHFZ0jlylhLzzmn+4Tsj1F0viEeGqoOJSDYfV5D21n4Vn8C3Q7VAipceVB/LowQh2vRtjCiaBjvrsnB6/nfF4AR4UMUb6X3NfSnnq/ba1nZxNONyClHYk1fherMX/mcm9w78AVqF2pGqbpsyvOz7DLAL8xDm2ToUAXdN2zLiz87dFfA3aACkJybjyJh9S9hDiZ3QaJ7sk97u43MqDtEwB7Qv6Tbb89+kY16ZpaLhHffNJOkJ90jqx+t3E7Gkt5ArUUBgClorQcJkr/2Eu0clczDPEP6kbfquTkhcCbf+JLzOn3Y8HgnvtimsvTpREzMpP4UsXjS0S/W+J7+7pJFb7S2I9nzGLO0OhafqFC7WN2FVOh+z8rtuAXDJ8FgGvCDZJFyBaX6xhk0npqo92yA4n69hXXQFOC6WagAaOHW3CbYvmr9ZUgIQUje8wvzNmu4UhbBwOrHeNQ1j+EvkKjexXx4ngNVV6xtLpIYA5GMy5sY7/i5gr6VlvQ+nYzvpHQIK66mAXzVEmq1KY8D9OkTH6RECJdoVqKTc5NSCcd5Nc883xCXDV2TE/JgW5JcWjJpitlcVGhzRb7SiWUMFKoNi/DlSIhX+4Xwtf60BcSEWkSmTfVUaf25nDSJjutZ1HUWYfKKOvvCI5hCtzKscixoa3leQJt43mOA9H+fnPz66kxpEaJ1VeSiHzcXkqzq2m3csmSimYlmOaTIle+QCeczlhEz3kx3mvsR8hM5e+w+mnI7D7ZrQxHB8Ftrtd9jiXLPrNzaUNpi1IpR0yNe+3vU29eMC/2mCJ2uCIrGuPnCWUs6xal+mKmAOiU1gnN2c88Yp1++oijbdCubB6IMcHUPByo2RGR2Gqg8hQ3PrPJiLlGu/Z0fpcwG0D5+Bgv0emwS9pMlggcVMFeUqIis+37oZ5Ofhgox5czQdoxFhm696cQF3FEsUiRUU97sxXHUUOrgACmUHjssCnlc+N6j0Av80fT5s7GimvjTbEJd45x/t23CcRAQP1rsMb0vSZMPjW1eNSx+c7waKvquOfbmdFDJO6+0Px3v5RW3mAFB7p4bbyYtU/QvYL3pzxviK0aI7mw5t/F72n0GYxqhl06Sa9Zj/QIQF/xU3vTYbelpbI2kLC1ba9lVcdfy1WKzPWCvT0yr7Xais/aKTWodig6sv+XSvBJTQfei38uGJ2HeFsCJ9IRvupQbdoJVnJGXc9uemVnJgSBp3FDeMVGxiZ1gSHrniy4UdA2jgomp4Ecr4BdzBbaTDJ4SVNP0PemjFsM5GWIhqwnIWAPpgE7llErNNypF9VeufPEqdl/bnGnKF5wsoqTZD8qlBoa+WMD5TF6ueyzyfVsgIleAaUMPJHicO9g2MvbTFnY2zv2RR8A2C8WRBv+Ji+IvTWRYw3XK2xe2bYQTpumMbIz3tC4yevz0zOPN29YAAqzQJRVMGuwZp/pb10hYO9377nvFIkfcS/ZzeekO2sy9Uzh83HJFcyGHUqlTrtsMFa02hb8JgFYYF1nKBuWmff8k8IMNNjk5fbQ7Y/+n9OgQl9wXOyV+MkAvYZ1Co/OMUv99Oygk+pe9Ji5+zS5iNMFYTAShSEZQraM7UBpGOmuQ31h8qlWGU5Kx0XzkIWFLpNK0Xmwjve2xJnf4BJul8UY53guA95hkfgbwiSb/zbP5YJdoR/YzXiVNlZ22DEE2yCreQ3w33AsfIXx4V/n5q/vqnSMsYhl7nRdtxCIBiKAmitD1mcKKPfD4X5K7yd/vRoIJTcbanHmQzLc2jsa90oxV9m1wWu36Bq4Umr8uuCDYqR95opjvDzUGmJEuoltPWbwwjAoTgywpYW9ofH3WyBRnaQAnm5GrSPOCIZ+0GxRM32xUif0obxsNJ5lTZrYVvDKiiSZCt4gBJDeA654o4a/1fd9IWZcTLXLR9TSzmmVX2OBFFgKrQo8ZBuBH9DSYUjgSlVWfY44e4EwclWlzySSQQjUy6a66Boq5zklyEpC6gagOud64W0DXaoLnGfigNrYoZO37eF0gOghMESkubCbkIKIjbGLwyRA697gFLDcFDXCjKeCu2gRzMyJGlkAQdcGpnx2ADT1N/9Yp/2cANfufOBrP6ut7/4zuAzEyXONz8qQlqCJvzXuh0UY3x+lIRWAAAHZKITl6T5cAAAAP2qHImDMAAAA)

    **Overview of the storage during OTA update**

다음은 OTA의 일부로 업데이트된 Linux OS 및 펌웨어 이미지 목록입니다.

> 
> 
> - **Linux OS 이미지**
> 
> 
> 
> > 
> > 
> > - `efi.bin` 파일에는 UKI, initrd 및 부트 로더 구성 파일이 포함됩니다. OSTree는 배포 중에 새 구성 파일을 생성합니다. 이 파일은 새로운 커널의 경로와 EFI 파티션에 복사되는 initramfs 이미지를 나열합니다.
> >     - `system.img` 파일에는 `/ostree`, `/ostree/repo`, `/ostree/deploy` 등의 주요 구성 요소를 포함한 rootfs가 포함됩니다. 새로운 배포가 생성되면 OSTree는 새로운 버전의 운영 체제가 반영되도록 파일 시스템 트리를 업데이트합니다.
> - **펌웨어 이미지**
> 
> 
> 
> > 
> > 
> > 펌웨어 이미지 목록 관련 정보는 [GitHub](https://github.com/quic/cbsp-boot-utilities/blob/main/uefi_capsule_generation/FirmwarePartitions.md) 를 참조하세요.

- **캡슐 업데이트 흐름**

    다음 표는 캡슐 및 HLOS 업데이트 흐름을 설명과 함께 보여줍니다.

    | 워크플로우 단계 | 설명 |
    | --- | --- |
    | ![../../_images/OTA_flow.png](data:image/png;base64,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) | <ol class="arabic simple"><br><li><p>부팅된 기기의 <code class="docutils literal notranslate"><span class="pre">/boot/EFI/UpdateCapsule</span></code> 에 마운트되는 EFI 파티션에 <code class="docutils literal notranslate"><span class="pre">&lt;capsule&gt;.cap</span></code> 캡슐 파일을 복사합니다.</p></li><br><li><p>EFI 변수(efivar) OsIndications 플래그를 <code class="docutils literal notranslate"><span class="pre">EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED</span></code> 로 설정하고 기기를 재부팅합니다. UEFI는 OsIndications 플래그에서 업데이트할 수 있는 캡슐이 있는지 식별합니다. UEFI는 캡슐을 인증하고 캡슐에서 펌웨어 이미지를 업데이트합니다. 캡슐 업데이트의 상태는 ESRT 표에 업데이트됩니다. 캡슐 업데이트 중 오류가 발생하면 UEFI는 펌웨어를 이전 버전으로 롤백합니다.</p></li><br><li><p>UEFI가 캡슐에서 펌웨어를 성공적으로 업데이트하면 기기가 새 펌웨어로 부팅됩니다.</p></li><br><li><p>OSTree 저장소를 기기에 복사합니다. OSTree 명령어를 사용하여 HLOS 업데이트를 위한 새로운 배포를 생성하면 카운트 태그가 있는 새 구성 파일이 생성되고 기기가 재부팅됩니다.</p></li><br><li><p>Systemd-boot는 새로운 구성 파일을 선택하고 이 파일에서 커널과 사용자 공간을 부팅합니다. 기기가 업데이트된 펌웨어 및 HLOS 소프트웨어로 부팅됩니다. <code class="docutils literal notranslate"><span class="pre">systemd-bless-boot.service</span></code> 는 새로운 구성을 정상으로 표시합니다.</p></li><br><li><p>OtaStatus efivar에서 TrialBootEnabled 플래그를 재설정하여 펌웨어가 정상임을 나타냅니다. UEFI는 이 efivar를 확인하여 새로운 펌웨어를 커밋합니다.</p></li><br></ol> |

    다음 그림은 펌웨어 업데이트 흐름을 보여줍니다.

![../../_images/OTA_firmware.png](data:image/png;base64,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)

    **Firmware update using capsule**

    캡슐을 사용하여 펌웨어를 업데이트하려면 다음을 수행하세요.

    1. 다음 명령어를 실행하여 기기에 UpdateCapsule 폴더를 생성합니다.

adb shell mkdir /boot/EFI/UpdateCapsule
            Copy to clipboard
    2. 캡슐을 기기에 복사합니다.

scp -r <firmware_capsule.cap> <user>@<IP_address>:/boot/EFI/UpdateCapsule/<firmware_capsule.cap>
            Copy to clipboard

        `firmware_capsule.cap` 캡슐 생성에 대한 자세한 내용은 [UEFI에서 캡슐 생성](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-4/tools.html#capsule-generation-in-uefi) 을 참조하세요.
    3. 기기에서 지정된 16진수 데이터를 포함하는 `data.hex` 파일을 생성합니다.

echo -e -n "\x4\x0\x0\x0\x0\x0\x0\x0" > data.hex
            Copy to clipboard
    4. 기기에 있는 `data.hex` 의 내용을 efivar 도구를 사용하여 UEFI 변수 OsIndications에 작성합니다.

efivar -n 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndications -f data.hex -w
            Copy to clipboard

        UEFI 변수에 대한 자세한 내용은 [업데이트 및 복구](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-4/capsule-update-and-recovery.html) 를 참조하세요.
    5. efivar 도구를 사용하여 OsIndications UEFI 변수의 값을 출력합니다.

efivar -n 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndications -p
            Copy to clipboard
    6. efivars를 RPMB에 저장하려면 기기에서 `uefi_sec` 앱을 실행합니다.

/usr/bin/uefi_sec 1
            Copy to clipboard
    7. 기기를 재부팅합니다.

reboot
            Copy to clipboard
    8. ESRT 표 항목을 확인합니다.

cd /sys/firmware/efi/esrt/entries/entry0
            Copy to clipboard

        `last_attempt_status` 명령어의 출력을 확인합니다. 0이면 업데이트가 성공한 것입니다.

cat last_attempt_status
            Copy to clipboard

        `last_attempt_version` 명령어의 출력을 확인합니다.

cat last_attempt_version
            Copy to clipboard

        `fw_version` 명령어의 출력을 확인합니다. `last_attempt_version` 과 `fw_version` 이 동일하면 업데이트가 성공한 것입니다.

cat fw_version
            Copy to clipboard

- **OSTree를 사용한 Linux OS 업데이트 흐름**

    다음 그림은 Linux OS 업데이트 흐름을 보여줍니다.

![../../_images/OTA_hlos.png](data:image/png;base64,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)

    **Linux OS update using OSTree**

    OSTree를 사용하여 Linux OS를 업데이트하려면 다음을 수행하세요.

    1. Qualcomm 기기에서 현재 배포를 확인하려면 다음 명령어를 실행합니다.

ostree admin status
            Copy to clipboard

        출력:

* poky 643b332dd72b345b5040a1decbe7e04bd2d208a04ba59417aa667c901c485504.0
               Version: 1.0
               origin refspec: poky:qcs6490-rb3gen2-vision-kit
            Copy to clipboard

        The \* shows the current deployment that the device has booted with.
    2. `ostree_repo` 패키지는 호스트 개발 컴퓨터의 `<workspace>/build-<DISTRO>/tmp-glibc/deploy/images/<MACHINE>/` 경로에 있습니다. 예시: `<workspace>/build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-rb3gen2-vision-kit/`. 다음 scp 명령어를 사용하여 호스트 컴퓨터에서 Qualcomm 기기로 `ostree_repo` 패키지를 복사합니다.

scp -r <ostree_repo> <user>@<IP_address>:/tmp
            Copy to clipboard
    3. Qualcomm 기기에서 로컬 OSTree 저장소를 가져옵니다.

        다음은 명령어의 일반 구문입니다.

ostree pull-local /tmp/<ostree_repo> <branch_name>
            Copy to clipboard

        명령어의 `branch_name` 을 찾으려면 다음 명령어를 실행합니다.

ostree refs
            Copy to clipboard

        출력:

poky:qcs6490-rb3gen2-vision-kit
            Copy to clipboard

        여기서 `qcs6490-rb3gen2-vision-kit` 는 예시 브랜치 이름입니다.
    4. Qualcomm 기기에 배포를 생성합니다.

ostree admin deploy <branch_name>
            Copy to clipboard

        이렇게 하면 `/boot/loader/entries/` 디렉토리에 `ostree-2-poky.conf` 구성 파일이 생성됩니다. 자세한 내용은 [Systemd boot 카운팅 - 성공한 부팅](https://docs.qualcomm.com/doc/80-70018-27KO/topic/qualcomm_linux_software_components.html#systemd-boot-successful-boot) 을 참조하세요.
    5. 기기를 재부팅합니다.

reboot
            Copy to clipboard
    6. 기기가 새로 생성된 배포로 부팅되는지 확인합니다.

ostree admin status
            Copy to clipboard

        출력:

* poky 1e8a01bcc5cd9b3b34043db494ddcd01ec5c1c84312479a55253358a92250fa3.0
               Version: 1.0
               origin refspec: qcs6490-rb3gen2-vision-kit
               poky 643b332dd72b345b5040a1decbe7e04bd2d208a04ba59417aa667c901c485504.0 (rollback)
               Version: 1.0
               origin refspec: poky:qcs6490-rb3gen2-vision-kit
            Copy to clipboard

        빌드 호스트 컴퓨터에서 새로 생성된 배포를 확인하려면 `<workspace>/build-<DISTRO>/tmp-glibc/work/<MACHINE>/<IMAGE>/ota-sysroot/ostree/deploy/poky/deploy` 경로에서 배포를 확인하세요. 예시: `<workspace>/build-qcom-wayland/tmp-glibc/work/qcs6490-rb3gen2-vision-kit/qcom-multimedia-image/ota-sysroot/ostree/deploy/poky/deploy`.

- **Systemd-boot 카운팅 - 성공한 부팅**

    다음 표는 성공한 부팅의 systemd-boot 카운팅을 설명과 함께 보여줍니다.

    | 워크플로우 단계 | 설명 |
    | --- | --- |
    | ![../../_images/OTA_systemd_boot.png](data:image/png;base64,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) | <ol class="arabic simple"><br><li><p>OSTree는 새로운 구성을 배포하면 이름에 <code class="docutils literal notranslate"><span class="pre">+3</span></code> 태그가 있는 구성 파일을 생성하여 최대 재시도 횟수를 명시합니다. 이렇게 하면 부팅 카운팅이 허용됩니다.</p></li><br><li><p>systemd-boot는 항목 파일 이름에서 <code class="docutils literal notranslate"><span class="pre">+3</span></code> 태그를 감지하고 이름을 <code class="docutils literal notranslate"><span class="pre">ostree-conf+2-1.conf</span></code> 로 변경하여 한 번의 부팅 시도가 시작되었음을 명시합니다. 해당 파일의 이름을 변경한 다음 부팅 프로세스가 계속 진행됩니다.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">systemd-bless-boot-generator</span></code> 는 <code class="docutils literal notranslate"><span class="pre">systemd-bless-boot.service</span></code> 를 생성하며 <code class="docutils literal notranslate"><span class="pre">boot-complete.target</span></code> 에 도달하면 시작되도록 설정됩니다.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">systemd-bless-boot.service</span></code> 는 카운터 태그 <code class="docutils literal notranslate"><span class="pre">+2-1</span></code> 을 제거하고 파일 이름을 <code class="docutils literal notranslate"><span class="pre">ostree-conf.conf</span></code> 로 변경하여 새로운 구성으로 성공했음을 표시합니다.</p></li><br></ol> |
- **Systemd boot 카운팅 - 실패한 부팅 및 롤백**

    다음 표에서는 실패한 부팅 및 롤백의 systemd-boot 카운팅을 설명과 함께 보여줍니다.

    | 워크플로우 단계 | 설명 |
    | --- | --- |
    | ![../../_images/OTA_boot_counting.png](data:image/png;base64,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) | <ol class="arabic simple"><br><li><p>OSTree는 새로운 구성을 배포하면 <code class="docutils literal notranslate"><span class="pre">ostree-boot+3.conf</span></code> 와 같이 이름에 <code class="docutils literal notranslate"><span class="pre">+3</span></code> 태그가 있는 systemd 구성 파일을 생성하여 최대 재시도 횟수를 명시합니다. 이렇게 하면 부팅 카운팅이 활성화됩니다.</p></li><br><li><p>systemd-boot는 구성 파일 이름에서 <code class="docutils literal notranslate"><span class="pre">+3</span></code> 태그를 감지하고 이름을 <code class="docutils literal notranslate"><span class="pre">ostree-boot+2-1.conf</span></code> 로 변경하여 한 번의 부팅 시도가 시작되었음을 명시합니다. 해당 파일의 이름이 변경한 후 부팅 프로세스가 계속 진행됩니다.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">systemd-bless-boot-generator</span></code> 는 <code class="docutils literal notranslate"><span class="pre">systemd-bless-boot.service</span></code> 를 생성하며 이 작업은 <code class="docutils literal notranslate"><span class="pre">boot-complete.target</span></code> 에 도달하면 시작됩니다. Linux 부팅 중에 오류가 발생하면 <code class="docutils literal notranslate"><span class="pre">systemd-bless-boot.service</span></code> 는 구성 파일에서 <code class="docutils literal notranslate"><span class="pre">+2-1</span></code> 카운터 태그를 제거하지 않습니다.</p></li><br><li><p>이후 부팅 시 systemd-boot는 구성 파일 이름에서 <code class="docutils literal notranslate"><span class="pre">+2-1</span></code> 태그를 감지하고 파일의 이름을 <code class="docutils literal notranslate"><span class="pre">ostree-boot+1-2.conf</span></code> 로 변경한 후 이 파일로 부팅을 시도합니다.</p></li><br><li><p>두 번째 시도에서 Linux 부팅이 실패하면 <code class="docutils literal notranslate"><span class="pre">systemd-bless-boot.service</span></code> 는 구성 파일에서 <code class="docutils literal notranslate"><span class="pre">+1-2</span></code> 카운터 태그를 제거하지 않습니다.</p></li><br><li><p>다음 부팅 시 systemd-boot는 구성 파일 이름에서 <code class="docutils literal notranslate"><span class="pre">+1-2</span></code> 태그를 감지하고 파일의 이름을 <code class="docutils literal notranslate"><span class="pre">ostree-boot+0-3.conf</span></code> 로 변경한 후 이 파일로 부팅을 시도합니다. 마지막 Linux 배포 부팅 시도입니다.</p></li><br><li><p>기기가 세 번째 시도 중 Linux 부팅에 실패하면 <code class="docutils literal notranslate"><span class="pre">systemd-bless-boot.service</span></code> 는 구성 파일에서 <code class="docutils literal notranslate"><span class="pre">+0-3</span></code> 카운터 태그를 제거하지 않습니다.</p></li><br><li><p>이후 부팅 시 systemd-boot는 구성 파일 이름에서 <code class="docutils literal notranslate"><span class="pre">+0-3</span></code> 태그를 찾습니다. 카운터가 0이 되면 해당 항목(구성 파일)은 불량으로 간주됩니다. systemd-boot는 유효한 구성 파일 항목으로 부팅을 시도하여 이전 버전으로 되돌립니다.</p></li><br></ol> |
- **Usrmerge**

    Linux의 usrmerge 기능은 `/usr` 경로 아래의 특정 디렉토리를 병합하여 파일 시스템 레이아웃을 간소화합니다. 이 기능은 `/bin`, `/sbin` 및 `/lib` 를 각각 `/usr/bin`, `/usr/sbin` 및 `/usr/lib` 와 결합합니다.

    usrmerge를 사용하면 `/bin`, `/sbin` 및 `/lib` 에 있는 실행 파일과 라이브러리가 `/usr/bin`, `/usr/sbin` 및 `/usr/lib` 에 배치됩니다. 원본 디렉토리는 해당 `/usr` 디렉토리에 대한 기호 링크가 됩니다. 이 통합 구조에서는 루트 레벨 및 `/usr` 디렉토리에 별도의 위치를 사용하는 대신 바이너리 및 라이브러리에 하나의 위치만 사용하므로 유지 관리가 더 쉽고 중복성이 줄어듭니다. 기호 링크로 호환성을 보장하므로 `/bin` 과 같은 경로를 참조하는 스크립트 및 소프트웨어가 계속 작동합니다.

    Linux 배포판은 특히 컨테이너화된 시스템과 임베디드 시스템에서 파일 시스템 계층 구조 표준(FHS) 권장 사항을 준수하고 루트 파일 시스템을 간소화하기 위해 usrmerge를 채택하고 있습니다.

    Debian, Ubuntu, Fedora 등의 배포판은 usrmerge를 해당 시스템 레이아웃의 일부로 채택하여 최신 버전에서 표준으로 설정하고 있습니다. 전환에는 기호 링크를 생성하고 나머지 파일을 원본 디렉토리에서 `/usr` 디렉토리로 이동하는 작업이 포함됩니다.

    요약하면, usrmerge 기능은 Linux 파일 시스템을 통합하여 시스템의 관리 효율성을 높이고, 시스템을 현대화하며, 변화하는 시스템 관리 및 컨테이너화의 요구에 부응하게 합니다.
- **Qualcomm Linux에서** `/var`, `/home`, `/media`, `/mnt`, `/opt`, `/srv` **및** `/usr` **의 관리**

> 
> 
> OSTree는 `/var` 를 영구 디렉토리로 간주합니다. 따라서 `/var` 아래의 사용자/런타임 생성 콘텐츠는 OSTree의 영향을 받지 않고 그대로 유지되며 OTA 업데이트 시에도 유지됩니다. 자세한 내용은 [OSTree 개요](https://ostreedev.github.io/ostree/introduction/) 를 참조하세요.
> 
> 
> OTA 업데이트 중에 OSTree의 영향을 받지 않고 유지되는 다른 디렉토리는 `/home`, `/media`, `/mnt`, `/opt` 및 `/srv` 입니다. OSTree는 이러한 디렉토리를 다음과 같이 기호 링크로 매핑합니다.
> 
>     - `/home` 은 `/var/rootdirs/home` 의 기호 링크입니다
>     - `/media` 는 `/var/rootdirs/media` 의 기호 링크입니다
>     - `/mnt` 는 `/var/rootdirs/mnt` 의 기호 링크입니다
>     - `/opt` 는 `/var/rootdirs/opt` 의 기호 링크입니다
>     - `/srv` 는 `/var/rootdirs/srv` 의 기호 링크입니다
> 
> 
> 
> `/home`, `/media`, `/mnt`, `/opt`, `/srv` 및 `/var` 에 저장된 모든 런타임 데이터는 OTA 업데이트 시에도 영구적으로 유지됩니다.
> 
> 
> 파일 시스템을 정리되고 일관된 상태로 유지할 수 있도록, OSTree는 빌드 시 위 디렉토리 아래에는 아티팩트를 설치하지 않을 것을 권장합니다. 빌드 시 이러한 디렉토리에 설치된 아티팩트는 Qualcomm Linux 빌드 명령어인 `bitbake <image recipe>` 로 생성된 rootfs 이미지로 패키지되지 않습니다.
> 
> 
> 영구 경로 아래에 파일 및 디렉토리를 런타임에 생성하려면 다음 작업을 수행하세요.
> 
> 
> 
> > 
> > 
> > 1. 필요한 경우 프로세스에서 런타임에 파일 또는 디렉토리를 생성합니다.
> >     2. `/run/`, `/var/lib/`, `/var/cache/` 및 `/var/log/` 아래의 경로는 해당 systemd 단위 파일에서 생성할 수 있습니다. [참고자료](https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#RuntimeDirectory=) 를 확인해 보세요.
> >     3. [systemd-tmpfiles](https://www.freedesktop.org/software/systemd/man/latest/systemd-tmpfiles-setup.service.html) 를 사용하여 부팅 시 파일, 기호 링크 및 디렉토리를 생성합니다.
> 
> 
> 
> OSTree는 `/usr` 에 읽기 전용 바인드 마운트를 생성하여 사용자가 코어 운영 체제 파일을 변경하지 않도록 보장합니다. 이 접근 방식은 시스템 무결성 및 보안을 유지하는 데 도움이 됩니다. OSTree는 `/usr` 마운트 위치를 사용하여 다음 업데이트를 배포합니다.
> 
> 
> 
> > 
> > 
> > 참고
> > 
> >     - OSTree를 사용하면 빌드 시 `/var/local` 경로에 파일 및 디렉토리를 설치할 수 있습니다.
> >     - OSTree는 빌드 중 `/usr` 에 설치된 내용을 유지하지만, `/usr/local` 하위 디렉토리에 설치된 내용을 rootfs 이미지로 패키지하지는 않습니다.
> 
> 
> 
> OSTree가 활성화된 Qualcomm Linux에서 `/etc` 디렉토리는 시스템 업데이트와 로컬 사용자 지정을 모두 허용하는 방식으로 관리됩니다.
> 
> 
> 
> > 
> > 
> > - `/etc` 디렉토리는 변경 가능하며, 여러 업데이트에 걸쳐 이어져야 하는 시스템 구성을 유지 관리하기 위해 런타임에 수정할 수 있습니다.
> >     - OSTree는 `/usr/etc` 디렉토리에서 구성 파일을 `/etc` 로 병합하도록 지원합니다. 따라서 OSTree는 로컬 변경 사항을 유지하면서 기본 구성을 업데이트할 수 있습니다.
> >     - 업데이트가 적용되면 OSTree는 파일의 원본 버전, 새 업데이트의 파일 버전, 로컬에서 수정된 파일 버전을 사용하여 `/etc` 의 구성 파일에 대해 3방향 병합을 수행합니다.
> >     - 병합 프로세스 중에 충돌이 발생하면 OSTree는 런타임 수정 사항을 유지합니다. 이렇게 하면 시스템 안정성을 유지하고 필수 구성을 덮어쓰는 사고를 방지할 수 있습니다.
- **SOTA 배포판 기능**

    소프트웨어 무선(SOTA) 배포 기능은 임베디드 시스템 및 IoT 기기의 원격 업데이트를 허용합니다. 시스템 업데이트를 위해 OSTree와 같은 도구를 통합하여 물리적으로 접근하지 않고도 기기가 업데이트를 수신하고 설치할 수 있습니다. 이 기능은 다음과 같이 Qualcomm Linux 참조 배포판 구성에 포함됩니다.

> 
> 
> DISTRO_FEATURES:append = " pam overlayfs acl xattr selinux ptest security virtualization tpm usrmerge sota"
>         Copy to clipboard

    SOTA 배포판 기능은 `meta-qcom-distro/conf/distro/include/qcom-base.inc` 파일에서 찾을 수 있습니다.

## 레시피를 사용하여 트리 외부 커널 모듈 및 기기 트리 처리

트리 외부 커널 모듈을 빌드하려면 [커널 모듈 추가](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-3/customize.html#add-kernel-module) 를 참조하세요.

참고

Qualcomm Linux는 `custom` 변형에 대해서만 커널 외부 기기 트리 오버레이를 지원합니다.

기기 트리/기기 트리 blob 관리에 대해서는 [플랫폼 지원](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-3/customize.html#platform-support_0) 을 참조하세요.

## SD 카드에서 Linux 운영 체제 부팅

SD 카드에서 Qualcomm 개발 키트를 부팅할 수 있습니다.

`EFI.bin` 및 `system.img` 로 플래시한 SD 카드를 준비하여 개발 키트의 SD 카드 슬롯에 삽입하세요. 개발 키트가 SD 카드에서 부팅되며 이 키트에는 지속적인 작업을 보장하기 위한 백업 또는 중복 운영 체제가 담겨 있습니다.

SD 카드에서 Qualcomm 개발 키트를 부팅하려면 다음 단계를 수행하세요.

1. SD 카드를 Qualcomm 개발 키트에 삽입합니다. 삽입한 SD 카드의 기기 노드(예: `/dev/mmcblk1` 또는 `/dev/mmcblk2`)를 확인합니다.
2. SD 카드를 포맷하려면 UART 셸에서 `mkfs.ext4 <sdcard slot>` 명령어를 실행합니다.

    다음 예시에서 SD 카드의 dev 노드는 `/dev/mmcblk1` 입니다.

mkfs.ext4 /dev/mmcblk1
        Copy to clipboard

    출력:

mke2fs 1.46.5 (30-Dec-2021)
        Found a dos partition table in /dev/mmcblk1
        Proceed anyway? (y,N) y
        Discarding device blocks: done
        Creating filesystem with 3889536 4k blocks and 972944 inodes
        Filesystem UUID: 069e04f8-0b72-4a94-aa93-f5ec03bea38d
        Superblock backups stored on blocks:
           32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
        
        Allocating group tables: done
        Writing inode tables: done
        Creating journal (16384 blocks): done
        Writing superblocks and filesystem accounting information: done
        Copy to clipboard
3. `fdisk` 명령어를 사용하여 SD 카드에 파티션을 두 개 만들고 `efi.bin` 및 `system.img` 를 복사합니다.

    1. 첫 번째 파티션을 `vfat` 형식으로 만들어 `efi.bin` 을 복사합니다.

        파티션을 만들려면 다음 명령어를 실행하세요(예를 들어 dev 노드는 `/dev/mmcblk1` 입니다).

fdisk /dev/mmcblk1
            Copy to clipboard

        출력:

Welcome to fdisk (util-linux 2.37.4).
            Changes will remain in memory only, until you decide to write them.
            Be careful before using the write command.
            
            The device contains 'ext4' signature and it will be removed by a write command.
            See fdisk(8) man page and --wipe option for more details.
            
            Device doesn't contain a recognized partition table.
            Created a new DOS disklabel with disk identifier 0xa5fa6b03.
            
            Command (m for help): n
            Partition type
               p   primary (0 primary, 0 extended, 4 free)
               e   extended (container for logical partitions)
            Select (default p): p
            Partition number (1-4, default 1): 1
            First sector (2048-31116287, default 2048):
            Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-31116287, default 31116287): +512M
            
            Created a new partition 1 of type 'Linux' and of size 512 MiB.
            
            Command (m for help): w
            The partition table has been altered.
            Calling ioctl() to re-read partition table.
            Syncing disks.
            Copy to clipboard

        파티션을 `vfat` 형식으로 변환하려면 다음 명령어를 실행하세요.

mkfs.vfat /dev/mmcblk1p1
            Copy to clipboard

        출력:

mkfs.fat 4.2 (2021-01-31)
            Copy to clipboard

참고

이 예시에서 `First sector` 필드를 비워 두고 `Last sector` 가 `efi.bin` 을 복사할 만큼 큰지 확인하세요.
    2. 두 번째 파티션을 `ext4` 형식으로 만들어 다음과 같이 `system.img` 를 복사합니다.

        파티션을 만들려면 다음 명령어를 실행하세요(예를 들어 dev 노드는 `/dev/mmcblk1` 입니다).

fdisk /dev/mmcblk1
            Copy to clipboard

        출력:

Welcome to fdisk (util-linux 2.37.4).
            Changes will remain in memory only, until you decide to write them.
            Be careful before using the write command.
            
            Command (m for help): n
            Partition type
               p   primary (1 primary, 0 extended, 3 free)
               e   extended (container for logical partitions)
            Select (default p): p
            Partition number (2-4, default 2): 2
            First sector (1050624-31116287, default 1050624):
            Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-31116287, default 31116287): +10G
            
            Created a new partition 2 of type 'Linux' and of size 10 GiB.
            
            Command (m for help): w
            The partition table has been altered.
            Calling ioctl() to re-read partition table.
            Syncing disks.
            Copy to clipboard

        파티션을 `ext4` 형식으로 변환하려면 다음 명령어를 실행하세요.

mkfs.ext4 /dev/mmcblk1p2
            Copy to clipboard

        출력:

mke2fs 1.46.5 (30-Dec-2021)
            Discarding device blocks: done
            Creating filesystem with 2621440 4k blocks and 655360 inodes
            Filesystem UUID: 9e470d01-77fe-4382-a273-ab8b022bdd8b
            Superblock backups stored on blocks:
                     32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
            
            Allocating group tables: done
            Writing inode tables: done
            Creating journal (16384 blocks): done
            Writing superblocks and filesystem accounting information: done
            Copy to clipboard

> 
> 
> 참고
> 
> 
> 이 예시에서 `First sector` 필드를 비워 두고 `Last sector` 가 `system.img` 를 복사할 만큼 큰지 확인하세요.
4. 다음과 같이 파티션이 만들어졌는지 확인합니다.

lsblk -f /dev/mmcblk1
        Copy to clipboard

    출력:

NAME FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
        mmcblk1
        |
        |-mmcblk1p1
        |    vfat               1EAC-8FF8
        `-mmcblk1p2
             ext4               9e470d01-77fe-4382-a273-ab8b022bdd8b
        Copy to clipboard
5. 호스트 컴퓨터의 성공적으로 빌드된 Qualcomm Linux 이미지에서 `efi.bin` 및 `system.img` 를 scp 명령어를 사용하여 기기에 복사합니다.

scp -r <efi.bin> <IP_address>:<path>
        scp -r <system.img> <IP_address>:<path>
        Copy to clipboard
6. 기기에서 `efi.bin` 및 `system.img` 를 SD 카드의 파티션으로 복사하려면 기기에서 다음 명령어를 실행합니다.

    - `dd if=<path>/efi.bin of=<sdcard slot> bs=4M status=progress`
    - `dd if=<path>/system.img of=<sdcard slot> bs=4M status=progress`

    기기의 `/tmp` 경로에서 두 이미지를 모두 복사하려는 경우, SD 카드에 복사하는 방법에 대한 다음 예시를 참조하세요.

dd if=/tmp/efi.bin of=/dev/mmcblk1p1 bs=4M status=progress
        
        dd if=/tmp/system.img of=/dev/mmcblk1p2 bs=4M status=progress
        Copy to clipboard

참고

이 명령어에서 SD 카드의 dev 노드는 `/dev/mmcblk1` 입니다.
7. SD 카드가 이미지를 부팅할 준비가 되었습니다. UFS의 EFI 파티션이 손상되었거나 systemd-boot가 실패하면 기기가 SD 카드에서 부팅되어 지속적인 작업을 보장합니다.

## efivar 도구 사용

efivar 도구는 비휘발성 펌웨어 스토리지에 저장된 UEFI 환경 변수를 관리합니다. 이러한 변수를 사용하여 UEFI 펌웨어 및 해당 환경을 구성합니다.

efivar은 UEFI 펌웨어에 저장된 키-값 쌍입니다. 여기에는 부팅 구성, 시스템 상태 및 기타 필수 매개변수에 대한 설정이 저장됩니다. efivar는 부팅 항목과 펌웨어 설정을 관리하여, 시스템이 올바르게 부팅하고 구성을 유지 관리하도록 보장합니다.

UEFI 환경 변수를 조작하려면 다음 명령어를 사용하세요.

efivar [-n name] [-f file] [-p] [-w]
    Copy to clipboard

명령어 옵션:

-n name: Specify the name of the UEFI variable.
    -f file: Load or save variable contents from a file.
    -p: Print the value of the specified UEFI variable.
    -w: Write to the specified UEFI variable.
    Copy to clipboard

- **OsIndications 변수 업데이트**

    다음은 OsIndications 변수를 업데이트하고 EFI 변수의 값을 확인하는 단계입니다.

    1. 특정 바이트 시퀀스 `04 00 00 00 00 00 00 00` 을 포함하는 `data.hex` 파일을 생성합니다.

echo -e -n "\x4\x0\x0\x0\x0\x0\x0\x0" > data.hex
            Copy to clipboard
    2. `data.hex` 의 내용을 EFI 변수 `8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndications` 에 기록합니다.

efivar -n 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndications -f data.hex -w
            Copy to clipboard
    3. EFI 변수 `8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndications` 의 값을 확인하려면 다음 명령어를 실행합니다.

efivar -n 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndications -p
            Copy to clipboard

        이전 명령어의 출력:

GUID: 8be4df61-93ca-11d2-aa0d-00e098032b8c
            Name: "OsIndications"
            Attributes:
                Non-Volatile
                Boot Service Access
                Runtime Service Access
            Value:
            00000000  04 00 00 00 00 00 00 00
            Copy to clipboard

    자세한 내용은 [efivar 매뉴얼](https://man.freebsd.org/cgi/man.cgi?query=efivar&amp;sektion=8) 을 참조하세요.

Last Published: Jul 30, 2025

[Previous Topic
Qualcomm Linux 메타데이터 계층 개요](https://docs.qualcomm.com/bundle/publicresource/80-70018-27KO/topics/qualcomm_linux_metadata_layers_overview.md) [Next Topic
사용자 지정 항목](https://docs.qualcomm.com/bundle/publicresource/80-70018-27KO/topics/user_customizations.md)

Source: [https://docs.qualcomm.com/doc/80-70018-27KO/topic/qualcomm_linux_software_components.html](https://docs.qualcomm.com/doc/80-70018-27KO/topic/qualcomm_linux_software_components.html)