From 6feb5e10caa9d8be0c808ef60ed2b6ee3aa5dfab Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Tue, 2 May 2017 22:20:51 +0200 Subject: [PATCH] Compile different variants of xenial: i3, mate and minimal $ per longsleep request --- Jenkinsfile | 2 +- Makefile | 37 +++++++++++++++++-- build-pine64-image.sh | 8 ++-- .../usr/local/sbin/pine64_install_to_emmc.sh | 8 ++-- simpleimage/make_rootfs.sh | 16 ++++++-- 5 files changed, 57 insertions(+), 14 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 2090114..64328f9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -36,7 +36,7 @@ node('docker && linux-build') { sh '''#!/bin/bash set +xe export CCACHE_DIR=$WORKSPACE/ccache - make + make -j4 ''' } diff --git a/Makefile b/Makefile index 03fc695..fe427dd 100644 --- a/Makefile +++ b/Makefile @@ -81,14 +81,36 @@ simple-image-pinebook-$(RELEASE_NAME).img: linux-pine64-$(RELEASE_NAME).tar.xz b export uboot=../boot-tools/boot/pine64/u-boot-pine64-pinebook.bin && \ bash ./make_simpleimage.sh $(shell readlink -f "$@") 100 $(shell readlink -f linux-pine64-$(RELEASE_NAME).tar.xz) -xenial-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img: simple-image-pinebook-$(RELEASE_NAME).img.xz linux-pine64-$(RELEASE_NAME).tar.xz linux-pine64-package-$(RELEASE_NAME).deb boot-tools +xenial-minimal-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img: simple-image-pinebook-$(RELEASE_NAME).img.xz linux-pine64-$(RELEASE_NAME).tar.xz linux-pine64-package-$(RELEASE_NAME).deb boot-tools sudo bash ./build-pine64-image.sh \ $(shell readlink -f $@) \ $(shell readlink -f simple-image-pinebook-$(RELEASE_NAME).img.xz) \ $(shell readlink -f linux-pine64-$(RELEASE_NAME).tar.xz) \ $(shell readlink -f linux-pine64-package-$(RELEASE_NAME).deb) \ xenial \ - pinebook + pinebook \ + minimal + +xenial-mate-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img: simple-image-pinebook-$(RELEASE_NAME).img.xz linux-pine64-$(RELEASE_NAME).tar.xz linux-pine64-package-$(RELEASE_NAME).deb boot-tools + sudo bash ./build-pine64-image.sh \ + $(shell readlink -f $@) \ + $(shell readlink -f simple-image-pinebook-$(RELEASE_NAME).img.xz) \ + $(shell readlink -f linux-pine64-$(RELEASE_NAME).tar.xz) \ + $(shell readlink -f linux-pine64-package-$(RELEASE_NAME).deb) \ + xenial \ + pinebook \ + mate \ + 7300 + +xenial-i3-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img: simple-image-pinebook-$(RELEASE_NAME).img.xz linux-pine64-$(RELEASE_NAME).tar.xz linux-pine64-package-$(RELEASE_NAME).deb boot-tools + sudo bash ./build-pine64-image.sh \ + $(shell readlink -f $@) \ + $(shell readlink -f simple-image-pinebook-$(RELEASE_NAME).img.xz) \ + $(shell readlink -f linux-pine64-$(RELEASE_NAME).tar.xz) \ + $(shell readlink -f linux-pine64-package-$(RELEASE_NAME).deb) \ + xenial \ + pinebook \ + i3 .PHONY: kernel-tarball kernel-tarball: linux-pine64-$(RELEASE_NAME).tar.xz @@ -99,5 +121,14 @@ linux-package: linux-pine64-package-$(RELEASE_NAME).deb .PHONY: simple-image-pinebook-$(RELEASE_NAME).img simple-image-pinebook: simple-image-pinebook-$(RELEASE_NAME).img +.PHONY: xenial-minimal-pinebook +xenial-minimal-pinebook: xenial-minimal-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz + +.PHONY: xenial-mate-pinebook +xenial-mate-pinebook: xenial-mate-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz + +.PHONY: xenial-i3-pinebook +xenial-i3-pinebook: xenial-i3-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz + .PHONY: xenial-pinebook -xenial-pinebook: xenial-pinebook-bspkernel-$(RELEASE_NAME)-$(RELEASE).img.xz +xenial-pinebook: xenial-minimal-pinebook xenial-mate-pinebook xenial-i3-pinebook diff --git a/build-pine64-image.sh b/build-pine64-image.sh index 3b171f5..f11373f 100755 --- a/build-pine64-image.sh +++ b/build-pine64-image.sh @@ -14,13 +14,15 @@ KERNELTAR="$3" PACKAGEDEB="$4" DISTRO="$5" MODEL="$6" +VARIANT="$7" +SIZE="${8:-3650}" if [[ -z "$MODEL" ]]; then MODEL="pine64" fi export MODEL if [ -z "$SIMPLEIMAGE" -o -z "$KERNELTAR" ]; then - echo "Usage: $0 [distro] [model]" + echo "Usage: $0 [distro] [model] [variant: mate, i3, empty] [size (MiB)]" exit 1 fi @@ -36,8 +38,6 @@ fi SIMPLEIMAGE=$(readlink -f "$SIMPLEIMAGE") KERNELTAR=$(readlink -f "$KERNELTAR") -SIZE=7300 # MiB - PWD=$(readlink -f .) TEMP=$(mktemp -p $PWD -d -t "$MODEL-build-XXXXXXXXXX") IMAGE="$(basename "$OUT_IMAGE")" @@ -84,7 +84,7 @@ mount /dev/mapper/${DEVICENAME}p1 "$TEMP/boot" mount /dev/mapper/${DEVICENAME}p2 "$TEMP/rootfs" sleep 2 -(cd simpleimage && sh ./make_rootfs.sh "$TEMP/rootfs" "$KERNELTAR" "$PACKAGEDEB" "$DISTRO" "$TEMP/boot" "$MODEL") +(cd simpleimage && sh ./make_rootfs.sh "$TEMP/rootfs" "$KERNELTAR" "$PACKAGEDEB" "$DISTRO" "$TEMP/boot" "$MODEL" "$VARIANT") mv -v "$TEMP/$IMAGE" "$OUT_IMAGE" diff --git a/package/root/usr/local/sbin/pine64_install_to_emmc.sh b/package/root/usr/local/sbin/pine64_install_to_emmc.sh index 1ef4ace..4d195c9 100755 --- a/package/root/usr/local/sbin/pine64_install_to_emmc.sh +++ b/package/root/usr/local/sbin/pine64_install_to_emmc.sh @@ -16,7 +16,9 @@ usage() { echo "$ $0 [version]" echo "" echo "Systems:" - echo " - ubuntu-xenial (https://github.com/ayufan-pine64/linux-build/releases)" + echo " - xenial-minimal (https://github.com/ayufan-pine64/linux-build/releases)" + echo " - xenial-mate (https://github.com/ayufan-pine64/linux-build/releases)" + echo " - xenial-i3 (https://github.com/ayufan-pine64/linux-build/releases)" echo " - android-7.0 (https://github.com/ayufan-pine64/android-7.0/releases)" echo " - android-7.1 (https://github.com/ayufan-pine64/android-7.1/releases)" echo "" @@ -40,9 +42,9 @@ if [[ ! -e /dev/mmcblk1 ]]; then fi case "$1" in - ubuntu-xenial) + xenial-minimal|xenial-mate|xenial-i3) REPO="ayufan-pine64/linux-build" - PREFIX="xenial-$(cat /etc/pine64_model)-bspkernel-" + PREFIX="$1-$(cat /etc/pine64_model)-bspkernel-" SUFFIX="-[0-9]*.img.xz" ARCHIVER="xz -d" ;; diff --git a/simpleimage/make_rootfs.sh b/simpleimage/make_rootfs.sh index 9120384..b822c37 100755 --- a/simpleimage/make_rootfs.sh +++ b/simpleimage/make_rootfs.sh @@ -17,13 +17,14 @@ PACKAGEDEB="$3" DISTRO="$4" BOOT="$5" MODEL="$6" +VARIANT="$7" if [[ -z "$MODEL" ]]; then MODEL="pine64" fi if [ -z "$DEST" -o -z "$LINUX" ]; then - echo "Usage: $0 [distro] [] [model]" + echo "Usage: $0 [distro] [] [model] [variant: mate, i3 or empty]" exit 1 fi @@ -269,8 +270,17 @@ EOF cp $PACKAGEDEB $DEST/package.deb do_chroot dpkg -i "package.deb" do_chroot rm "package.deb" - do_chroot /usr/local/sbin/install_mate_desktop.sh - do_chroot systemctl set-default graphical.target + case "$VARIANT" in + mate) + do_chroot /usr/local/sbin/install_mate_desktop.sh + do_chroot systemctl set-default graphical.target + ;; + + i3) + do_chroot /usr/local/sbin/install_i3_desktop.sh + do_chroot systemctl set-default graphical.target + ;; + esac do_chroot systemctl enable cpu-corekeeper do_chroot systemctl enable ssh-keygen if [ "$MODEL" -eq "pinebook" ]; then