diff options
-rw-r--r-- | README.md | 6 | ||||
-rw-r--r-- | class/DB410C.var | 3 | ||||
-rw-r--r-- | package_config/QCOM | 7 | ||||
-rwxr-xr-x | scripts/DB410C/21-customize | 44 | ||||
-rw-r--r-- | scripts/UBOOT/70-customize | 18 |
5 files changed, 50 insertions, 28 deletions
@@ -1,11 +1,11 @@ Usage example: -apt update; apt install --no-install-recommends fai-server -fai-setup-storage qemu-utils procps img2simg +apt update; apt install --no-install-recommends fai-server fai-setup-storage qemu-utils procps mtools git clone http://git.linaro.org/ci/fai.git -fai-diskimage -v --cspace $PATH/fai --hostname test -S 3G --class SID,DEBIAN,LINARO,DEVELOPER,QCOM,DB410C,RAW linaro.raw 2>&1|tee fai.log +fai-diskimage -v --cspace $PATH/fai --hostname linaro-test -S 3G --class SID,DEBIAN,LINARO,QCOM,DB410C,RAW linaro.raw 2>&1|tee fai.log img2simg linaro.raw linaro.img Gotchas: - order of classes matter - latter classes override variables from earlier ones - missing packages in packages from package\_lists and errors while installing packages will not error the build out + - grep the log for warnings and erros before proceeding diff --git a/class/DB410C.var b/class/DB410C.var index 8d486c6..55230eb 100644 --- a/class/DB410C.var +++ b/class/DB410C.var @@ -1,4 +1,5 @@ QCOM_FIRMWARE='http://builds.96boards.org/releases/dragonboard410c/qualcomm/firmware/linux-board-support-package-r1032.1.zip' QCOM_FIRMWARE_MD5='e1c7e8957b8f37a91cadc18c1aef5c04' QCOM_FIRMWARE_LICENSE_MD5='4d087ee0965cb059f1b2f9429e166f64' - +KVERS=4.9.0-qcomlt +fdtfile=qcom/apq8016-sbc.dtb diff --git a/package_config/QCOM b/package_config/QCOM index ccf0daf..bf97585 100644 --- a/package_config/QCOM +++ b/package_config/QCOM @@ -1,7 +1,8 @@ PACKAGES install-norec -u-boot-menu -u-boot linux-image-4.9.0-qcomlt firmware-linux -wcnss-start + +PACKAGES install-norec UBOOT +u-boot-menu +u-boot-qcom diff --git a/scripts/DB410C/21-customize b/scripts/DB410C/21-customize index 504e68b..6eb0b6c 100755 --- a/scripts/DB410C/21-customize +++ b/scripts/DB410C/21-customize @@ -1,7 +1,10 @@ -#!/bin/sh +#!/bin/bash +set -e + # Download license file and firmware if [ -n "${QCOM_FIRMWARE}" ]; then - rm -rf qcom_firmware && mkdir qcom_firmware && cd qcom_firmware + fwdir=`mktemp -d qcom_fwXXXXXX` + cd $fwdir wget -q ${QCOM_FIRMWARE} echo "${QCOM_FIRMWARE_MD5} $(basename ${QCOM_FIRMWARE})" > MD5 md5sum -c MD5 @@ -10,11 +13,11 @@ if [ -n "${QCOM_FIRMWARE}" ]; then echo "${QCOM_FIRMWARE_LICENSE_MD5} " linux-board-support-package-*/LICENSE > MD5 md5sum -c MD5 cd - - MTOOLS_SKIP_CHECK=1 mcopy -i qcom_firmware/linux-board-support-package-*/bootloaders-linux/NON-HLOS.bin \ - ::image/modem.* ::image/mba.mbn ::image/wcnss.* qcom_firmware/linux-board-support-package-*/proprietary-linux - cp -f qcom_firmware/linux-board-support-package-*/LICENSE $target/etc/QCOM-LINUX-BOARD-SUPPORT-LICENSE - cp -a qcom_firmware/linux-board-support-package-*/proprietary-linux/* $target/lib/firmware - + MTOOLS_SKIP_CHECK=1 mcopy -i $fwdir/linux-board-support-package-*/bootloaders-linux/NON-HLOS.bin \ + ::image/modem.* ::image/mba.mbn ::image/wcnss.* $fwdir/linux-board-support-package-*/proprietary-linux + cp -f $fwdir/linux-board-support-package-*/LICENSE $target/etc/QCOM-LINUX-BOARD-SUPPORT-LICENSE + cp -a $fwdir/linux-board-support-package-*/proprietary-linux/* $target/lib/firmware + rm -rf $fwdir fi if [ -f $target/etc/NetworkManager/NetworkManager.conf ]; then @@ -24,22 +27,21 @@ wifi.scan-rand-mac-address=no EOF fi -cat << EOF > $target/etc/default/u-boot -U_BOOT_FDT=qcom/apq8016-sbc.dtb -U_BOOT_PARAMETERS="rw rootwait" -EOF - cat << EOF > $target/etc/fstab /dev/disk/by-partlabel/rootfs / ext4 rw,relatime,data=ordered 0 1 EOF -# hack - the "make deb" kernel package should handle this -for kernel in $target/boot/vmlinuz-* -do - mv $kernel $kernel.gz - gunzip $kernel - ver=$(echo $kernel|sed -e 's,.*vmlinuz-,,') - chroot $target /usr/sbin/update-initramfs -c -k $ver -done +WORKSPACE=${WORKSPACE:-$HOME} +OUT=$WORKSPACE/out +mkdir -p $OUT +cat $target/boot/vmlinuz-${KVERS} $target/usr/lib/linux-image-${KVERS}/$fdtfile >> $OUT/Image.gz + +# In case initrd doesn't exist, create it, else update +if [ -f $target/boot/initrd.img-${KVERS} ] +then + chroot $target /usr/sbin/update-initramfs -u -k ${KVERS} +else + chroot $target /usr/sbin/update-initramfs -c -k ${KVERS} +fi +cp $target/boot/initrd.img-${KVERS} $OUT/initrd.img -chroot $target /usr/sbin/u-boot-update||true diff --git a/scripts/UBOOT/70-customize b/scripts/UBOOT/70-customize new file mode 100644 index 0000000..5429175 --- /dev/null +++ b/scripts/UBOOT/70-customize @@ -0,0 +1,18 @@ +#!/bin/sh +set -e + +cat << EOF > $target/etc/default/u-boot +U_BOOT_FDT=$fdtfile +U_BOOT_PARAMETERS="rw rootwait" +EOF + +# hack - the "make deb" kernel package should handle this +for kernel in $target/boot/vmlinuz-* +do + mv $kernel $kernel.gz + gunzip $kernel + ver=$(echo $kernel|sed -e 's,.*vmlinuz-,,') + chroot $target /usr/sbin/update-initramfs -c -k $ver||true +done + +chroot $target /usr/sbin/u-boot-update||true |