aboutsummaryrefslogtreecommitdiff
path: root/lt-qcom-bootloader
diff options
context:
space:
mode:
authorNicolas Dechesne <nicolas.dechesne@linaro.org>2017-02-24 15:02:13 +0100
committerNicolas Dechesne <nicolas.dechesne@linaro.org>2017-02-27 16:09:43 +0100
commit4613258ab0e744b4a92d65619fc77e8614d48a2b (patch)
tree8f91c3071ab872fd832d7ce647d5bb0c5198aecb /lt-qcom-bootloader
parentf5f9c7ce5336417f9059f85bcdbc941be855e279 (diff)
lt-qcom*: major cleanup in all the jobs
* removed all 'tracking' jobs, they are not used well for now, we will recreate them in a better and more useful way later, when testing is in place * rename all images job to start with lt-qcom-debian-images-xxx * rename all bootloader jobs to start with lt-qcom-bootloader * moved all helper scripts in common folder, they will be factorized later Change-Id: I92f5bfae9dd880ec3fca3e095473fbbf82c926a7 Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Diffstat (limited to 'lt-qcom-bootloader')
-rw-r--r--lt-qcom-bootloader/dragonboard410c/builders.sh132
-rw-r--r--lt-qcom-bootloader/dragonboard820c/build-info.txt5
-rw-r--r--lt-qcom-bootloader/dragonboard820c/builders.sh98
3 files changed, 235 insertions, 0 deletions
diff --git a/lt-qcom-bootloader/dragonboard410c/builders.sh b/lt-qcom-bootloader/dragonboard410c/builders.sh
new file mode 100644
index 0000000000..cbe7f9b43a
--- /dev/null
+++ b/lt-qcom-bootloader/dragonboard410c/builders.sh
@@ -0,0 +1,132 @@
+#!/bin/bash
+set -ex
+
+sudo apt-get update
+sudo apt-get install -y zip gdisk
+
+# download the firmware packages
+wget -q ${QCOM_LINUX_FIRMWARE}
+wget -q ${QCOM_ANDROID_FIRMWARE}
+wget -q ${QCOM_ANDROID_FIRMWARE_OLD}
+echo "${QCOM_LINUX_FIRMWARE_MD5} $(basename ${QCOM_LINUX_FIRMWARE})" > MD5
+echo "${QCOM_ANDROID_FIRMWARE_MD5} $(basename ${QCOM_ANDROID_FIRMWARE})" >> MD5
+echo "${QCOM_ANDROID_FIRMWARE_OLD_MD5} $(basename ${QCOM_ANDROID_FIRMWARE_OLD})" >> MD5
+md5sum -c MD5
+
+unzip -j -d bootloaders-android $(basename ${QCOM_ANDROID_FIRMWARE})
+unzip -j -d bootloaders-android-old $(basename ${QCOM_ANDROID_FIRMWARE_OLD})
+unzip -j -d bootloaders-linux $(basename ${QCOM_LINUX_FIRMWARE}) "*/bootloaders-linux/*"
+
+# Get the Android compiler
+git clone ${LK_GCC_GIT} --depth 1 -b ${LK_GCC_REL} android-gcc
+
+# get the signing tools
+git clone --depth 1 https://git.linaro.org/landing-teams/working/qualcomm/signlk.git
+
+# Build all needed flavors of LK
+git clone --depth 1 ${LK_GIT_LINARO} -b ${LK_GIT_REL_SD_RESCUE} lk_sdrescue
+git clone --depth 1 ${LK_GIT_LINARO} -b ${LK_GIT_REL_SD_BOOT} lk_sd_boot
+git clone --depth 1 ${LK_GIT_LINARO} -b ${LK_GIT_REL_EMMC_BOOT} lk_emmc_boot
+
+for lk in lk_sdrescue lk_sd_boot lk_emmc_boot; do
+ echo "Building LK in : $lk"
+ cd $lk
+ git log -1
+ make -j4 msm8916 EMMC_BOOT=1 TOOLCHAIN_PREFIX=${WORKSPACE}/android-gcc/bin/arm-eabi-
+ mv build-msm8916/emmc_appsboot.mbn build-msm8916/emmc_appsboot_unsigned.mbn
+ ../signlk/signlk.sh -i=./build-msm8916/emmc_appsboot_unsigned.mbn -o=./build-msm8916/emmc_appsboot.mbn -d
+ cd -
+done
+
+mkdir -p out/dragonboard410c_sdcard_rescue \
+ out/dragonboard410c_bootloader_sd_linux \
+ out/dragonboard410c_bootloader_emmc_linux \
+ out/dragonboard410c_bootloader_emmc_android
+
+# get license.txt file
+wget https://git.linaro.org/landing-teams/working/qualcomm/lt-docs.git/blob_plain/HEAD:/license/license.txt
+
+# bootloader_emmc_linux
+cp -a license.txt \
+ dragonboard410c/linux/flashall \
+ lk_emmc_boot/build-msm8916/emmc_appsboot.mbn \
+ bootloaders-linux/{NON-HLOS.bin,rpm.mbn,sbl1.mbn,tz.mbn,tz-psci.mbn,hyp.mbn} \
+ out/dragonboard410c_bootloader_emmc_linux
+
+# no need to set the eMMC size here. Fastboot will patch the last partition and grow it until last sector
+sudo ./mksdcard -x -g -o gpt.img -p dragonboard410c/linux/partitions.txt
+sudo sgdisk -bgpt.bin gpt.img
+./mkgpt -d -i gpt.bin -o out/dragonboard410c_bootloader_emmc_linux/gpt_both0.bin
+
+# bootloader_emmc_android
+cp -a license.txt \
+ dragonboard410c/android/flashall \
+ dragonboard410c/android/emmc_appsboot.mbn \
+ bootloaders-android-old/sbl1.mbn \
+ bootloaders-android/{NON-HLOS.bin,rpm.mbn,tz.mbn,hyp.mbn} \
+ out/dragonboard410c_bootloader_emmc_android
+
+# no need to set the eMMC size here. Fastboot will patch the last partition and grow it until last sector
+sudo ./mksdcard -x -g -o gpt.img -p dragonboard410c/android/partitions.txt
+sudo sgdisk -bgpt.bin gpt.img
+./mkgpt -d -i gpt.bin -o out/dragonboard410c_bootloader_emmc_android/gpt_both0.bin
+
+# bootloader_sd_linux
+cp -a license.txt \
+ lk_sd_boot/build-msm8916/emmc_appsboot.mbn \
+ bootloaders-linux/{NON-HLOS.bin,rpm.mbn,sbl1.mbn,tz.mbn,tz-psci.mbn,hyp.mbn} \
+ out/dragonboard410c_bootloader_sd_linux
+
+# sdcard_rescue
+cp -a license.txt out/dragonboard410c_sdcard_rescue
+sudo ./mksdcard -x -p dragonboard410c/linux/sdrescue.txt \
+ -o out/dragonboard410c_sdcard_rescue/db410c_sd_rescue.img \
+ -i lk_sdrescue/build-msm8916/ \
+ -i bootloaders-linux/
+
+# Create MD5SUMS file
+for i in dragonboard410c_sdcard_rescue dragonboard410c_bootloader_sd_linux \
+ dragonboard410c_bootloader_emmc_linux dragonboard410c_bootloader_emmc_android; do
+ (cd out/$i && md5sum * > MD5SUMS.txt)
+done
+
+# Final preparation of archives for publishing
+mkdir out2
+zip -rj out2/dragonboard410c_sdcard_rescue-${BUILD_NUMBER}.zip out/dragonboard410c_sdcard_rescue
+zip -rj out2/dragonboard410c_bootloader_emmc_linux-${BUILD_NUMBER}.zip out/dragonboard410c_bootloader_emmc_linux
+zip -rj out2/dragonboard410c_bootloader_emmc_android-${BUILD_NUMBER}.zip out/dragonboard410c_bootloader_emmc_android
+zip -rj out2/dragonboard410c_bootloader_sd_linux-${BUILD_NUMBER}.zip out/dragonboard410c_bootloader_sd_linux
+
+# Create MD5SUMS file
+(cd out2 && md5sum * > MD5SUMS.txt)
+
+# Build information
+cat > out2/HEADER.textile << EOF
+
+h4. Bootloaders for Dragonboard 410c
+
+This page provides the bootloaders packages for the Dragonboard 410c. There are several packages:
+* *sdcard_rescue* : an SD card image that can be used to boot from SD card, and rescue a board when the onboard eMMC is empty or corrupted
+* *bootloader_emmc_linux* : includes the bootloaders and partition table (GPT) used when booting Linux images from onboard eMMC
+* *bootloader_emmc_android* : includes the bootloaders and partition table (GPT) used when booting Android images from onboard eMMC
+* *bootloader_sd_linux* : includes the bootloaders and partition table (GPT) used when booting Linux images from SD card
+
+Build description:
+* Build URL: "$BUILD_URL":$BUILD_URL
+* Proprietary bootloaders can be found on "Qualcomm Developer Network":https://developer.qualcomm.com/hardware/dragonboard-410c/tools
+* Android proprietary bootloaders package: $(basename ${QCOM_ANDROID_FIRMWARE})
+* Linux proprietary bootloaders package: $(basename ${QCOM_LINUX_FIRMWARE})
+* Little Kernel (LK) source code:
+** "SD rescue boot":$LK_GIT_LINARO/shortlog/refs/heads/$LK_GIT_REL_SD_RESCUE
+** "SD Linux boot":$LK_GIT_LINARO/shortlog/refs/heads/$LK_GIT_REL_SD_BOOT
+** "eMMC Linux boot":$LK_GIT_LINARO/shortlog/refs/heads/$LK_GIT_REL_EMMC_BOOT
+* Tools version: "$GIT_COMMIT":$GIT_URL/commit/$GIT_COMMIT
+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 \
+ --server ${PUBLISH_SERVER} \
+ --link-latest \
+ out2 snapshots/dragonboard410c/linaro/rescue/${BUILD_NUMBER}
diff --git a/lt-qcom-bootloader/dragonboard820c/build-info.txt b/lt-qcom-bootloader/dragonboard820c/build-info.txt
new file mode 100644
index 0000000000..7e5e8b2d40
--- /dev/null
+++ b/lt-qcom-bootloader/dragonboard820c/build-info.txt
@@ -0,0 +1,5 @@
+Format-Version: 0.5
+
+Files-Pattern: *
+License-Type: protected
+Auth-Groups: employees, qualcomm-lcb
diff --git a/lt-qcom-bootloader/dragonboard820c/builders.sh b/lt-qcom-bootloader/dragonboard820c/builders.sh
new file mode 100644
index 0000000000..96d758dcb2
--- /dev/null
+++ b/lt-qcom-bootloader/dragonboard820c/builders.sh
@@ -0,0 +1,98 @@
+#!/bin/bash
+
+sudo apt-get update
+sudo apt-get install -y zip gdisk
+
+set -ex
+
+# download the firmware packages
+wget -q ${QCOM_LINUX_FIRMWARE}
+echo "${QCOM_LINUX_FIRMWARE_MD5} $(basename ${QCOM_LINUX_FIRMWARE})" > MD5
+md5sum -c MD5
+
+unzip -j -d bootloaders-linux $(basename ${QCOM_LINUX_FIRMWARE}) "*/bootloaders-linux/*"
+unzip -j -d bootloaders-sdboot $(basename ${QCOM_LINUX_FIRMWARE}) "*/bootloaders-sdboot/*"
+
+# Get the Android compiler
+git clone ${LK_GCC_GIT} --depth 1 -b ${LK_GCC_REL} android-gcc
+
+# get the signing tools
+git clone --depth 1 https://git.linaro.org/landing-teams/working/qualcomm/signlk.git
+
+# Build all needed flavors of LK
+git clone --depth 1 ${LK_GIT_LINARO} -b ${LK_GIT_REL_SD_RESCUE} lk_sdrescue
+git clone --depth 1 ${LK_GIT_LINARO} -b ${LK_GIT_REL_UFS_BOOT} lk_ufs_boot
+
+for lk in lk_sdrescue lk_ufs_boot; do
+ echo "Building LK in : $lk"
+ cd $lk
+ git log -1
+ make -j4 msm8996 EMMC_BOOT=1 VERIFIED_BOOT=1 TOOLCHAIN_PREFIX=${WORKSPACE}/android-gcc/bin/arm-eabi-
+ mv build-msm8996/emmc_appsboot.mbn build-msm8996/emmc_appsboot_unsigned.mbn
+ ../signlk/signlk.sh -i=./build-msm8996/emmc_appsboot_unsigned.mbn -o=./build-msm8996/emmc_appsboot.mbn -d
+ cd -
+done
+
+mkdir -p out/dragonboard820c_sdcard_rescue \
+ out/dragonboard820c_bootloader_ufs_linux
+
+# get license.txt file
+wget https://git.linaro.org/landing-teams/working/qualcomm/lt-docs.git/blob_plain/HEAD:/license/license.txt
+
+# bootloader_ufs_linux
+cp -a license.txt \
+ dragonboard820c/linux/flashall \
+ lk_ufs_boot/build-msm8996/emmc_appsboot.mbn \
+ bootloaders-linux/gpt_both*.bin \
+ bootloaders-linux/{cmnlib64.mbn,cmnlib.mbn,devcfg.mbn,hyp.mbn,keymaster.mbn,pmic.elf,rpm.mbn,sbc_1.0.bin,tz.mbn,xbl.elf} \
+ out/dragonboard820c_bootloader_ufs_linux
+
+# sdcard_rescue
+cp -a license.txt out/dragonboard820c_sdcard_rescue
+sudo ./mksdcard -x -p dragonboard820c/sdrescue.txt \
+ -o out/dragonboard820c_sdcard_rescue/db820c_sd_rescue.img \
+ -i lk_sdrescue/build-msm8996/ \
+ -i bootloaders-sdboot/ \
+ -i bootloaders-linux/
+
+# Create MD5SUMS file
+for i in out/dragonboard820c_*; do
+ (cd $i && md5sum * > MD5SUMS.txt)
+done
+
+# Final preparation of archives for publishing
+mkdir out2
+zip -rj out2/dragonboard820c_sdcard_rescue-${BUILD_NUMBER}.zip out/dragonboard820c_sdcard_rescue
+zip -rj out2/dragonboard820c_bootloader_ufs_linux-${BUILD_NUMBER}.zip out/dragonboard820c_bootloader_ufs_linux
+
+# Create MD5SUMS file
+(cd out2 && md5sum * > MD5SUMS.txt)
+
+# Build information
+cat > out2/HEADER.textile << EOF
+
+h4. Bootloaders for Dragonboard 820c
+
+This page provides the bootloaders packages for the Dragonboard 820c. There are several packages:
+* *sdcard_rescue* : an SD card image that can be used to boot from SD card, and rescue a board when the onboard eMMC is empty or corrupted
+* *bootloader_ufs_linux* : includes the bootloaders and partition table (GPT) used when booting Linux images from onboard eMMC
+
+Build description:
+* Build URL: "$BUILD_URL":$BUILD_URL
+* Proprietary bootloaders are not published yet, and not available widely
+* Linux proprietary bootloaders package: $(basename ${QCOM_LINUX_FIRMWARE})
+* Little Kernel (LK) source code:
+** "SD rescue boot":$LK_GIT_LINARO/shortlog/refs/heads/$LK_GIT_REL_SD_RESCUE
+** "UFS Linux boot":$LK_GIT_LINARO/shortlog/refs/heads/$LK_GIT_REL_UFS_BOOT
+* Tools version: "$GIT_COMMIT":$GIT_URL/commit/$GIT_COMMIT
+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
+wget -q https://git.linaro.org/ci/job/configs.git/blob_plain/HEAD:/lt-qcom-bootloader/dragonboard820c/build-info.txt -O BUILD-INFO.txt
+time python ${HOME}/bin/linaro-cp.py \
+ --server ${PUBLISH_SERVER} \
+ --build-info BUILD-INFO.txt \
+ --link-latest \
+ out2 snapshots/dragonboard820c/linaro/rescue/${BUILD_NUMBER}