# Debian arm64 NFS, initramfs, modules and dtbs - job: name: lava-debian-stretch-arm64 project-type: freestyle defaults: global logrotate: daysToKeep: 14 numToKeep: 5 properties: - authorization: anonymous: - job-read - job-extended-read platform-leads: - job-build - job-cancel disabled: false node: docker-jessie-amd64 display-name: 'LAVA - Build ARM64 Debian Stretch files' wrappers: - timestamps builders: - linaro-publish-token - shell: | #!/bin/bash mkdir out cd out/ echo "deb http://mirror.bytemark.co.uk/debian jessie-backports main" > jessie-backports.list sudo mv jessie-backports.list /etc/apt/sources.list.d/ sudo apt-get update sudo DEBIAN_FRONTEND=noninteractive apt -q -y -t jessie-backports install qemu-user-static debootstrap sudo DEBIAN_FRONTEND=noninteractive apt -q -y install python-guestfs wget https://git.linaro.org/lava-team/refactoring.git/blob_plain/HEAD:/scripts/build-foreign-nfs.sh wget https://git.linaro.org/lava-team/refactoring.git/blob_plain/HEAD:/scripts/build-foreign-image.sh wget https://git.linaro.org/lava-team/refactoring.git/blob_plain/HEAD:/scripts/guest-img.py chmod 744 ./build-foreign-nfs.sh chmod 744 ./build-foreign-image.sh sudo ./build-foreign-nfs.sh -a arm64 -b /usr/bin/qemu-aarch64-static -d stretch sudo ./build-foreign-image.sh -a arm64 -b /usr/bin/qemu-aarch64-static -d stretch cd .. cat > ${WORKSPACE}/out/debian-arm64-readme.html <
            lava-debian-stretch-arm64 build instructions
            ========================================

            This initramfs is built using update-initramfs inside a minimal
            Debian Unstable debootstrap chroot. The contents of the chroot is
            then packaged up as an NFS with an empty root password.

            apt is included in the NFS, as are bash, grep, iproute2, mawk and
            sed. The NFS uses the default init in unstable: systemd.

            The Debian ARM64 kernel is a modular build and the modules
            need to be available in the initramfs for the kernel to be
            able to mount the NFS. The initramfs does not have DNS
            support.

            A similar chroot is created with systemd-sysv added. The chroot is
            unpacked into an empty ext2 primary partition of an image:
            stretch-arm64.img The UUID of the partition is available as
            stretch-arm64.img.uuid.txt and should be appended to the kernel command
            line using the root= argument when testing the image using QEMU in
            LAVA to ensure that the correct drive is booted. The image has
            systemd-networkd and systemd-resolved enabled to use DHCP on the
            primary network interface.

            When using the image and the UUID, ensure that you also use the
            checksums to ensure that the UUID matches the files being
            downloaded.

            https://ci.linaro.org/view/lava-ci/job/lava-debian-stretch-arm64/

            The scripts used by jenkins are available here:
            https://git.linaro.org/lava-team/refactoring.git/tree/HEAD:/scripts

            https://git.linaro.org/ci/job/configs.git/blob/HEAD:/lava-debian-stretch-arm64.yaml
            The base system is a Debian Unstable VM.

            The NFS rootfs and the image both use a prompt of "root@stretch:" and
            the same auto login details:
                auto_login:
                    login_prompt: 'login:'
                    username: root

            
EOF # Publish test -d ${HOME}/bin || mkdir ${HOME}/bin wget -q https://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py -O ${HOME}/bin/linaro-cp.py time python ${HOME}/bin/linaro-cp.py --api_version 3 out components/lava/standard/debian/stretch/arm64/${BUILD_NUMBER} publishers: # - archive: # artifacts: 'out/*' - email: recipients: 'neil.williams@linaro.org fathi.boudra@linaro.org'