├── .dockerignore ├── .github └── workflows │ └── repo-sync.yml ├── Dockerfile ├── LICENSE ├── README.md ├── arduino.xml ├── conf ├── bblayers-base.inc ├── bblayers-bsp.inc ├── bblayers-partner.inc ├── bblayers.conf ├── keys │ ├── dev.crt │ ├── dev.key │ ├── opteedev.crt │ ├── opteedev.key │ ├── platform │ │ └── ti │ │ │ ├── custMpk.pem │ │ │ └── ti-degenerate-key.pem │ ├── privkey_modsign.pem │ ├── spldev.crt │ ├── spldev.key │ ├── tf-a │ │ └── privkey_ec_prime256v1.pem │ ├── ubootdev.crt │ ├── ubootdev.key │ ├── uefi │ │ ├── DB.auth │ │ ├── DB.cer │ │ ├── DB.crt │ │ ├── DB.esl │ │ ├── DB.key │ │ ├── DBX.auth │ │ ├── DBX.cer │ │ ├── DBX.crt │ │ ├── DBX.esl │ │ ├── DBX.key │ │ ├── KEK.auth │ │ ├── KEK.cer │ │ ├── KEK.crt │ │ ├── KEK.esl │ │ ├── KEK.key │ │ ├── PK.auth │ │ ├── PK.cer │ │ ├── PK.crt │ │ ├── PK.esl │ │ ├── PK.key │ │ └── PKnoauth.auth │ ├── x509.genkey │ └── x509_modsign.crt ├── local.conf └── update-manifest.conf ├── default.xml ├── entrypoint ├── lmp-base.xml ├── lmp-bsp.xml ├── setup-environment └── setup-environment-internal /.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | -------------------------------------------------------------------------------- /.github/workflows/repo-sync.yml: -------------------------------------------------------------------------------- 1 | name: Sync with foundries repo 2 | on: 3 | push: 4 | branches: 5 | - main 6 | - devel 7 | - next 8 | 9 | jobs: 10 | sync: 11 | if: github.repository == 'arduino/lmp-manifest' 12 | runs-on: ubuntu-latest 13 | steps: 14 | 15 | - name: Checkout source repository 16 | uses: actions/checkout@v4 17 | with: 18 | fetch-depth: 0 19 | 20 | - name: Sync repos 21 | uses: foundriesio/mirror-action@master 22 | with: 23 | REMOTE: "https://source.foundries.io/factories/arduino/lmp-manifest.git" 24 | GIT_ACCESS_TOKEN: ${{ secrets.FOUNDRIES_ACCESS_TOKEN }} 25 | PUSH_ALL_REFS: "false" 26 | 27 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # Build container tools 2 | FROM ubuntu:20.04 AS container-tools 3 | ARG DEBIAN_FRONTEND=noninteractive 4 | 5 | RUN apt-get update && apt-get install -y wget git make \ 6 | libgpgme-dev libassuan-dev libbtrfs-dev libdevmapper-dev pkg-config 7 | 8 | RUN wget -P /tmp https://go.dev/dl/go1.18.linux-amd64.tar.gz && \ 9 | tar -C /usr/local -xzf /tmp/go1.18.linux-amd64.tar.gz 10 | ENV PATH /usr/local/go/bin:$PATH 11 | 12 | # Build skopeo 13 | RUN git clone https://github.com/containers/skopeo.git /skopeo && \ 14 | cd /skopeo && git checkout -q v1.8.0 && \ 15 | GO_DYN_FLAGS= CGO_ENABLED=0 BUILDTAGS=containers_image_openpgp DISABLE_DOCS=1 make 16 | 17 | # Build ostreeuploader, aka fiopush/fiocheck 18 | FROM ubuntu:20.04 AS fiotools 19 | RUN apt-get update 20 | RUN apt-get install -y wget git gcc make -y 21 | RUN wget -P /tmp https://go.dev/dl/go1.19.9.linux-amd64.tar.gz && \ 22 | tar -C /usr/local -xzf /tmp/go1.19.9.linux-amd64.tar.gz 23 | ENV PATH /usr/local/go/bin:$PATH 24 | 25 | RUN git clone https://github.com/foundriesio/ostreeuploader.git /ostreeuploader && \ 26 | cd /ostreeuploader && git checkout -q 2023.6 && \ 27 | cd /ostreeuploader && make 28 | 29 | 30 | FROM ubuntu:20.04 31 | 32 | # bitbake requires a utf8 filesystem encoding 33 | ENV LANG en_US.UTF-8 34 | ENV LANGUAGE en_US:en 35 | ENV LC_ALL en_US.UTF-8 36 | 37 | ARG DEBIAN_FRONTEND=noninteractive 38 | ARG DEV_USER_NAME=Builder 39 | ARG DEV_USER=builder 40 | ARG DEV_USER_PASSWD=builder 41 | 42 | # FIO PPA for additional dependencies and newer packages 43 | RUN apt-get update \ 44 | && apt-get install -y --no-install-recommends \ 45 | software-properties-common \ 46 | && add-apt-repository ppa:fio-maintainers/ppa \ 47 | && apt-get clean \ 48 | && rm -rf /var/lib/apt/lists/* 49 | 50 | RUN apt-get update \ 51 | && apt-get install -y --no-install-recommends \ 52 | android-sdk-libsparse-utils android-sdk-ext4-utils ca-certificates \ 53 | chrpath cpio diffstat file gawk g++ iproute2 iputils-ping less libgcc1 libmagickwand-dev \ 54 | libmath-prime-util-perl libsdl1.2-dev libssl-dev locales \ 55 | openjdk-11-jre openssh-client perl-modules python3 python3-requests \ 56 | make patch repo sudo texinfo vim-tiny wget whiptail libelf-dev git-lfs screen \ 57 | socket corkscrew curl xz-utils tcl libtinfo5 device-tree-compiler python3-pip python3-dev \ 58 | tmux libncurses-dev vim zstd lz4 liblz4-tool libc6-dev-i386 \ 59 | awscli docker-compose gosu xvfb python3-cairo python3-gi-cairo yaru-theme-icon \ 60 | && ln -s /usr/bin/python3 /usr/bin/python \ 61 | && pip3 --no-cache-dir install expandvars jsonFormatter \ 62 | && apt-get autoremove -y \ 63 | && apt-get clean \ 64 | && rm -rf /var/lib/apt/lists/* \ 65 | && locale-gen en_US.UTF-8 66 | 67 | # Create the user which will run the SDK binaries. 68 | RUN useradd -c $DEV_USER_NAME \ 69 | -d /home/$DEV_USER \ 70 | -G sudo,dialout,floppy,plugdev,users \ 71 | -m \ 72 | -s /bin/bash \ 73 | $DEV_USER 74 | 75 | # Add entrypoint to run gosu 76 | COPY entrypoint / 77 | ENTRYPOINT ["/entrypoint"] 78 | 79 | # Add default password for the SDK user (useful with sudo) 80 | # and replace entrypoint with dev user name 81 | RUN echo $DEV_USER:$DEV_USER_PASSWD | chpasswd && \ 82 | sed "s/@@DOCKER_USER@@/$DEV_USER/g" -i /entrypoint 83 | 84 | # Initialize development environment for $DEV_USER. 85 | RUN sudo -u $DEV_USER -H git config --global credential.helper 'cache --timeout=3600' 86 | 87 | # Install ostreeuploader, aka fiopush/fiocheck 88 | COPY --from=fiotools /ostreeuploader/bin/fiopush /usr/bin/ 89 | COPY --from=fiotools /ostreeuploader/bin/fiocheck /usr/bin/ 90 | ENV FIO_PUSH_CMD /usr/bin/fiopush 91 | ENV FIO_CHECK_CMD /usr/bin/fiocheck 92 | 93 | # Install skopeo 94 | COPY --from=container-tools /skopeo/bin/skopeo /usr/bin 95 | 96 | # Install docker CLI, v20.10.14, required by the oe-builtin App preload 97 | RUN mkdir -p /etc/apt/keyrings \ 98 | && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg \ 99 | && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \ 100 | && apt-get update && apt-get install -y docker-ce-cli=5:20.10.14~3-0~ubuntu-focal \ 101 | && apt-get clean && rm -rf /var/lib/apt/lists/* 102 | 103 | # Install docker compose CLI plugin, v2.6.0, required by the oe-builtin App preload, `docker compose config` 104 | RUN mkdir -p /usr/lib/docker/cli-plugins \ 105 | && wget https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-linux-x86_64 -O /usr/lib/docker/cli-plugins/docker-compose \ 106 | && chmod +x /usr/lib/docker/cli-plugins/docker-compose 107 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Portions of this software related to the Linux microPlatform were 2 | originally released under the following license. 3 | 4 | ---------------------------------------------------------------------- 5 | 6 | The MIT License (MIT) 7 | 8 | Copyright (c) 2013 Khem Raj 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy of 11 | this software and associated documentation files (the "Software"), to deal in 12 | the Software without restriction, including without limitation the rights to 13 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 14 | the Software, and to permit persons to whom the Software is furnished to do so, 15 | subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all 18 | copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 22 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 23 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 24 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 25 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Arduino Linux microPlatform Manifest 2 | ============================ 3 | 4 | Instructions for local builds (Arduino) 5 | --------------------------------------- 6 | 7 | Supported **MACHINE** targets (tested by Arduino): 8 | 9 | * portenta-x8 (Standard targets compatible with all carrier boards) 10 | * portenta-x8-ebbr (Arm SystemReady IR targets) 11 | * portenta-x8-preempt-rt (Preempt-rt patch targets) !!_**work in progress**_!! 12 | 13 | ``` 14 | repo init -u https://github.com/arduino/lmp-manifest.git -m arduino.xml -b release 15 | repo sync 16 | 17 | DISTRO=lmp-xwayland MACHINE=portenta-x8 . setup-environment 18 | echo "ACCEPT_FSL_EULA = \"1\"" >> conf/local.conf 19 | bitbake lmp-devel-arduino-image 20 | 21 | DISTRO=lmp-mfgtool MACHINE=portenta-x8 . setup-environment 22 | echo "ACCEPT_FSL_EULA = \"1\"" >> conf/local.conf 23 | echo "MFGTOOL_FLASH_IMAGE = \"lmp-devel-arduino-image\"" >> conf/local.conf 24 | bitbake mfgtool-files 25 | ``` 26 | 27 | alternatively you can build a devel image that for now doesn't have wayland support. 28 | This is currently our way to go for debugging kernel related issues and uses DISTRO lmp-base 29 | which doesn't include all the security features such as ostree, op-tee and sota that aren't 30 | strictly needed in this scenario 31 | 32 | ``` 33 | DISTRO=lmp-base MACHINE=portenta-x8 . setup-environment 34 | echo "ACCEPT_FSL_EULA = \"1\"" >> conf/local.conf 35 | bitbake lmp-devel-arduino-image 36 | ``` 37 | 38 | **Note**: To reduce bitbake parallelism (because you may want to use your computer while performing an image build) edit `conf/local.conf`: 39 | ```diff 40 | +BB_NUMBER_PARSE_THREADS = "4" 41 | +BB_NUMBER_THREADS = "4" 42 | +PARALLEL_MAKE = "-j 4" 43 | ``` 44 | 45 | Instructions for local builds (Foundries.io) 46 | -------------------------------------------- 47 | 48 | Foundries.io Linux microPlatform manifest. 49 | 50 | This directory contains a Repo manifest and setup scripts for the 51 | Linux microPlatform (LmP) build system. If you want to modify, extend or port 52 | the LmP to a new hardware platform, this is the manifest repository to use. 53 | 54 | The build system uses various components from the Yocto Project, most 55 | importantly the OpenEmbedded build system, the bitbake task executor, and 56 | various application and BSP layers. 57 | 58 | To configure the scripts and download the build metadata, do: 59 | 60 | ``` 61 | mkdir ~/bin 62 | PATH=~/bin:$PATH 63 | 64 | curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo 65 | chmod a+x ~/bin/repo 66 | ``` 67 | 68 | Run `repo init` to bring down the latest stable version of Repo. You must 69 | specify a URL for the manifest, which specifies the various repositories that 70 | will be placed within your working directory. 71 | 72 | To check out the latest LmP subscriber continuous release: 73 | 74 | ``` 75 | repo init -u https://github.com/foundriesio/lmp-manifest 76 | ``` 77 | 78 | A successful initialization will end with a message stating that Repo 79 | is initialized in your working directory. Your client directory should 80 | now contain a `.repo/` directory where files such as the manifest will be kept. 81 | 82 | To pull down the metadata sources to your working directory from the 83 | repositories as specified in the LmP manifest, run: 84 | 85 | ``` 86 | repo sync 87 | ``` 88 | 89 | When downloading from behind a proxy (which is common in some 90 | corporate environments), it might be necessary to explicitly specify the proxy 91 | that is then used by repo: 92 | 93 | ``` 94 | export HTTP_PROXY=http://:@: 95 | export HTTPS_PROXY=http://:@: 96 | ``` 97 | 98 | More rarely, Linux clients experience connectivity issues, getting stuck in the 99 | middle of downloads (typically during "Receiving objects"). Tweaking the 100 | settings of the TCP/IP stack and using non-parallel commands can improve the 101 | situation. You need root access to modify the TCP setting: 102 | 103 | ``` 104 | sudo sysctl -w net.ipv4.tcp_window_scaling=0 105 | repo sync -j1 106 | ``` 107 | 108 | Setup Environment 109 | ----------------- 110 | 111 | Supported **MACHINE** targets (officially tested by Foundries): 112 | 113 | * intel-corei7-64 114 | * am62xx-evm 115 | * am64xx-evm 116 | * beaglebone-yocto 117 | * generic-arm64 118 | * imx6ullevk 119 | * imx6ullevk-sec 120 | * imx8mm-lpddr4-evk 121 | * imx8mm-lpddr4-evk-sec 122 | * imx8mp-lpddr4-evk 123 | * imx8mp-lpddr4-evk-sec 124 | * imx8mn-ddr4-evk 125 | * imx8mn-ddr4-evk-sec 126 | * imx8mn-lpddr4-evk 127 | * imx8mn-lpddr4-evk-sec 128 | * imx8mq-evk 129 | * imx8ulp-lpddr4-evk 130 | * imx93-11x11-lpddr4x-evk 131 | * jetson-agx-orin-devkit 132 | * jetson-agx-xavier-devkit 133 | * qemuarm64-secureboot 134 | * raspberrypi4-64 135 | * stm32mp15-disco 136 | * stm32mp15-eval 137 | * stm32mp15-eval-sec 138 | * kv260 139 | * vck190-versal 140 | 141 | Supported image targets: 142 | 143 | * lmp-mini-image - minimal OSTree + OTA capable image 144 | * lmp-base-console-image - mini-image + Docker container runtime 145 | * lmp-gateway-image - base-console-image + edge gateway related utilities 146 | * lmp-factory-image - default (and only available) for a FoundriesFactory 147 | * mfgtool-files - (**only for DISTRO=lmp-mfgtool**) image flasher via 148 | USB SDP/FastBoot for i.MX-based machines 149 | 150 | The default distribution (DISTRO) variable is automatically set to `lmp`, 151 | which is provided by the `meta-lmp` layer. 152 | 153 | Setup the work environment by using the `setup-environment` script: 154 | 155 | ``` 156 | [MACHINE=] source setup-environment [BUILDDIR] 157 | ``` 158 | 159 | If **MACHINE** is not provided, the script will list all possible machines and 160 | force one to be selected. 161 | 162 | To build the LmP base console image: 163 | 164 | ``` 165 | bitbake lmp-base-console-image 166 | ``` 167 | 168 | Issues and Support 169 | ------------------ 170 | 171 | Please report any bugs, issues or suggestions at . 172 | -------------------------------------------------------------------------------- /arduino.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /conf/bblayers-base.inc: -------------------------------------------------------------------------------- 1 | # These layers are the basic and required layers by LMP 2 | # 3 | # Only change if you really know what you are doing. 4 | # 5 | BASELAYERS = " \ 6 | ${OEROOT}/layers/meta-openembedded/meta-oe \ 7 | ${OEROOT}/layers/meta-openembedded/meta-networking \ 8 | ${OEROOT}/layers/meta-openembedded/meta-filesystems \ 9 | ${OEROOT}/layers/meta-openembedded/meta-perl \ 10 | ${OEROOT}/layers/meta-openembedded/meta-python \ 11 | ${OEROOT}/layers/meta-virtualization \ 12 | ${OEROOT}/layers/meta-clang \ 13 | ${OEROOT}/layers/meta-lts-mixins-go \ 14 | ${OEROOT}/layers/meta-lts-mixins-rust \ 15 | ${OEROOT}/layers/meta-updater \ 16 | ${OEROOT}/layers/meta-security \ 17 | ${OEROOT}/layers/meta-security/meta-tpm \ 18 | ${OEROOT}/layers/meta-security/meta-parsec \ 19 | ${OEROOT}/layers/meta-security/meta-integrity \ 20 | " 21 | -------------------------------------------------------------------------------- /conf/bblayers-bsp.inc: -------------------------------------------------------------------------------- 1 | # These layers are all the BSP layers supported by default in LMP 2 | # 3 | # If you want to customize the default BSP layers in a factory, 4 | # change bblayers-factory.inc instead. 5 | # 6 | BSPLAYERS = " \ 7 | ${OEROOT}/layers/meta-arm/meta-arm \ 8 | ${OEROOT}/layers/meta-arm/meta-arm-toolchain \ 9 | ${OEROOT}/layers/meta-arm/meta-arm-bsp \ 10 | ${OEROOT}/layers/meta-freescale \ 11 | ${OEROOT}/layers/meta-freescale-3rdparty \ 12 | ${OEROOT}/layers/meta-raspberrypi \ 13 | ${OEROOT}/layers/meta-intel \ 14 | ${OEROOT}/layers/meta-yocto/meta-yocto-bsp \ 15 | ${OEROOT}/layers/meta-xilinx/meta-xilinx-core \ 16 | ${OEROOT}/layers/meta-xilinx/meta-xilinx-bsp \ 17 | ${OEROOT}/layers/meta-xilinx/meta-xilinx-standalone \ 18 | ${OEROOT}/layers/meta-xilinx-tools \ 19 | ${OEROOT}/layers/meta-tegra \ 20 | ${OEROOT}/layers/meta-ti/meta-ti-bsp \ 21 | ${OEROOT}/layers/meta-st-stm32mp \ 22 | ${OEROOT}/layers/meta-lmp/meta-lmp-bsp \ 23 | " 24 | -------------------------------------------------------------------------------- /conf/bblayers-partner.inc: -------------------------------------------------------------------------------- 1 | # This is a FoundriesFactory Partner bblayers include file 2 | # Meta-partner-arduino is a FoundriesFactory partner layer 3 | # Do not remove unless you really know what you are doing. 4 | BASELAYERS += "${OEROOT}/layers/meta-partner-arduino" 5 | -------------------------------------------------------------------------------- /conf/bblayers.conf: -------------------------------------------------------------------------------- 1 | # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf 2 | # changes incompatibly 3 | LCONF_VERSION = "7" 4 | OEROOT := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)))}/../.." 5 | 6 | BBPATH = "${TOPDIR}" 7 | 8 | BBFILES = "" 9 | 10 | require bblayers-base.inc 11 | require bblayers-bsp.inc 12 | 13 | include bblayers-partner.inc 14 | include bblayers-factory.inc 15 | 16 | BBLAYERS = " \ 17 | ${OEROOT}/layers/meta-lmp/meta-lmp-base \ 18 | ${BASELAYERS} \ 19 | ${BSPLAYERS} \ 20 | ${OEROOT}/layers/openembedded-core/meta \ 21 | ${OEROOT}/layers/meta-openembedded/meta-multimedia \ 22 | " 23 | -------------------------------------------------------------------------------- /conf/keys/dev.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDazCCAlOgAwIBAgIUDPofWWHAQ0P/RzawuKpnqY4S86wwDQYJKoZIhvcNAQEL 3 | BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM 4 | GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0xOTA4MTUyMzEzMjJaFw0xOTA5 5 | MTQyMzEzMjJaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw 6 | HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB 7 | AQUAA4IBDwAwggEKAoIBAQDcuvnwFxUr5DjW83Tl2QmHtFGfWnsLCuJIeJQwzVSs 8 | UD9qDBcf6RBGjavgCahsLkUXbBsjBt1MEbU2uxskY7O9w5a0Wvqi0bwHduYQ7b6s 9 | s5hGa8GZlKFhCZUb8dbU48rRfQaawffK1IhixycYXf04dfvnjY8Wa5z2SMSHI/hZ 10 | rWjGaPq1cFP+XEJN8owvI3aF0ODezXAvG0z5fsggmjuu4O1M1RJV4voszcSGbey1 11 | 2GNvEZhroO9M04HmJkjN5AQzMm+kgltvryXQqCk6QDz8VKfEOXs0BgHOdU97ncX2 12 | EENh8/kS1xoMenwjZ8F64YYhaNdmhVXebdrc5UNNi1R/AgMBAAGjUzBRMB0GA1Ud 13 | DgQWBBShNOok0QTvIulhhzxDIhGgxpPPrDAfBgNVHSMEGDAWgBShNOok0QTvIulh 14 | hzxDIhGgxpPPrDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBL 15 | hUI7euyzlpF2tMLaNYbMb0Zdna3xkUO5kIPKznsJIv8HL6Ho7AMzeAYA9N9BABnC 16 | QC59fBDopIIDjwykqkW1vMEehWCwRlRpvdknnY3hLlNuLruw1eUcA06xswWbAmbs 17 | K4fpEpJJ/1KsF/0M0LfoKxC0yWRNTbnPPFpUrZdX2/9mkDUA30iNvYgmqzVnJmk3 18 | rxKXOxXZed81+dmZcu+3xdnSA9COQbXGtosCvR/mNKki6PB2kyMFO20apAw/T7jc 19 | jtc23nbApH26xEz4FL7bjQx9hhlMzyMCXZvYvWd6SgxO4pkt7NAFxElXRxc/VWtg 20 | 5Ai8yN/RUwsRB5JWWDdz 21 | -----END CERTIFICATE----- 22 | -------------------------------------------------------------------------------- /conf/keys/dev.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcuvnwFxUr5DjW 3 | 83Tl2QmHtFGfWnsLCuJIeJQwzVSsUD9qDBcf6RBGjavgCahsLkUXbBsjBt1MEbU2 4 | uxskY7O9w5a0Wvqi0bwHduYQ7b6ss5hGa8GZlKFhCZUb8dbU48rRfQaawffK1Ihi 5 | xycYXf04dfvnjY8Wa5z2SMSHI/hZrWjGaPq1cFP+XEJN8owvI3aF0ODezXAvG0z5 6 | fsggmjuu4O1M1RJV4voszcSGbey12GNvEZhroO9M04HmJkjN5AQzMm+kgltvryXQ 7 | qCk6QDz8VKfEOXs0BgHOdU97ncX2EENh8/kS1xoMenwjZ8F64YYhaNdmhVXebdrc 8 | 5UNNi1R/AgMBAAECggEBAJASGoDzEAaN9+uVDH/ZobbJo1z3mcgjWn8i9NbFrrap 9 | yjpVmeJiJRVn8v9QTnYN3VrkXPIH0PmNtVH73kNqMC90MjGWEHGlo6zbll8GTqY6 10 | svGD8+FiedL0hjavKyHZbNA/YsgwQqRJBJw0kPf+oQDxQXJpmzNvGgxGgsASYk9l 11 | Adyk9GI4ugS4lSoCJRSJYwgqhzgcoyZq6gNS+8T+wETnzn9tfo2fUuSd7SKNW1sW 12 | gFoMbVpz9tUkNFhmkZDgN33yu1vmQ1oxXneF0kJxHEHDV16tmo9ky6tZouZN3qjW 13 | Poc0yjP0PplloZt3WBaSe7GmUaEe71oamkfbgvT4lIECgYEA8V1bA7azocVjBM9X 14 | QBOk73lDFGb3sTTNAgikeGA4kLiE10psIU17ZFRR4ljYip3DdF6svR2YakT+cFKW 15 | acd56NRdIed6EHRuo9SAAofDSBy5i4AU2C3TydLV2l97kt6iKrstzcXGWDlQ3LUW 16 | rLrA7BgM48VvVDcsC7tKzpDzN0cCgYEA6h1R2USnv5h5KDi1uySNX0DyP72qNLzX 17 | yzb2kIeVfMlnB44Xj+tCkrXEmUIPYxjJ7/htPR/3qL2OcNMgKWHA9EQCNGtkUUxs 18 | dIawKPIlD8Nol9NQfCpxcj+sNAuD+7SIuEoo1fqtikDfQFcK62Wfs9FUp5p5u2k+ 19 | hvcmPazGBQkCgYEAqWmNaJ3kl7ekOMwPwboIGs5Sdw+O66LUAoluZ8+h5HKfSz3B 20 | h96KrXFByE30L9dsSVHqjRMo1+51aQGO8dBBkVr9w75lvwb6YaPV9fC08Pi4g2Hz 21 | P4lrDk4eLJi4c+4whS28iKI5BdO1HjU9JSAwKYb4BSefbM0M7W8YosS68iECgYEA 22 | vIzslJ20tJxqR7iUtKpVqbe24xsv79V/vsz/e5uXC69xaSZJV8HUFjCKrBwGJHuc 23 | d8aOxEHwxlgUVk3Tg0CVlKUJWYp8evWgC6FGU1PiAXYR0OWB1t6gC7G4URpNK/VU 24 | f4hKpzuDdOuWYk04ICnym3ImSe4hyIyUrUJz7AwwV3ECgYBEXrnkgaSW8D/2vuq5 25 | 6p2R0c0Bm08sqWylaFavWbCrFmo58aYsTUaSakEHhV29E4qCqKPLSUQ3ADEcJex+ 26 | 7DmXSzPFnpqxGu2WKg++qhODbdhSdXpDn0+gLgfzf5Ui9TXZnDjd/II6PgfBx6eX 27 | mg7z3IqWvYSJFok7V3UkQMFY3g== 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /conf/keys/opteedev.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDazCCAlOgAwIBAgIUMyJN5xfF8F3+K6DQDSAS320JZEswDQYJKoZIhvcNAQEL 3 | BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM 4 | GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTA2MTcxODM1MzFaFw0yMTA3 5 | MTcxODM1MzFaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw 6 | HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB 7 | AQUAA4IBDwAwggEKAoIBAQDs9PL5l6OU8ldHx4ph/tbqDJLXue5XJd6L5f7sgvz1 8 | w9Q4nV1NdcY0GB/xKRZazby2hhF3SPR/Nyr1iHgX83cn3WPDuoaMt0XZAEst+M+N 9 | RYra+9Qq3/1We0CURlt0ZakvE97u4ci8LR/hVwCnIebHWVrgUXuNG7DgJQRq7rBk 10 | VOyfaCqZWmC0/de11zy+2BTSlqOiC6Ddnfitsl9mJQqO0spLFnWBq9lgvac1PFxy 11 | 1mmMpSmR1XddIteXACeJnBnoEG8ZWP3DPk2HNOJ6IsApawcuKJyIyF/6mX0utHjl 12 | b1n6/Zg5EyxJZ8311cHaGPuAKOJNwDh1tsMpSN9oi1/tAgMBAAGjUzBRMB0GA1Ud 13 | DgQWBBRfgG1HWRSVJ25Mtlbnfqb031hW4TAfBgNVHSMEGDAWgBRfgG1HWRSVJ25M 14 | tlbnfqb031hW4TAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAG 15 | Xbiyfv7BHMngV7frM3vYXLvAA6HTZqm85OnfrAoARy58GdOsLeJdOemzeJ5STDnX 16 | XspeSA/QuH00dO++dueKrbRTjwSKLEi9TU8uZ/Y3+veXjePgWRHyQcSiUwc2xHnP 17 | WX93B/6iR93/rlONTQEt5ZbD6NjeO3m2rBgD3SeInngp8+I1cLvOBmxNjdvyhWZr 18 | 7jjC210VQ41tPIxXntVdwr2gg4FlROK2MAulB1R7KKHi8Ipw0PZd/STA5n2WUn3p 19 | niKEtyN5Y5fAP0QIz+h0f3yBlz7zE93g64Rmwqzx4SBt0GC88KewZvc4M6SMiuSh 20 | +94qxLzADYaCyAcuAdFj 21 | -----END CERTIFICATE----- 22 | -------------------------------------------------------------------------------- /conf/keys/opteedev.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDs9PL5l6OU8ldH 3 | x4ph/tbqDJLXue5XJd6L5f7sgvz1w9Q4nV1NdcY0GB/xKRZazby2hhF3SPR/Nyr1 4 | iHgX83cn3WPDuoaMt0XZAEst+M+NRYra+9Qq3/1We0CURlt0ZakvE97u4ci8LR/h 5 | VwCnIebHWVrgUXuNG7DgJQRq7rBkVOyfaCqZWmC0/de11zy+2BTSlqOiC6Ddnfit 6 | sl9mJQqO0spLFnWBq9lgvac1PFxy1mmMpSmR1XddIteXACeJnBnoEG8ZWP3DPk2H 7 | NOJ6IsApawcuKJyIyF/6mX0utHjlb1n6/Zg5EyxJZ8311cHaGPuAKOJNwDh1tsMp 8 | SN9oi1/tAgMBAAECggEBAMAtaWJEOcdzRJZSn0kbBfKMgAu2IDdN31BXGIl5Mu+g 9 | A15nQmSwQC+/4SgVyquacJMX6NJ1uNX0SEMai0vhiaIrS95SSQ2XFm8IbfC6+pn4 10 | 7MTtuQWM5Epfa+DVrxaX3L7xvry/Ia58an63sS/bru++6JVFgI7RBoLDgvG25Bh5 11 | uG0LQ40QzHOWYZuFn+NU/Gk/WM6CqQP0kPufpBc/MllhhqxgUjZFwrUv1ScQYjur 12 | CbSLIcttkCk2DoTZo0UShcSo26ZmwPLoG5mw9ESAeF+k3fhgwaTpb4pDKh+M+V4x 13 | PUrv0mRvtPoOXQT28eRVA7olUApqHH4Z0cGQZQbt6AECgYEA9tiG6fNVP4xh75dU 14 | 4PwxOL1uJIXwp8AufNIoS/08hLR25fA3YfZNBNRyeGizBkf5hBgVPiTdqpPVSQYx 15 | FL00VyF2dQxzpLimmwfADXeTGwbq70FuLPVetk2CG4s99mWnWHxqHued1xnLKGAh 16 | VFql8mTmQokSpsSlfWkJVRLyqL0CgYEA9b6KF7A/kuGLUDiFdojorAEkerpCKVLt 17 | nEy9jft24yI9OJgGYoBP6f7fZntJVJFyD/7dfZSocoOb5Eh8RQyR8EjrgcKYtniX 18 | 74W3CcVtmURETgkX3SF2M9ScckVWBhE5J5TcYy5O1V7B/OFIlb85M0NxbcGfqihn 19 | 98lUxxnb/vECgYEA1/jCsdaQ87Tjyzjgrqh4eGhlAdeeo2bmRZeqYjICzSkIDk6K 20 | Zk+VO3CVZvxUBl7a1NQtYd3ng+MsbWPZdYfFT6abefWXCLv2KRYy1pWUQ8VdsE/T 21 | EcrtPxu5hlfhsr9mF2ljf/6ufxC2S3EwOBnHr7jQLc64XukW0g8gdyrI3RECgYEA 22 | uc8dOPYRy6xwGvLxrwOr8cpXW9iTiA1lDgZUWROm++x6n90LDtV4FzSYlDNp6eCj 23 | fwa1UGvjxdpPOBe6prbvbeCk+ZM6xtV+BCR1lpTJ3tZoUxy7B39ykZQTyq80cRf6 24 | wDvlO7Ta9KhWQy/QIzHYPTOkg1mgsRcmLYv0ZyrdVfECgYEA5Ywal/3/kIOao51r 25 | QkI7xYKB0KQm23yitfLa4ayeiWbX17GfeW5ZlDtWqFcIwP2FQlq+7YLKPMZSSlU3 26 | YA6CMQ7qx3jrnMm7vuuZlFPAFAEsyuic6Q1DunJH3EZgan2mft9PV9xW2+1b+wMh 27 | bBHuJQiYfDeyhHfGj+HxC+gcECE= 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /conf/keys/platform/ti/custMpk.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | 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 51 | -----END RSA PRIVATE KEY----- 52 | -------------------------------------------------------------------------------- /conf/keys/platform/ti/ti-degenerate-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIBWwIBAAKBgQDRfrnXQaP0k6vRK/gZ+bDflSU6y1JagGeQ/b+QYuiDz14japog 3 | 8fRSu5WBsAxaSaySAUwS3L9Ppw+hGMecmyIJ494aMfZTtk1g49gU58joduiRnu7e 4 | QSZHMnehhuNlfD7A2tAAKnxIYuabs8zHYM/SS9Ne7t3kIQMbKfUSzNy6qQIBAQIB 5 | AQJBAOelUA376o6w3HkShXfN+shaOZYqFuTJ9exLMwsLp7DZKXB5F9I4JJ+Vkvho 6 | k6QWs7vkhleLSYUZknXHYm26ZE0CQQDnhTtd4PTBoZPjPXOeYMJFtEdMNy0XP6ey 7 | bcce389ugoY7BEkvASrd8PHgJQHziepgWOG4DGp33c64Hfq4zI3NAgEBAgEBAkA0 8 | RbK4uqoLciQluesTPU6lBy7Se3Dw0F9xBqlF5SR4KI6q+zQrHpBKyFOofMHZgizR 9 | iCrL55cxEM146zMw3AnF 10 | -----END RSA PRIVATE KEY----- 11 | -------------------------------------------------------------------------------- /conf/keys/privkey_modsign.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | 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 51 | dHpKD0FEQJHwUhgqUN0LKkz5/cXCjsqz 52 | -----END PRIVATE KEY----- 53 | -------------------------------------------------------------------------------- /conf/keys/spldev.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDazCCAlOgAwIBAgIUM9mj6Oaw25geoFYSMa4U0sE8zlIwDQYJKoZIhvcNAQEL 3 | BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM 4 | GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMjAyMTUxNzMzNDRaFw0yMjAz 5 | MTcxNzMzNDRaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw 6 | HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB 7 | AQUAA4IBDwAwggEKAoIBAQCfS8z4NRH577Uhzuc50gn0nL4HmA4oaNqOxw78ptpb 8 | nQkarHXnhDrueMqL7ukbYHq9ZuoDQ5fnLujKFyS1Ko/aDfwC3mft2Wyg3uHw5nDT 9 | zXyStcGuHtV/qPoQFOBkbuxNyztyAqJTJzJTFuKOy5+4AQHmGUlvDGErNIr2M4Uo 10 | ccxgY40hRnl7mDf0kDeXH4mQigZujpp8qq4+kCD+OPI2BTXrefVRV9L9OfsBtmrm 11 | N27VQFQ3R65Q20gSuGXxwmYO4X+ELFkZTIj/VYdTXiNPbAsSDBUA5G3cDYv4S46B 12 | /ZIUQo+WXpuBkFKubGwIqL0+wf1LIN5/ZGbI8A+1K5O5AgMBAAGjUzBRMB0GA1Ud 13 | DgQWBBSR45b28VjctaVXTBkXiXUPxr72UjAfBgNVHSMEGDAWgBSR45b28VjctaVX 14 | TBkXiXUPxr72UjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAl 15 | Cdhdy1R+EY4oQoRt+yAIynXi2N3AfRzOKwfwoTqGVMcybiaeiIIAMPcGyHACo099 16 | AW1D/MNWCl43cP8Px1KZGzED6qc0yL6dKkF54+a/71Gu8V040N0lVjO9G6vxFu2Y 17 | O/k7x5BbwhEcEoQ1ZRqBbt6dODMrlP5juCw0AJ40j7tJot5EHImXM5Inhq4cWZDw 18 | auHdD02Qe7KK2H3TYO68UjGKf7UoL6sYYc3bs2Pvmn9rJfhlY9BSsck9QQSB9Y8a 19 | lLhU61ocNIDQQuVpk7jEhGFrIeQOmL4cVngpUcPix6djZiSx7QPMCUtQj8Xtbvb7 20 | /QAMpEnsN55BX/1NO+zQ 21 | -----END CERTIFICATE----- 22 | -------------------------------------------------------------------------------- /conf/keys/spldev.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCfS8z4NRH577Uh 3 | zuc50gn0nL4HmA4oaNqOxw78ptpbnQkarHXnhDrueMqL7ukbYHq9ZuoDQ5fnLujK 4 | FyS1Ko/aDfwC3mft2Wyg3uHw5nDTzXyStcGuHtV/qPoQFOBkbuxNyztyAqJTJzJT 5 | FuKOy5+4AQHmGUlvDGErNIr2M4UoccxgY40hRnl7mDf0kDeXH4mQigZujpp8qq4+ 6 | kCD+OPI2BTXrefVRV9L9OfsBtmrmN27VQFQ3R65Q20gSuGXxwmYO4X+ELFkZTIj/ 7 | VYdTXiNPbAsSDBUA5G3cDYv4S46B/ZIUQo+WXpuBkFKubGwIqL0+wf1LIN5/ZGbI 8 | 8A+1K5O5AgMBAAECggEAHWBnPmbbF9Ki/scfUURw3ZGCYfgitEUR+T6wfttubXK6 9 | WRbw728tRwkzoTa/+nKCcCdohI2Ul+fIumwmMtrUiIwHq6fEVtK/+7LezARTTlwY 10 | 2x11yFybVt2csBaJgzwJjBcssUvXD6qs1zHjOh5HKDHXXc3QAxCvYr5f2iOKLPj1 11 | EjkP3iBLoe0eYTNcjQPKP4jZyFJawy26eJU9vr5KQB60+T/9IKPedzqG7qp12AtB 12 | LKWhaTRtiDCH9hmycVKrC1VGCM/vFwwLf+vUuRBerfbm307DiUJORfPovNvNlIp/ 13 | S/gCOUJibMD9ETVVT5pcgeHbh0scRcS756EsfQyIAQKBgQDKd5JSVDyfdMOimvEf 14 | MUjIyj8/FxXAQ2/9rRAtxNleyO8UVxZemwOsb5Ug1i/1hBAhsyis3yZDR9gTsJWe 15 | oKmAP21GWTdWbtHjl1+qq/WJUoXawzNgXKNQu7tcori+34nKjXaXYwb0diojskii 16 | NPEf2armQP8LUi/9TuvR+Bc1OQKBgQDJahtHRdq/wcNAG9yRwpB9AgsJZzptvduM 17 | uPz/uLdJ6uJs0T6OLxWvG8saSE14Ky9zmdXyhWCxYx4PQopNaqk4i5++Wv9ZXMLd 18 | Ema0F/GxnpDEXMqqY6duNCShRk+y3N6JqqaPEijDZ1bk7hvwsky7AGKtnatNYBqT 19 | 1P1VX1nSgQKBgQCGoYoX2tHRCnjImJU7s679bZcu4a/iADXpDnqSpLISWDS6ZsqG 20 | MDf6ItycUDDl5mI/tn2WrnAoDw780NA9AgKUOBj2zX6BqAFDgLXprJ0CKnC9rk1s 21 | h01F8v+8sqt8qPJcUUMJmZzXU/fjcrrfuaqZDkmZAKFXqtgkbaVcIsdz6QKBgQCr 22 | 3Jc0JL34G6ywGlYGJf/GOyURu/yWQYeCNyLiTUpQj1TvR0haaIDXLx8J6SH5ZNgT 23 | ivONAhQ0qH+ww7VhQ57rOfBvrBPwu38mxhnOmBPK3KNoekkQRQJLvcB3wJgm5eIZ 24 | k/yVXghcW+RAaZB7vJhOhJCu1jeiSVvEQtx7qWXqgQKBgDeSt1+u0SMhjNg/f5az 25 | tzOEA93uRY+pUnzDgRVHaGrpEPeS1xYjpyX+YR525/b3wftf//+txJLPRPW45CUY 26 | 0o9cfWM8yLznGIVioI9GQBzPckn9+bBvUVg9GKY/5fAqURc60aemN8SSQSY3KROk 27 | I9sNnDbAYblD0G/x/yn+QKdQ 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /conf/keys/tf-a/privkey_ec_prime256v1.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEILtDgAB+8hu9mCqzmo8fhvAgnK+POB+RQAKwKjNkNCxioAoGCCqGSM49 3 | AwEHoUQDQgAE6YeeMCnAAcP7d1Wr9p6NX5MR1N65Dql72yYCf/BLJT99haQpaqll 4 | qtzqpVYnEjXDPzC3wVXadcyEj7rw2Pp/WA== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /conf/keys/ubootdev.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDazCCAlOgAwIBAgIUAR2w7SNt/Fd5QCgUoGOU0IIWKjAwDQYJKoZIhvcNAQEL 3 | BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM 4 | GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTA2MTcxODM1MzNaFw0yMTA3 5 | MTcxODM1MzNaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw 6 | HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB 7 | AQUAA4IBDwAwggEKAoIBAQC9DR72tRmHGM/8sOwRaDtEOrG/5TLR0B6ySoyjaXmL 8 | 9ShDhYdmEfcZuDa/E1w240Gp9VMFjNjUAcJw5ocBkcHfzs9v35QVYv491PPGzAON 9 | 7Ob/cmNkMJmQKUVf++AgvxbwDlxXFZwvNEX8ZGrfPTwqtRaSY3b5zJV0+3zkrsvP 10 | xGX98rPYBb1joV4sFFV5qxRpBj6GPpHU0zRg7r5EpoXYfP+0/3xiyRsrWKDs/X4U 11 | 4TRHLevPbcvSR8t5cZj9r945I3a8Fbjyegwe3xOgTae96jIh6+vP+HJPNWjCW9YR 12 | wees3QhX/572asMD3xkMXoofNgV8mZw+TQVKvhg2VBYzAgMBAAGjUzBRMB0GA1Ud 13 | DgQWBBQWlpg8NW3EZdPOpvOUceVMFyCXETAfBgNVHSMEGDAWgBQWlpg8NW3EZdPO 14 | pvOUceVMFyCXETAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBy 15 | i3q+mL6Gz4/h015Zx0Ez1Kt4JU9mcapSde63l0AIJ6VNsYIuxlSStTMNDyQwICUj 16 | wUuZC9qEO6mzq81NK+xhvbpXAMBsWHfzViUp3A/79QJX2vAJD+4lehBEkohVEdWp 17 | vjQSuhPQQJX2yxHEcw1S0FVMkpoV9gBrdkFQIv17rgGBUsjtGasNLVmHliyhi5Kw 18 | cBKbviWU91tYyRrv76EHP3bdPfbjC8H/HHYaPF/uaq/Xlpln8UCVUgS1gllymWV8 19 | Ll7CGMNV2GDOIzjJS9QPwmD6uGw8YliOteO6OSYKS3yN3j5rSndZsfWwEWxbdEEA 20 | HASVb8Jn8A14dislU6hP 21 | -----END CERTIFICATE----- 22 | -------------------------------------------------------------------------------- /conf/keys/ubootdev.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC9DR72tRmHGM/8 3 | sOwRaDtEOrG/5TLR0B6ySoyjaXmL9ShDhYdmEfcZuDa/E1w240Gp9VMFjNjUAcJw 4 | 5ocBkcHfzs9v35QVYv491PPGzAON7Ob/cmNkMJmQKUVf++AgvxbwDlxXFZwvNEX8 5 | ZGrfPTwqtRaSY3b5zJV0+3zkrsvPxGX98rPYBb1joV4sFFV5qxRpBj6GPpHU0zRg 6 | 7r5EpoXYfP+0/3xiyRsrWKDs/X4U4TRHLevPbcvSR8t5cZj9r945I3a8Fbjyegwe 7 | 3xOgTae96jIh6+vP+HJPNWjCW9YRwees3QhX/572asMD3xkMXoofNgV8mZw+TQVK 8 | vhg2VBYzAgMBAAECggEABlH8+gR98P1MXsdPbRmN+a74qFCyTT9m91D0uLXbAWnV 9 | ycQaDbiGCU8WTXcJOzCHznXMK8BUs2nHpVyfoNbNo3zXhIb1/W0M0OZgrAHAEKud 10 | 4WZimkPhrmci0Z2rFY0t6CKixaqMSSu3N0PoKsRyUX8yXPyESr+jM4EA4OhTGgQJ 11 | JGXfc+k/yDxdYqS/nyDpwPCzcCGfxxpVmNF6ENOgZyuCiOgvz2ale57EGAA9zq+S 12 | 7ny9uYsK3oHaWNPAJupIUXw4yADQ348F6upzX96ot3m2epgprPQ3SZ1eTUbb9Cjo 13 | KxU54qvVxxv59mr4/b6DtPb1zQPFN53rHkV6uE54aQKBgQDpn2quQkibmShfoem5 14 | b6K+wieJ123dZPxxua14XXgto+QxZRDI4mqQCXboTGlVXd3OzkzmJ9uTSKsgnWph 15 | bmI9pf0QRDEJwT7qpFQFFktPvafvgPZtQ76qq6MkMf0J5NhBKF8Gry8p0Rtkad+S 16 | erljD4cFK+dCjeYaWlIixvv3ZQKBgQDPKMhNWdV4jC3K5Q23+owHYpTRVCOOYN69 17 | nH82ccqI88KNiIQstuGJWTxOj/K00QY+ylsYyIw2uH95WyP2ZrVa9t6g3OQ7Pdyq 18 | xlSTHe0+ZaCOijd6cdUIvVEUd3bXChw0XU3fFhgHcB4N0WN+ijmbB20/Lc+mho6O 19 | 2IQlXXH5twKBgQDArKttIFmFimETzhNWzk0oijPVqQiBCSJyILKCjIPrEDnIyxN2 20 | udUtCcE5gJt2vj2Kq/Yb809SPyJzeaAczs7TDSyS18qhwvDCz9hDgcmG8GGqU2/p 21 | WW/MjlW0Kk4IdOYthsAoYR7CnCS9QdwTkIeIvWubxkOqTiEyJr+K0xVHSQKBgDy4 22 | zY2uyV3eaQXSAiVtcWIwyUJakVmIl4Gov7krvZxLJznpTCT3LkDeQUkd9Jx/sH7z 23 | PaSUFFVt2x+tUWtGS95wAm3Qka2zwlzkaaH94a6qh1eAuCZR+4nmRD/ljJYXxpCq 24 | 0MqVZVG40XZna+yJg70nfiRIv1cmld7VJFb3fxMdAoGAK61o7+7DLEU5aPLDThn2 25 | 4kWsXb7e5gFmu6R9NzV6hCbqCTMUsjbnevrm7mqRk/3rr61WkMi5zIszA0SgcxfN 26 | QglXNTWs5hjeoSpWudMCExVDW7EIN6QINwax5uSGU+/nU+f6cEsUJOtfXe+EzWjI 27 | HWkpiosMZJT3aQwPKSqzeU4= 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /conf/keys/uefi/DB.auth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/DB.auth -------------------------------------------------------------------------------- /conf/keys/uefi/DB.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/DB.cer -------------------------------------------------------------------------------- /conf/keys/uefi/DB.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDCTCCAfGgAwIBAgIULWWU+RZIiqHvXKRjFFZEpBiJS0kwDQYJKoZIhvcNAQEL 3 | BQAwFDESMBAGA1UEAwwJQ3VzdG9tIERCMB4XDTIyMDYwOTAzMDAyNVoXDTMyMDYw 4 | NjAzMDAyNVowFDESMBAGA1UEAwwJQ3VzdG9tIERCMIIBIjANBgkqhkiG9w0BAQEF 5 | AAOCAQ8AMIIBCgKCAQEA0Y11COgixl8UP+/xBjQi9yHcqOh5n6vf6fXRGXkjiCJ/ 6 | 9QYtsVUGqXtbqLY5Gf7KrXMkcfvv53iwndJNOcdEVn3wnNxz3Ow1rF1APU9G7O9Q 7 | zc9L/prFADlUsa8/hJ2ikU9OCkeBtEtiGAWIfNVglM6TLxHJk0e/CMSAphl4lzs+ 8 | HAUY662/xb/t0b/KF6ia09mwcCrqP+Z30ecTBkTrR/t6x/tcEyBcTihvvHsolo2h 9 | qoS2PKNWgaM3CVLPWePheQzbLP+eD78pEhlKh+C+Dv25JaLhZUvpDSCfnfj34lpj 10 | dpC2jLCw5viHKfdkx/+r5MG/dMP2r/yBgppyWo+IXwIDAQABo1MwUTAdBgNVHQ4E 11 | FgQUv8DNsskDK88EEy7hsW69GMhg+14wHwYDVR0jBBgwFoAUv8DNsskDK88EEy7h 12 | sW69GMhg+14wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAaVtm 13 | /0yuDiutvPyD7UQnXujHfIG5M/T9UCQhDW6GdMskCuUIbR130HvRWqNeqg1tBoVu 14 | BLdsHRMYoRzaKgqyVGlaIlrJlhS0QI+6b7lNMAmt4imjiZa3evXML8lsNzlKYjlJ 15 | oEUtjIkbRMVwNNKYFi/cmR8NUMT6a8i9pEX22tO901Cf840drQvWhE5YyXyLL701 16 | 2n7xCFr7GSHVEehyRDoWEPKglX9hkWzWjGrujiZ6UHO8bpxhWMUorPgkzW7JL3Hj 17 | votfAacequwI+m0GQsx6pGC7T9P3Wix7rwamLvz6V/GINY89dmK6sdAQZ9aBGeC9 18 | 264DR2eoW5XO7kKxNw== 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /conf/keys/uefi/DB.esl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/DB.esl -------------------------------------------------------------------------------- /conf/keys/uefi/DB.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDRjXUI6CLGXxQ/ 3 | 7/EGNCL3Idyo6Hmfq9/p9dEZeSOIIn/1Bi2xVQape1uotjkZ/sqtcyRx++/neLCd 4 | 0k05x0RWffCc3HPc7DWsXUA9T0bs71DNz0v+msUAOVSxrz+EnaKRT04KR4G0S2IY 5 | BYh81WCUzpMvEcmTR78IxICmGXiXOz4cBRjrrb/Fv+3Rv8oXqJrT2bBwKuo/5nfR 6 | 5xMGROtH+3rH+1wTIFxOKG+8eyiWjaGqhLY8o1aBozcJUs9Z4+F5DNss/54PvykS 7 | GUqH4L4O/bklouFlS+kNIJ+d+PfiWmN2kLaMsLDm+Icp92TH/6vkwb90w/av/IGC 8 | mnJaj4hfAgMBAAECggEALRjcTwZmNXrQyNHCdStTOww2iMM/KXW7woX8chb35pxG 9 | HV0vCDLcNC0wFKbisw16YMme1kj54D7BA7X2mLChrFt+JMPsy2aqRmXrJUaiZOs7 10 | 4I70M97q9plf+L1WVhv2mH8QtHWfHEX83l6SeQsStfOfCUoyr1eJbUGcziI9KY5a 11 | QWA4kQ3vPSV6mF/Fx9t1RZ+RDbBR3Dx2g6r8EtPZN0/B7eoomvcYblR5UE7pXFlF 12 | CDIoqVEUveHRGAc4PbaLGVNTC+E02XGCJNEuG/oO5TSCg1lf+TiwWibTvkJchdCN 13 | SSnjlWqCOX/YH4RbkY1wtYQpjRXp9VAjtOGP/Lg0AQKBgQD9Kcra97P36Y99Q+08 14 | weoPy0V81LFlWlnYo1wnE/zdfy2VaTQV6Zmdw56F49Nns3oaj5ArLHWFv97yRoVx 15 | abwLlrBfuNR29nGwCdBskT4Xq46l1i/z1dDbqm3w5Hx1+QkMRDxe+AhaVt3oAbho 16 | Effpn10FuhH3sl3VVvIGaSPQQQKBgQDT5pDlNViYd3mg8mhwcgmFpCcs1RjRxhHf 17 | NzpWIekpBqUR/bS25SOmxiE5xMIBcemJsUJbzs3ebNjC6ZEZ5EVMOvdWuxj9Ff4f 18 | 59fXxWg5fxtLzGbQwymQBTMVcFYfUAg+xUtAy7nE/iIknTOa4SNzzjw6y7G5FmmC 19 | HVT8BQUwnwKBgQCxaWM+Vg4psuSabUrIpEAJ93Jny4nRtCJ4feqrfAddla11Ijed 20 | D4pWk+r4ezMAXjc4e9kVWF+3bkGn2SHU27srB9vsCNPj1krPieEk5Bf2cIRT1Sjf 21 | oLxv5ByNjyFlbzMXBI6mIv1/iZaS6vm2/LiWYNbIl5/VzIqTYg3TzkSJwQKBgQCp 22 | 9H+6lzLb9tei80o5Bf4FJkgVeUVS2x5yfgVYGBK+SQoUh/xtxRL3LGpxvxIrvoWl 23 | Xnruz8vm3j5s9pDex2udXJ4M/jtooj8UsAs6kKarlvr5rJO6VQ386W6zf0pUCwjR 24 | 78QP0FbLXVldLIi7bF/W/k7oiX+eCA/PwF7tU8l52QKBgQD68Q5pddYCDUfva22v 25 | cHkCocOKf1+9sW0i0WVTGpXZ2GRy7r5eNy0TXoBIYA2z6zR4cW5Lr65A0uDbri4r 26 | 121yP5iOjqlyPxfBQ9P8c4EWHoWWyrJfE1R/TSy7Kv+J1zHeHTs7alE8XvuD/ruF 27 | tbJQ6rfN4kQt/zcm0n060JEV3A== 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /conf/keys/uefi/DBX.auth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/DBX.auth -------------------------------------------------------------------------------- /conf/keys/uefi/DBX.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/DBX.cer -------------------------------------------------------------------------------- /conf/keys/uefi/DBX.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDCzCCAfOgAwIBAgIURdocWh3gaW6dip1wgyOAIz2P3YEwDQYJKoZIhvcNAQEL 3 | BQAwFTETMBEGA1UEAwwKQ3VzdG9tIERCWDAeFw0yMjA2MDkwMzAwMjVaFw0zMjA2 4 | MDYwMzAwMjVaMBUxEzARBgNVBAMMCkN1c3RvbSBEQlgwggEiMA0GCSqGSIb3DQEB 5 | AQUAA4IBDwAwggEKAoIBAQCirwo1m3M2MicfGcTG3V+/H5Hlc5nTQu0C94DOFsFG 6 | +HyFp9lq67DkjK/p5QNefk8wQrIogeMMCAChDxc4tqKnS1zPcrWoEwQm8rWlyYqb 7 | lQwiK5nyr6VPST6CkZksjTofFi3+wrnO0g8UfIJIpMerZz5GJLqoD4wCxGt3cPJd 8 | n2fW1Yc5wRoHNkkeQwNJlCeLWCW4ELDvGDN9LmXOsTwcjQ4EtQbWSv26D9N3Mljn 9 | nf//jqVU5sQ+KDJwtsucUWias4riRzryeGbAjQo9WIsGgp6E7h55/qJmfU46vDO3 10 | 3tgiTuS59NTHYX1c1kWSD9BUNuyuF8T22damkpKXEKrTAgMBAAGjUzBRMB0GA1Ud 11 | DgQWBBRR3/XLBVAJtuj0NeDuG142NSA8PjAfBgNVHSMEGDAWgBRR3/XLBVAJtuj0 12 | NeDuG142NSA8PjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCC 13 | Wfwk1Sb6l1P9oxu2VHhd/92HJ749zJlhsEf/eK9aXoiSGBPzxgqzkjC+Zq/ZPc1n 14 | Hshe8vulZKHmXuB6NhEC3kINAqph+67eTjFwTdMGCGF8gFcQD68bynasv8NXlsM4 15 | IZNhlrMyTw4h0yEu0tOL+P651lsTxpfrTCO/DAEzMAfPtSwB20PAf9ev0G2v97Xe 16 | i4xxALLpITTTKdU1465LkYx35c9mImeMyxlSNTNrMhXTtDsnxiuybpz6a5zTRmS/ 17 | oUQ8mwaa89Jim/4t8AF82qDn7h0y8NVQJhBMPL5T3dk+rIAgyx1iAGA0QbAx8IE+ 18 | Ct33nmUAVDL082fjSDS2 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /conf/keys/uefi/DBX.esl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/DBX.esl -------------------------------------------------------------------------------- /conf/keys/uefi/DBX.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCirwo1m3M2Micf 3 | GcTG3V+/H5Hlc5nTQu0C94DOFsFG+HyFp9lq67DkjK/p5QNefk8wQrIogeMMCACh 4 | Dxc4tqKnS1zPcrWoEwQm8rWlyYqblQwiK5nyr6VPST6CkZksjTofFi3+wrnO0g8U 5 | fIJIpMerZz5GJLqoD4wCxGt3cPJdn2fW1Yc5wRoHNkkeQwNJlCeLWCW4ELDvGDN9 6 | LmXOsTwcjQ4EtQbWSv26D9N3Mljnnf//jqVU5sQ+KDJwtsucUWias4riRzryeGbA 7 | jQo9WIsGgp6E7h55/qJmfU46vDO33tgiTuS59NTHYX1c1kWSD9BUNuyuF8T22dam 8 | kpKXEKrTAgMBAAECggEBAJOIG8EbtTLb7qCEtPAHiDICBkRIPqLY2anMHJJJDoQ3 9 | Cm4HFuOg1G2frFR3rEOAVn4Urg6QJAAgLbnhvpRfBEikzokOpPDENgrAJr0vdbS8 10 | SSGf2t+8LDUn3jl4oqlFdgUFDzcvDmQiGSzh8SDB1pV5bn8cBe4tEzLbP/40focp 11 | ermgSdgMW/Zxx2idOsG2iwfQYkes7XfdQpJofMIvRMmKzvT7b1+LoM0YxEptmbvR 12 | 8xalCcQmHJoEVtYitqoAx/gcS7qU9HIp7lhu3AakPrApEhnv8dwEst9AkPiyHqmQ 13 | c9mwV/w/PT6P0xGJ0VUEncbt0LB0GUjzOB1+4UrnCNkCgYEA2BHQXyFrxl8dDh8p 14 | q9Z0XWUVyjCG3oFypofYothSTb8lKNQPCdRcAnUTgjmbTObNE7IAm4ksFoHrHwMP 15 | uJR6DXhVCazxi+O6tsQ7QW8ZmU7AB26KWhO0QsolHKt7vvG30QKCZcG1r75eLgYF 16 | FVMEEGsP7UCG9UeMdZmP8r8l85cCgYEAwL+O7zpJlbg5+ckWC3wy0hqHSJ/HhA58 17 | L1+ef9rePoRqRmzv3edzqPTwdR2n2E3m9cAx6iyygRxCPbY1OzuINmSRaPDuQmhu 18 | hj3HF/tJcbSOdPozu3UnIYvH4OK8otjXddTn3LMrGssK4BCzxiOiTluDye7/sD2i 19 | A61GTplF+iUCgYAGgTrJsmLhPPnN9Ag4ISOtsB5g0Ocuia0e8FYISQTpTEjdGs09 20 | GYSPmmC0+fD/9q7T2fcEt7N5Ff4zF8+AWg/2mdnNicRX1spHOE8kYCjgIavMTXqi 21 | zZcOr7FAVLVMAVDsXOv6DkPe/5csQYgjpTUpHWAEX33wom/LFo1r3G9TDwKBgQCL 22 | H7lD44aJktgF+6b100e7b3qGaQ3Ru8LXTuVQ0+Hmrh0niCn6ub06DtIhNq6X6mLy 23 | ry9YH7sYhhUqBgKWJnpDCIQMgxr2w/pC2wSBwtdYQ0MwHAiLHhyIkiRLpl0SDgI3 24 | At345zoNtNC8ulGIit/0Pwn5D5Fu3I28qa09vlRMIQKBgBgdTgVCnGFK3XXcBB9E 25 | WRG/CF2Ehyoz7CDBgXiZJ+HIwVh2m9U/XAByAl/l7nxvESb2RsbPci0onozkCk8O 26 | Uoe4277TDtMdyKk5Mqt1Q6CeB3gg5K6S2o011eIjWN66Kive0UE9oCHoFczNAiI8 27 | hIU8KDzxbHyKW0GFvDBsOYgk 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /conf/keys/uefi/KEK.auth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/KEK.auth -------------------------------------------------------------------------------- /conf/keys/uefi/KEK.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/KEK.cer -------------------------------------------------------------------------------- /conf/keys/uefi/KEK.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDCzCCAfOgAwIBAgIUb7BoOMr9yB27ISnwk8ei85xdgKAwDQYJKoZIhvcNAQEL 3 | BQAwFTETMBEGA1UEAwwKQ3VzdG9tIEtFSzAeFw0yMjA2MDkwMzAwMjVaFw0zMjA2 4 | MDYwMzAwMjVaMBUxEzARBgNVBAMMCkN1c3RvbSBLRUswggEiMA0GCSqGSIb3DQEB 5 | AQUAA4IBDwAwggEKAoIBAQDO/UslXxq0PmqHqH168gFSvm5znGUbGvHYtiyVzzW2 6 | 9SMJOMQilpqdEvpN14roHiN85YXqHnkquoOKcPGXF7SpYaXdydBsDRr/mHdN2HnC 7 | QmZFuw4x3F9w30xykPPedQKA2DiDqPBjP4SGaZ2EF+iCjq4yyCvnK1Igb5JWiaU7 8 | d/jLKfqkluyFWDx6v0JtYWpe39aWGncISmsLsmcYZb/ezzGyaeWAenByoWbO7SqB 9 | a/ZJEPdsR24FDQ21ONg8AjfoZ86M7O1LYhaQb5iEFInt1Ec6/uw0jP6AyAA0Avyl 10 | o3RC/USuxKnZkrVelmjY6Kb9qxK8uoLFGJcMf9sikIBlAgMBAAGjUzBRMB0GA1Ud 11 | DgQWBBQ0xwQjJO+Jbh3wWyuy6fDhQbo8YDAfBgNVHSMEGDAWgBQ0xwQjJO+Jbh3w 12 | Wyuy6fDhQbo8YDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDF 13 | Sp7ezXvLz0VIKfCkppMaAhyXDxf/p/RQfuvGjHlkEqlSktUFnVbRoujjPaK3p3EX 14 | r2/xtYPnuCCWgy1wPUr8ZOdvJ4jIKbKdhE23SBdLIuf2/db/RpfBOiK4xHKKJb4H 15 | GpBQrr1t3/1yb6QT2V8JwgJie+pjb1zdRM8f2SVS11vh2+/paMfZHK7Tvl4qor3Y 16 | LiZUZtHWLAvRDPGClOAN9g7Dr14ay42XVVleLGxHeigTG84f6Z8c5pxWNltbENKA 17 | LOAPw97OqXGQZwc8sX6M2p6Ogd4ijzFP9MPLCr+yji9HBcnyN6gsLpuhuN1wLm4s 18 | M2mZTeHg4jt0Xc1cgbYU 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /conf/keys/uefi/KEK.esl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/KEK.esl -------------------------------------------------------------------------------- /conf/keys/uefi/KEK.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDO/UslXxq0PmqH 3 | qH168gFSvm5znGUbGvHYtiyVzzW29SMJOMQilpqdEvpN14roHiN85YXqHnkquoOK 4 | cPGXF7SpYaXdydBsDRr/mHdN2HnCQmZFuw4x3F9w30xykPPedQKA2DiDqPBjP4SG 5 | aZ2EF+iCjq4yyCvnK1Igb5JWiaU7d/jLKfqkluyFWDx6v0JtYWpe39aWGncISmsL 6 | smcYZb/ezzGyaeWAenByoWbO7SqBa/ZJEPdsR24FDQ21ONg8AjfoZ86M7O1LYhaQ 7 | b5iEFInt1Ec6/uw0jP6AyAA0Avylo3RC/USuxKnZkrVelmjY6Kb9qxK8uoLFGJcM 8 | f9sikIBlAgMBAAECggEASPE75QyRxYjlU68NoSDdVIJlO/qWKqohJgR0y8o8nJ/g 9 | W+SUQbge/lFswbe+bLQKP35G5c0dV/BoYIYSrPMeqD4QDIuNFja8F+xrxpQNvGZX 10 | 0iTsCKgnPgiC0TDBr9g+LJeFuufy5pbApflcF+uw9SlAvAaMaid7BpEq2bIh90Va 11 | Vh5BTm2Sbmpn67X27rN6QYoErlcN3r7hrZPMUP1SrI1B6jY0Tvq5419copAjb5BV 12 | ybix9k7R6XrhzKMocjpiQvhnwayGatjdt6/YET8uR+FugaFv4NLZVLJsqVWqGHVY 13 | sGqltGDxDPDKDj+9FtznOhFB0qZcMiZY80SxZXuhwQKBgQD2x7pPlg6Cy3tO2yi7 14 | UDggNsIRQEPBbHWTR6Msg5Fv2mXUMQJiAA1UhdwlD9Z3QHgY6NjAFs42eTClL7Ey 15 | lsnCf4izDyTjYMLQDaj0bDUCUruNK8jI8ZHPNb35mYg9zQvWNfynw4a8Ju4BXN3Y 16 | ATgkWBkb8Ei545uZxrT47Pn9VQKBgQDWuP8ISD2rtoztM2zdUqxmPrnXHHIAxqSh 17 | iN+OD+2quWy3/tCUTdA1Eyo85z1iuh8XSuMqyTjKYaF31bd59N2aeQlgTdCjsJGX 18 | OR+QlVC+Ezw3LqjFAYeDw2B4lBdSjwprYq7Z6t5zn7ZqnWVk10SzNXzniTx4H5yX 19 | L/AChOX20QKBgQCjOTmGuFaCtjmpz5UiR43H6M/1fw8RmT4vGtvXbnI8jDR746qS 20 | zTwD4sHYFaChoZeNyjzK2IquRvwg1ema71cleRsea+7XIcHYwKA2gneRQM1iM0qL 21 | dhQd/IrZ023kioHAvlaNU+sC+bDEX/sviqbqiwaYjxZbNStOy7oZRwyWPQKBgQC5 22 | 12/UKUJHJj6e5g1pGS7hZ5TNG2+IQGUo8iAbAqo/QzFXppG8agS0ixvZjoJQuqpC 23 | LKyk0Xf3obxwzWZ5hXdvRSbaVT8pDZ9U9Tnel31Epb1OPXIQ4Jv7bNRISFRPPkJU 24 | YxrWvTM/e5IUgJnLR43MVZT/iIXvqdyL9g+S/pdSoQKBgDsLPzCjzVrJVbaNHLEM 25 | gRmS46IvZZIkzMM87zwEwuQcBOwZRrd3y/ocOcdknxe+F+lGS9OfPSUuf+YVH/qM 26 | tVgR8jJrbBYjgKem5stx3bGLiqtL6N3BkEOILhT2jE3YkCVPLausYapp7hHA1eP5 27 | 6JTxUOUvhp0ScLrFNH6nBaui 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /conf/keys/uefi/PK.auth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/PK.auth -------------------------------------------------------------------------------- /conf/keys/uefi/PK.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/PK.cer -------------------------------------------------------------------------------- /conf/keys/uefi/PK.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDCTCCAfGgAwIBAgIUCNrEB9yu5LV3jCedjcYjt+sCcXswDQYJKoZIhvcNAQEL 3 | BQAwFDESMBAGA1UEAwwJQ3VzdG9tIFBLMB4XDTIyMDYwOTAzMDAyNVoXDTMyMDYw 4 | NjAzMDAyNVowFDESMBAGA1UEAwwJQ3VzdG9tIFBLMIIBIjANBgkqhkiG9w0BAQEF 5 | AAOCAQ8AMIIBCgKCAQEA5ZX1KAlYQEd60ElsaRX6WlpOiH5nIGmCKEGsphxN1uHe 6 | VfY9M9O84WvFyDem8xaxemYS6iWFX0s25bCnSZOa/n8MUL8o16U6uG1hW4yhndsP 7 | rqLesyf/IkiPVyZVbc2mnv/iI/0SRBKZ/IWmAlAArj41Wp4N3ZmwwL0UGSwUypDg 8 | 7NpCjhH4Sm+Yfw+fX+GqiqFhMoN5xUQ2kWOzcX4NuyDqHO11KhdmWk4TyQPJYemb 9 | QxP0VZFZHvNtKF4siXGSSyvSW9rwBp46LBcYYwWgl2Lo+HfTi1JSVtBVjJXZ+axs 10 | fZRbYdwuUO3ch4g0rO15WXDznMZ7D7w2sS+5p9ND8wIDAQABo1MwUTAdBgNVHQ4E 11 | FgQUMbS0WuMKaPDYnOCqTzylduNAt4UwHwYDVR0jBBgwFoAUMbS0WuMKaPDYnOCq 12 | TzylduNAt4UwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAC+GV 13 | ts1KEcJu9uymUyq/e9VVLp/v8IR8jHL6sR4qKxTxkwbT2msvCyVpd0869jZvM+FJ 14 | Rl1v1Vps4+B/V04J8D7h8egF+0PHIExiOhtpzGAYMPd4TGwBmNFR1trXRSdpc3at 15 | eBAU/MxMrVg//yJrB4zYJoqsm6rlvnPO1KyWAo840ihlRhZ1flpBcsM6TFryEt0J 16 | 4FT/js/R48C7uFc4fipr1VkhgFfn7xax7zxCFhSA+NEq3qPQrIdJTB3bdxH20DMx 17 | tuBfNzTKmpAH8qMwLDP+xroVDKxBYrG6+q5kMIwcoihbcwusBjy5zuAdswsJqkkb 18 | wv1JhZ1+D4pPKsKYRw== 19 | -----END CERTIFICATE----- 20 | -------------------------------------------------------------------------------- /conf/keys/uefi/PK.esl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/PK.esl -------------------------------------------------------------------------------- /conf/keys/uefi/PK.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDllfUoCVhAR3rQ 3 | SWxpFfpaWk6IfmcgaYIoQaymHE3W4d5V9j0z07zha8XIN6bzFrF6ZhLqJYVfSzbl 4 | sKdJk5r+fwxQvyjXpTq4bWFbjKGd2w+uot6zJ/8iSI9XJlVtzaae/+Ij/RJEEpn8 5 | haYCUACuPjVang3dmbDAvRQZLBTKkODs2kKOEfhKb5h/D59f4aqKoWEyg3nFRDaR 6 | Y7Nxfg27IOoc7XUqF2ZaThPJA8lh6ZtDE/RVkVke820oXiyJcZJLK9Jb2vAGnjos 7 | FxhjBaCXYuj4d9OLUlJW0FWMldn5rGx9lFth3C5Q7dyHiDSs7XlZcPOcxnsPvDax 8 | L7mn00PzAgMBAAECggEBAIYJlMW5HvL4SHWOSGLZ1/4kNzFtStwbfUfvf9LDN5a6 9 | 68mYJ4c4mU+qUiBgjXHiz9879NMK8OD/0p8rEZ/dM2Jd3lzOHhQ4fR3rjima40h7 10 | +p3krMxAD65+WmFxGfMvW5X8opSMTbu8eHZ7uL4k4yDXZOLw3/t+nTkJqtA/ciwI 11 | aoVKLQKqVc5q8740SWv5d13Dv+j6WpogeVTtjrXfNQCaRytsHsIyzSQDX1QqThM/ 12 | 6QfdKwZq3SUULmdYPj+r7ISuNArLDYclaKJpxWJLoiW/EypRizvCdNlWNpFeTNeQ 13 | 1OItEXaGXep0ckV7cEFG1X2KrVuWSgLwubFdNVcOHXECgYEA93Iz5rs+MEd8pTwO 14 | pvABnuV/yu+edbi2b5u2PQW9VlNbyI0GSwVGHsvZVstRR4TqRFAaiguL3x1uJ7lI 15 | TuGBKKA5uYmyQseBnKqXVT3RPTORhdJU5hl2sTQhfhhbXVBEsV+CwSRg4sznmNFY 16 | CCVecXQhq394BEMVWSQN0m5sz+0CgYEA7YWyv3S7xZkLGkYzpf4IkZ//p2J5FYWf 17 | KcyCqGeC7bVcP8CrbcINWmfLLFqzXLFSD8016BqjdelfIzvzXwqjq0XYHmhfFV21 18 | dZcbe7cAdyG0nHPIufG/CurBQU3KjMmJQwMvkOA6RY40jzJepj3+ZjgIU87d8T6d 19 | 0Ls2R0Y5J18CgYA9keIOMFsKAk+mgaoXqbKNigdhRHxGSH7EiJcw2ePBvh4hac2+ 20 | DwLimNBsg0ynIhB0jQX9gV/9VUJaigTO89eCd1PFsdh0O1Yp2FytbiNJOjKkfLB5 21 | TK626wTGbmMVdeqRw/Ux/85HwLqD0Ns5s6qrSj0yghYn4VVHh+wUhzt2BQKBgFls 22 | tsmCR5ezcQypVZSvOcap+HSqjG/f6PaxupdwsUiRuXN/NIuUPbbF0SaX12OUlxK/ 23 | 7gW+0b/45wq67Xvg45H+L8ny/alrqH/nLj+7vH8dv4QPy4jGTWjszWmqwhGTZwxF 24 | zMi8wvOhAITRL/Vi7b7KZcg34DONoZkOgvb+p1H9AoGAJ6cA4IuKdR2K2/BFdCV7 25 | hANQj26HqB/G6yu1dmdv/lfPnnBHo1IC+y+Fkvgz16wDVKTu9xMlqvMakW+B0VHT 26 | nSFZAzHZpVUqbBEwW2tP/TzHKugYKF1RlqAIdYbljBw5I9sbmFVD4QPRyOmcGSYJ 27 | k/bJ6iVfE27WAMhubnHI65s= 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /conf/keys/uefi/PKnoauth.auth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arduino/lmp-manifest/f6fcccfc0221587c25dbad48ff87fe36c56e4e6b/conf/keys/uefi/PKnoauth.auth -------------------------------------------------------------------------------- /conf/keys/x509.genkey: -------------------------------------------------------------------------------- 1 | [ req ] 2 | default_bits = 4096 3 | distinguished_name = req_distinguished_name 4 | prompt = no 5 | string_mask = utf8only 6 | x509_extensions = myexts 7 | 8 | [ req_distinguished_name ] 9 | #O = Unspecified company 10 | CN = Default insecure development key 11 | #emailAddress = unspecified.user@unspecified.company 12 | 13 | [ myexts ] 14 | basicConstraints=critical,CA:FALSE 15 | keyUsage=digitalSignature 16 | subjectKeyIdentifier=hash 17 | authorityKeyIdentifier=keyid 18 | -------------------------------------------------------------------------------- /conf/keys/x509_modsign.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIFSzCCAzOgAwIBAgIUK6YaoE2ew8+UYrv80P763gszs8YwDQYJKoZIhvcNAQEL 3 | BQAwLzEtMCsGA1UEAwwkRGVmYXVsdCBpbnNlY3VyZSBrZXkgZnJvbSBGYWN0b3J5 4 | IElJMCAXDTIxMDYxNzE4MzUyOFoYDzIxMjEwNTI0MTgzNTI4WjAvMS0wKwYDVQQD 5 | DCREZWZhdWx0IGluc2VjdXJlIGtleSBmcm9tIEZhY3RvcnkgSUkwggIiMA0GCSqG 6 | SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/t2OAb1ybzW6ehti8ZRp3oJkQNVkdPROI 7 | AjJ1X8x4X52p4Mv/vnNn5MOHprGFbDzmmU4rV48J8McvR+DomTLKZnPy0ei2n2gK 8 | nqngEtCl2aU8ETtg/o1n4DXB/fpFNV759E0IFfNo3l0XRMOzCQpHAUwZcRCf/9/P 9 | i16v2SDCV14CtbfbCeVYGVFvNn889CXDI9oehbpwh37TChJ7viZfKbEZRkVSRo5A 10 | 4lyKI57opOm0FZWQ01HJTEQFN4DzbpUW6FMuKUkZnF34xL+UchUkvZSxnNFzGQKu 11 | sZsK7/E3sfldczsjkyLNREXuyuFS+29+bnaE/HZokRUrpLPGn8IxlcKAe11WPISY 12 | Ietnj0plOdz+nLJJ0PJ/qDMHZUGXndbtOXv9a9bR82pEUqeAuzLju1L7t3StcqkG 13 | r7+XyJfi8Xsy2njD17Z+pi/t/xSNarZU7+nGJz16T+EAjNT3n3GvaB2GCLk52fTK 14 | NqBUumTj4y72x3S4YRoxiZZLrssMz6hcrhTUnnuHZAa/zj8L/Vlbvy9C+vUesa0Y 15 | rXKUtxTr/Ob1fGLiJk86brF1aXSA2Oh+dtoqQCwraJAjsQdnsvux28dsBVSKBW7D 16 | AIA0veSW3fybfD46qk4NaQJR4VoJOA7hZ+OvxhQW6C5Pgheepekt/uwmYg6QKj2P 17 | FXRo+YhdqwIDAQABo10wWzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIHgDAdBgNV 18 | HQ4EFgQUGyMnwLddC8HkkUyBlbvwU2KbirswHwYDVR0jBBgwFoAUGyMnwLddC8Hk 19 | kUyBlbvwU2KbirswDQYJKoZIhvcNAQELBQADggIBAIgYL/+hSBg64SV79JioM61r 20 | gjaQbGwe38VdPqECOm897tntOncxtyvCIDdwRgyNNOv6XttSLvC1qwgZmevrBMOa 21 | vf1Befeqv8ZGmw5BfcTf0mmPi59HtS6rcQBYJOJ2V3zhwnry0o25w8bI7JOaMb0s 22 | QRXgOsp8fOvK5hVFk5NGVpOtZZ1f3ldwf1Uflx6YE/aFvR+DJh/rpYmOk92+g7kw 23 | c9gqyaubsrrt8XA7SFeMDCw5JZPz2X8OA0xQguu+zdxtOxQ5BO7qdBaOTub5+Xf/ 24 | UJ9SnB3TbVfxjBQP+rAHYoBHbXsb5eZDtJAYmZQxiGESgsaTgFHtbiS7szSoiUye 25 | Kwtz03bIaJqZzxqFwSB88vQzhnK7onsdxnPsVR/bGeSck//AhvEQMeF+Nfj3w3RY 26 | o9PtQAFMhSfTZssDRDepz9O1Jjzai9NeNvz+hIhSHh9CtU53ZKJppmbSkUVG8a8d 27 | j9qIX4pbUsxldOtiFVwr58S7A6sSFr8M6jl5LZUT51I6g6R3OWUhehA9nfJlJLTN 28 | S6ZvJYKDwbZa/7SLcc8FWa6V0aJQ0zXE9of2fw9kQTtCx+KvEg60sbu187Rth/Yj 29 | OLtpLYaj2O/uozE4kBY6O3d2xW7ReAP05ao1ztRFPufiX1AwJzhDr6UPxYJx/UR5 30 | xaWAt1Hyu/GXHISkkDlo 31 | -----END CERTIFICATE----- 32 | -------------------------------------------------------------------------------- /conf/local.conf: -------------------------------------------------------------------------------- 1 | # CONF_VERSION is increased each time build/conf/ changes incompatibly 2 | CONF_VERSION = "2" 3 | 4 | # Which files do we want to parse: 5 | BBMASK = "" 6 | 7 | # Don't generate the mirror tarball for SCM repos, the snapshot is enough 8 | BB_GENERATE_MIRROR_TARBALLS = "0" 9 | 10 | # Disable build time patch resolution. This would launch a devshell 11 | # and wait for manual intervention. We disable it. 12 | PATCHRESOLVE = "noop" 13 | 14 | # 15 | # Parallelism Options 16 | # 17 | # These two options control how much parallelism BitBake should use. The first 18 | # option determines how many tasks bitbake should run in parallel: 19 | # Default to setting automatically based on cpu count 20 | BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}" 21 | # 22 | # The second option controls how many processes make should run in parallel 23 | # when running compile tasks: 24 | # Default to setting automatically based on cpu count 25 | PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}" 26 | 27 | # 28 | # Shared-state files from other locations 29 | # 30 | # Shared state files are prebuilt cache data objects which can 31 | # used to accelerate build time. This variable can be used to configure the 32 | # system to search other mirror locations for these objects before it builds 33 | # the data itself. 34 | # 35 | # This can be a filesystem directory, or a remote url such as http or ftp. 36 | # These would contain the sstate-cache results from previous builds (possibly 37 | # from other machines). This variable works like fetcher MIRRORS/PREMIRRORS 38 | # and points to the cache locations to check for the shared objects. 39 | #SSTATE_MIRRORS ?= "\ 40 | #file://.* https://storage.googleapis.com/lmp-cache/sstate-cache/PATH \n \ 41 | #" 42 | 43 | # enable PR service on build machine itself 44 | # its good for a case when this is the only builder 45 | # generating the feeds 46 | #PRSERV_HOST = "localhost:0" 47 | 48 | # 49 | # Default kernel provider 50 | # 51 | # The default kernel provider in the Linux microPlatform is 'linux-lmp', but 52 | # if you wish to use the kernel provided by the board BSP layer, or your own 53 | # kernel, replace the line below with the recipe name used by the desired 54 | # kernel provider. 55 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-lmp" 56 | 57 | # By default LmP kernel is configured to load only signed modules. 58 | # The default key provided should only be used for development purposes. 59 | # To create a custom signing key, follow the instructions on kernel documentation. 60 | MODSIGN_KEY_DIR ?= "${TOPDIR}/conf/keys" 61 | MODSIGN_KEY_DIR[vardepsexclude] += "TOPDIR" 62 | 63 | # 64 | # SPL / U-Boot proper signing support 65 | # 66 | # Supported key type: RSA 2048 67 | UBOOT_SPL_SIGN_KEYNAME ?= "spldev" 68 | # 69 | # U-Boot / fitImage signing support 70 | # 71 | # Supported key type: RSA 2048 72 | UBOOT_SIGN_KEYDIR ??= "${TOPDIR}/conf/keys" 73 | UBOOT_SIGN_KEYDIR[vardepsexclude] += "TOPDIR" 74 | UBOOT_SIGN_KEYNAME ?= "ubootdev" 75 | #UBOOT_SIGN_ENABLE ?= "1" 76 | 77 | # 78 | # OP-TEE: Custom TA signing key 79 | # 80 | # By default OP-TEE uses a development tree available as part of the git 81 | # repository, which should only be used for development purposes. To use a 82 | # custom signing key just generate a custom RSA 2048 key (PEM format) and 83 | # set via the OPTEE_TA_SIGN_KEY variable. 84 | OPTEE_TA_SIGN_KEY ??= "${TOPDIR}/conf/keys/opteedev.key" 85 | OPTEE_TA_SIGN_KEY[vardepsexclude] += "TOPDIR" 86 | 87 | # 88 | # TF-A Trusted Boot 89 | # 90 | # Supported key type: ECDSA (prime256v1) 91 | TF_A_SIGN_KEY_PATH ??= "${TOPDIR}/conf/keys/tf-a/privkey_ec_prime256v1.pem" 92 | TF_A_SIGN_KEY_PATH[vardepsexclude] += "TOPDIR" 93 | #TF_A_SIGN_ENABLE ?= "1" 94 | 95 | # 96 | # UEFI Secure Boot 97 | # 98 | # Folder for UEFI keys and certificates 99 | UEFI_SIGN_KEYDIR ??= "${TOPDIR}/conf/keys/uefi" 100 | UEFI_SIGN_KEYDIR[vardepsexclude] += "TOPDIR" 101 | #UEFI_SIGN_ENABLE ?= "1" 102 | 103 | # 104 | # Fix Code Aurora mirrors 105 | # 106 | # Revert v90 107 | MIRRORS += " \ 108 | git://source.codeaurora.org/external/imx/ git://github.com/nxp-imx/ \n \ 109 | https://source.codeaurora.org/external/imx/ https://github.com/nxp-imx/ \n \ 110 | http://source.codeaurora.org/external/imx/ http://github.com/nxp-imx/ \n \ 111 | gitsm://source.codeaurora.org/external/imx/ gitsm://github.com/nxp-imx/ \n \ 112 | " 113 | 114 | # Use gcc for some packages 115 | TOOLCHAIN:pn-imx-vpu-hantro = "gcc" 116 | TOOLCHAIN:pn-bayer2rgb = "gcc" 117 | TOOLCHAIN:pn-gstreamer1.0-bayer2rgb-neon = "gcc" 118 | 119 | -------------------------------------------------------------------------------- /conf/update-manifest.conf: -------------------------------------------------------------------------------- 1 | URL=https://github.com/arduino/lmp-manifest 2 | PREFIX=arduino 3 | -------------------------------------------------------------------------------- /default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /entrypoint: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | : ' 4 | MIT License 5 | 6 | Copyright (c) 2022 Foundries.io 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all 16 | copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | SOFTWARE. 25 | ' 26 | 27 | set -e 28 | set -u 29 | 30 | : "${UID:=0}" 31 | : "${GID:=${UID}}" 32 | 33 | if [ "$#" = 0 ]; then 34 | set -- "$(command -v bash 2>/dev/null || command -v sh)" -l 35 | fi 36 | 37 | if [ "$UID" != 0 ]; then 38 | usermod -u "$UID" "@@DOCKER_USER@@" 2>/dev/null && { 39 | groupmod -g "$GID" "@@DOCKER_USER@@" 2>/dev/null || 40 | usermod -a -G "$GID" "@@DOCKER_USER@@" 41 | } 42 | set -- gosu "${UID}:${GID}" "${@}" 43 | fi 44 | 45 | exec "$@" 46 | -------------------------------------------------------------------------------- /lmp-base.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /lmp-bsp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /setup-environment: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # -*- mode: shell-script-mode; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- 3 | # 4 | # Copyright (C) 2012-13 O.S. Systems Software LTDA. 5 | # Authored-by: Otavio Salvador 6 | # Adopted to Angstrom: Khem Raj 7 | # 8 | # This program is free software; you can redistribute it and/or modify 9 | # it under the terms of the GNU General Public License version 2 as 10 | # published by the Free Software Foundation. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU General Public License along 18 | # with this program; if not, write to the Free Software Foundation, Inc., 19 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | . .repo/manifests/setup-environment-internal 22 | -------------------------------------------------------------------------------- /setup-environment-internal: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # -*- mode: shell-script-mode; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- 3 | # 4 | # Copyright (C) 2012-13 O.S. Systems Software LTDA. 5 | # Copyright (C) 2017-2018 Foundries.io 6 | # Authored-by: Otavio Salvador 7 | # Adopted to Angstrom: Khem Raj 8 | # 9 | # This program is free software; you can redistribute it and/or modify 10 | # it under the terms of the GNU General Public License version 2 as 11 | # published by the Free Software Foundation. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License along 19 | # with this program; if not, write to the Free Software Foundation, Inc., 20 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | env_cleanup() { 23 | unset MACHINETABLE MACHLAYERS DISTRO_DIRNAME OEROOT 24 | unset ITEM MANIFESTS EULA EULA_MACHINE REPLY READ_EULA 25 | unset usage oldmach 26 | 27 | if [ -n "$BUILDDIR" ]; then 28 | export BUILDDIR 29 | fi 30 | } 31 | trap env_cleanup RETURN 32 | 33 | if [ "$(whoami)" = "root" ]; then 34 | echo "ERROR: do not build LMP as root. Exiting..." 35 | return 36 | fi 37 | 38 | OEROOT=$(pwd) 39 | cd "$OEROOT" 40 | if [ -n "$ZSH_VERSION" ]; then 41 | setopt sh_word_split 42 | setopt clobber 43 | elif [ -n "$BASH_VERSION" ]; then 44 | set +o noclobber 45 | fi 46 | 47 | # Set default distro to Linux microPlatform 48 | DISTRO="${DISTRO-lmp}" 49 | 50 | usage () { 51 | cat <] source ${BASH_SOURCE[0]} [BUILDDIR] 54 | 55 | If no MACHINE is set, list all possible machines, and ask user to choose. 56 | If no BUILDIR is set, it will be set to build-$DISTRO. 57 | 58 | EOF 59 | } 60 | 61 | if [ $# -gt 1 ]; then 62 | usage 63 | return 1 64 | fi 65 | 66 | # Create a common list of "()", sorted by 67 | # Blacklist OE-core and meta-linaro, we only want BSP layers 68 | MACHLAYERS=$(find layers -print | grep "conf/machine/.*\.conf" | 69 | grep -v scripts | grep -v openembedded-core | grep -v meta-linaro | 70 | sed -e 's/\.conf//g' -e 's/layers\///' | 71 | awk -F'/conf/machine/' '{print $NF "(" $1 ")"}' | LANG=C sort) 72 | 73 | if [ -z "${MACHINE}" ]; then 74 | # whiptail 75 | which whiptail > /dev/null 2>&1 76 | if [ $? -eq 0 ]; then 77 | MACHINETABLE= 78 | for ITEM in $MACHLAYERS; do 79 | MACHINETABLE="${MACHINETABLE} $(echo "$ITEM" | cut -d'(' -f1) \ 80 | $(echo "$ITEM" | cut -d'(' -f2 | cut -d')' -f1)" 81 | done 82 | MACHINE=$(whiptail --title "Available Machines" --menu \ 83 | "Please choose a machine" 0 0 20 \ 84 | ${MACHINETABLE} 3>&1 1>&2 2>&3) 85 | fi 86 | 87 | # dialog 88 | if [ -z "$MACHINE" ]; then 89 | which dialog > /dev/null 2>&1 90 | if [ $? -eq 0 ]; then 91 | MACHINETABLE= 92 | for ITEM in $MACHLAYERS; do 93 | MACHINETABLE="$MACHINETABLE $(echo "$ITEM" | cut -d'(' -f1) \ 94 | $(echo "$ITEM" | cut -d'(' -f2 | cut -d')' -f1)" 95 | done 96 | MACHINE=$(dialog --title "Available Machines" --menu \ 97 | "Please choose a machine" 0 0 20 $MACHINETABLE \ 98 | 3>&1 1>&2 2>&3) 99 | fi 100 | fi 101 | fi 102 | 103 | # guard against Ctrl-D or cancel 104 | if [ -z "$MACHINE" ]; then 105 | echo "To choose a machine interactively please install whiptail or dialog." 106 | echo "To choose a machine non-interactively please use the following:" 107 | echo " MACHINE= . ./setup-environment" 108 | echo "" 109 | echo "Press to see a list of your choices" 110 | read -r 111 | echo "$MACHLAYERS" | sed -e 's/(/ (/g' | sed -e 's/)/)\n/g' | 112 | sed -e 's/^ */\t/g' 113 | return 114 | fi 115 | 116 | if [ -z "${SDKMACHINE}" ]; then 117 | SDKMACHINE='x86_64' 118 | fi 119 | 120 | MANIFESTS="${OEROOT}"/.repo/manifests 121 | 122 | # We can be called with only 1 parameter max (build folder) 123 | BUILDDIR=build-$DISTRO 124 | if [ $# -eq 1 ]; then 125 | BUILDDIR=$1 126 | fi 127 | BUILDDIR=$OEROOT/$BUILDDIR 128 | 129 | # Clean up PATH, because if it includes tokens to current directories somehow, 130 | # wrong binaries can be used instead of the expected ones during task execution 131 | export PATH=$(echo "${PATH}" | sed 's/\(:.\|:\)*:/:/g;s/^.\?://;s/:.\?$//') 132 | export PATH="${OEROOT}/bitbake/bin:${OEROOT}/.repo/repo:${PATH}" 133 | export PATH="${OEROOT}/layers/openembedded-core/scripts:${PATH}" 134 | # Remove duplicate path entries 135 | export PATH=$(echo "$PATH" | 136 | awk -F: '{for (i=1;i<=NF;i++) { if ( !x[$i]++ ) printf("%s:",$i); }}' | 137 | sed 's/:$//') 138 | # Make sure Bitbake doesn't filter out the following variables from our env 139 | export BB_ENV_PASSTHROUGH_ADDITIONS="MACHINE DISTRO TCLIBC TCMODE GIT_PROXY_COMMAND \ 140 | http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy \ 141 | SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE \ 142 | BB_NUMBER_THREADS BB_LOGCONFIG BB_CONSOLELOG" 143 | 144 | mkdir -p "${BUILDDIR}"/conf && cd "${BUILDDIR}" 145 | if [ -f "conf/auto.conf" ]; then 146 | oldmach=$(grep -E "^MACHINE" "conf/auto.conf" | 147 | sed -e 's%^MACHINE ?= %%' | sed -e 's/^"//' -e 's/"$//') 148 | fi 149 | 150 | if [ -e conf/checksum -a "${MACHINE}" = "$oldmach" ]; then 151 | sha512sum --quiet -c conf/checksum > /dev/null 2>&1 152 | if [ $? -eq 0 ]; then 153 | return 154 | fi 155 | fi 156 | 157 | # Evaluate new checksum and regenerate the conf files 158 | sha512sum "${MANIFESTS}"/setup-environment-internal 2>&1 > conf/checksum 159 | 160 | if [ ! -f "conf/local.conf" ]; then 161 | cp "${MANIFESTS}"/conf/local.conf conf/local.conf 162 | fi 163 | # Copy default development keys if not set by the user 164 | mkdir -p conf/keys 165 | if [ ! -f "conf/keys/dev.key" -a ! -f "conf/keys/dev.crt" ]; then 166 | ln -sf "${MANIFESTS}"/conf/keys/dev.key conf/keys/dev.key 167 | ln -sf "${MANIFESTS}"/conf/keys/dev.crt conf/keys/dev.crt 168 | fi 169 | # Copy default SPL development keys if not set by the user 170 | if [ ! -f "conf/keys/spldev.key" -a ! -f "conf/keys/spldev.crt" ]; then 171 | ln -sf "${MANIFESTS}"/conf/keys/spldev.key conf/keys/spldev.key 172 | ln -sf "${MANIFESTS}"/conf/keys/spldev.crt conf/keys/spldev.crt 173 | fi 174 | # Copy default u-boot development keys if not set by the user 175 | if [ ! -f "conf/keys/ubootdev.key" -a ! -f "conf/keys/ubootdev.crt" ]; then 176 | ln -sf "${MANIFESTS}"/conf/keys/ubootdev.key conf/keys/ubootdev.key 177 | ln -sf "${MANIFESTS}"/conf/keys/ubootdev.crt conf/keys/ubootdev.crt 178 | fi 179 | # Copy default optee development keys if not set by the user 180 | if [ ! -f "conf/keys/opteedev.key" -a ! -f "conf/keys/opteedev.crt" ]; then 181 | ln -sf "${MANIFESTS}"/conf/keys/opteedev.key conf/keys/opteedev.key 182 | ln -sf "${MANIFESTS}"/conf/keys/opteedev.crt conf/keys/opteedev.crt 183 | fi 184 | # Copy default module kernel development keys if not set by the user 185 | if [ ! -f "conf/keys/privkey_modsign.pem" -a ! -f "conf/keys/x509_modsign.crt" ]; then 186 | ln -sf "${MANIFESTS}"/conf/keys/privkey_modsign.pem conf/keys/privkey_modsign.pem 187 | ln -sf "${MANIFESTS}"/conf/keys/x509_modsign.crt conf/keys/x509_modsign.crt 188 | fi 189 | # Link default TF-A development keys if not set by the user 190 | if [ ! -d "conf/keys/tf-a" ]; then 191 | ln -sf "${MANIFESTS}"/conf/keys/tf-a conf/keys/tf-a 192 | fi 193 | # Link default UEFI development keys and certificates if not set by the user 194 | if [ ! -d "conf/keys/uefi" ]; then 195 | ln -sf "${MANIFESTS}"/conf/keys/uefi conf/keys/uefi 196 | fi 197 | 198 | # Factory specific keys (unique per factory) 199 | if [ -d "${MANIFESTS}"/factory-keys ]; then 200 | mkdir -p conf/factory-keys 201 | # Copy default factory SPL development keys if not set by the user 202 | if [ ! -f "conf/factory-keys/spldev.key" -a ! -f "conf/factory-keys/spldev.crt" ]; then 203 | ln -sf "${MANIFESTS}"/factory-keys/spldev.key conf/factory-keys/spldev.key 204 | ln -sf "${MANIFESTS}"/factory-keys/spldev.crt conf/factory-keys/spldev.crt 205 | fi 206 | # Copy default factory u-boot development keys if not set by the user 207 | if [ ! -f "conf/factory-keys/ubootdev.key" -a ! -f "conf/factory-keys/ubootdev.crt" ]; then 208 | ln -sf "${MANIFESTS}"/factory-keys/ubootdev.key conf/factory-keys/ubootdev.key 209 | ln -sf "${MANIFESTS}"/factory-keys/ubootdev.crt conf/factory-keys/ubootdev.crt 210 | fi 211 | # Copy default factory optee development keys if not set by the user 212 | if [ ! -f "conf/factory-keys/opteedev.key" -a ! -f "conf/factory-keys/opteedev.crt" ]; then 213 | ln -sf "${MANIFESTS}"/factory-keys/opteedev.key conf/factory-keys/opteedev.key 214 | ln -sf "${MANIFESTS}"/factory-keys/opteedev.crt conf/factory-keys/opteedev.crt 215 | fi 216 | # Copy default factory module kernel development keys if not set by the user 217 | if [ ! -f "conf/factory-keys/privkey_modsign.pem" -a ! -f "conf/factory-keys/x509_modsign.crt" ]; then 218 | ln -sf "${MANIFESTS}"/factory-keys/privkey_modsign.pem conf/factory-keys/privkey_modsign.pem 219 | ln -sf "${MANIFESTS}"/factory-keys/x509_modsign.crt conf/factory-keys/x509_modsign.crt 220 | fi 221 | # Link custom TF-A development keys set by the user 222 | if [ -d "${MANIFESTS}"/factory-keys/tf-a -a ! -d "conf/factory-keys/tf-a" ]; then 223 | ln -sf "${MANIFESTS}"/factory-keys/tf-a conf/factory-keys/tf-a 224 | fi 225 | # Link custom UEFI development keys and certificates set by the user 226 | if [ -d "${MANIFESTS}"/factory-keys/uefi -a ! -d "conf/factory-keys/uefi" ]; then 227 | ln -sf "${MANIFESTS}"/factory-keys/uefi conf/factory-keys/uefi 228 | fi 229 | fi 230 | 231 | # Link default iMX HAB4 development keys and certificate if not set by the user 232 | if [ ! -e "conf/keys/imx_hab4" ]; then 233 | ln -sf ${OEROOT}/tools/lmp-tools/security/imx_hab4 conf/keys/imx_hab4 234 | fi 235 | ln -sf "${MANIFESTS}"/conf/bblayers.conf conf/bblayers.conf 236 | ln -sf "${MANIFESTS}"/conf/bblayers-base.inc conf/bblayers-base.inc 237 | ln -sf "${MANIFESTS}"/conf/bblayers-bsp.inc conf/bblayers-bsp.inc 238 | if [ -f "${MANIFESTS}"/conf/bblayers-factory.inc ]; then 239 | ln -sf "${MANIFESTS}"/conf/bblayers-factory.inc conf/bblayers-factory.inc 240 | fi 241 | if [ -f "${MANIFESTS}"/conf/bblayers-partner.inc ]; then 242 | ln -sf "${MANIFESTS}"/conf/bblayers-partner.inc conf/bblayers-partner.inc 243 | fi 244 | ln -sf "${MANIFESTS}"/README.md README.md 245 | 246 | ln -sf "${MANIFESTS}" "${OEROOT}"/layers/ 247 | 248 | DISTRO_DIRNAME=$(echo "${DISTRO}" | sed 's#[.-]#_#g') 249 | 250 | if [ -z "$LMP_VERSION_CACHE" ]; then 251 | LMP_VERSION_CACHE="$(git --git-dir ${MANIFESTS}/.git describe HEAD --tags --abbrev=0)" 252 | if [ -v LMP_VERSION_CACHE_DEV ]; then 253 | # to use the development version of the cache the user need to define the LMP_VERSION_CACHE_DEV env 254 | LMP_VERSION_CACHE=$(( $LMP_VERSION_CACHE + 1 )) 255 | fi 256 | fi 257 | 258 | cat > conf/auto.conf < conf/site.conf <<_EOF 275 | SCONF_VERSION = "1" 276 | 277 | # Where to store sources 278 | DL_DIR ?= "${OEROOT}/downloads" 279 | 280 | # Where to save shared state 281 | SSTATE_DIR ?= "${OEROOT}/sstate-cache" 282 | 283 | # Where to save the build system work output 284 | TMPDIR = "${BUILDDIR}/tmp-${DISTRO_DIRNAME}" 285 | 286 | # Where to save the packages and images 287 | DEPLOY_DIR = "${BUILDDIR}/deploy" 288 | 289 | # Go through the Firewall 290 | #HTTP_PROXY = "http://${PROXYHOST}:${PROXYPORT}/" 291 | _EOF 292 | 293 | # LmP default mirrors cache location 294 | LMP_LOCAL_SSTATE_MIRRORS="${LMP_LOCAL_SSTATE_MIRRORS:-/yocto/lmp/cache/sstate-mirrors}" 295 | LMP_LOCAL_PRE_MIRRORS="${LMP_LOCAL_PRE_MIRRORS:-/yocto/lmp/cache/downloads-mirrors}" 296 | 297 | if [ -d "${LMP_LOCAL_SSTATE_MIRRORS}" ]; then 298 | cat >> conf/site.conf <<_EOF 299 | 300 | # State cache mirror is available locally on the file system 301 | SSTATE_MIRRORS += "file://.* file://${LMP_LOCAL_SSTATE_MIRRORS}/PATH" 302 | _EOF 303 | fi 304 | 305 | if [ -d "${LMP_LOCAL_PRE_MIRRORS}" ]; then 306 | cat >> conf/site.conf <<_EOF 307 | 308 | # Download mirror is available locally on the file system 309 | PREMIRRORS += " \ 310 | git://.*/.* file://${LMP_LOCAL_PRE_MIRRORS} \ 311 | ftp://.*/.* file://${LMP_LOCAL_PRE_MIRRORS} \ 312 | http://.*/.* file://${LMP_LOCAL_PRE_MIRRORS} \ 313 | https://.*/.* file://${LMP_LOCAL_PRE_MIRRORS} \ 314 | " 315 | _EOF 316 | fi 317 | fi 318 | 319 | # Handle EULA , if needed. This is a generic method to handle BSPs 320 | # that might (or not) come with a EULA. If a machine has a EULA, we 321 | # assume that its corresponding layers has conf/EULA/$MACHINE file 322 | # with the EULA text, which we will display to the user and request 323 | # for acceptance. If accepted, the variable ACCEPT_EULA:$MACHINE is 324 | # set to 1 in auto.conf, which can later be used by the BSP. 325 | # If the env variable EULA_$MACHINE is set it is used by default, 326 | # without prompting the user. 327 | # FIXME: there is a potential issue if the same $MACHINE is set in 328 | # more than one layer.. but we should assert that earlier 329 | EULA=$(find ../layers -path "*/conf/eula/$MACHINE" -print | grep -v scripts | 330 | grep -v openembedded-core | grep -v meta-linaro || true) 331 | 332 | if [ -n "$EULA" ]; then 333 | # remove '-' since we are constructing a bash variable name here 334 | EULA_MACHINE="EULA_$(echo "$MACHINE" | sed 's/-//g')" 335 | 336 | # NOTE: indirect reference / dynamic variable 337 | if [ -n "${!EULA_MACHINE}" ]; then 338 | # the EULA_$MACHINE variable is set in the environment, so we just 339 | # configure # ACCEPT_EULA:$MACHINE in auto.conf 340 | echo "ACCEPT_EULA:$MACHINE = \"${!EULA_MACHINE}\"" >> conf/auto.conf 341 | else 342 | # so we need to ask user if he/she accepts the EULA: 343 | cat <> conf/auto.conf 380 | ;; 381 | n|N) 382 | echo "EULA has not been accepted." 383 | ;; 384 | *) 385 | REPLY= 386 | ;; 387 | esac 388 | done 389 | fi 390 | fi 391 | fi 392 | 393 | cat <' 409 | 410 | Some common targets are: 411 | EOF 412 | 413 | if [ "${DISTRO}" = 'lmp-mfgtool' ]; then 414 | cat <