Merge ~alfonsosanchezbeato/ondras-snaps/+git/linux-kernel:cross-compile into ~ondrak/ondras-snaps/+git/linux-kernel:ubuntu-focal-imx

Proposed by Alfonso Sanchez-Beato
Status: Needs review
Proposed branch: ~alfonsosanchezbeato/ondras-snaps/+git/linux-kernel:cross-compile
Merge into: ~ondrak/ondras-snaps/+git/linux-kernel:ubuntu-focal-imx
Diff against target: 106 lines (+52/-6)
2 files modified
snap-tools/get-packages.sh (+43/-0)
snap/snapcraft.yaml (+9/-6)
Reviewer Review Type Date Requested Status
Ondrej Kubik Pending
Review via email: mp+403679@code.launchpad.net

Commit message

Some changes to allow cross-compiling the snap

Description of the change

Some changes to allow cross-compiling the snap

To post a comment you must log in.

Unmerged commits

fc1fe79... by Alfonso Sanchez-Beato

Specify the kernel-run-on field for the kernel plugin

Specify the kernel-run-on field for the (custom) kernel plugin so it
will cross-compile.

37a184e... by Alfonso Sanchez-Beato

Clean-up architectures field

fc09f28... by Alfonso Sanchez-Beato

Make test-keys pullable for all

741d862... by Alfonso Sanchez-Beato

Pull libjson directly instead of from build-packages

Otherwise cross-compilation will not work unless we run
"dpkg --add-architecture arm64", which can be problematic.

d2d9eb2... by Alfonso Sanchez-Beato

Add script to stage debian packages

Add script to stage debian packages from a part, written originally by
Oliver Grawert.

c7e6aec... by Ondrej Kubik

UBUNTU: SAUCE: snap: parts: kernel: use edge-splash initrd flavour

Signed-off-by: Ondrej Kubik <email address hidden>

d3b3292... by Ondrej Kubik

UBUNTU: SAUCE: config: arm64: snappy_defconfig: disable default Linux logo

Signed-off-by: Ondrej Kubik <email address hidden>

85a9c0a... by Ondrej Kubik

UBUNTU: SAUCE: config: arm64: snappy_defconfig: add fde related config options

Signed-off-by: Ondrej Kubik <email address hidden>

b1bbb91... by Ondrej Kubik

UBUNTU: SAUCE: snap: parts: add test signing keys

Signed-off-by: Ondrej Kubik <email address hidden>

bdf7044... by Ondrej Kubik

UBUNTU: SAUCE: snap: parts: add fit image creation

Signed-off-by: Ondrej Kubik <email address hidden>

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/snap-tools/get-packages.sh b/snap-tools/get-packages.sh
0new file mode 1007550new file mode 100755
index 0000000..7c38f86
--- /dev/null
+++ b/snap-tools/get-packages.sh
@@ -0,0 +1,43 @@
1#! /bin/sh
2
3# dowloads and unpacks .deb packages for defined arch
4# this needs coreutils, dctrl-tools and wget added to
5# build-packages when used via snapcraft.yaml
6
7ARCH=arm64
8SERIES=focal
9
10PKGLIST="$*"
11echo "$(basename "$0"): obtaining packages for $ARCH: $PKGLIST"
12
13case $ARCH in
14 armhf|arm64)
15 SERVER="http://ports.ubuntu.com"
16 ;;
17 *)
18 SERVER="http://archive.ubuntu.com/ubuntu"
19 ;;
20esac
21
22for pkg in $PKGLIST; do
23 PKGPATH=""
24 for POCKET in universe main; do
25 PACKAGES="$SERVER/dists/$SERIES/$POCKET/binary-$ARCH/Packages.gz"
26 UPACKAGES="$SERVER/dists/$SERIES-updates/$POCKET/binary-$ARCH/Packages.gz"
27 if wget -q -O- $UPACKAGES | zcat | grep-dctrl -P "${pkg}" |
28 grep Filename | grep -q "/${pkg}_"; then
29 PKGPATH="$(wget -q -O- $UPACKAGES | zcat | grep-dctrl -P "${pkg}" |
30 grep Filename | grep "${pkg}_" | sed 's/^Filename: //')"
31 elif wget -q -O- $PACKAGES | zcat | grep-dctrl -P "${pkg}" |
32 grep Filename | grep -q "/${pkg}_"; then
33 PKGPATH="$(wget -q -O- $PACKAGES | zcat | grep-dctrl -P "${pkg}" |
34 grep Filename | grep "${pkg}_" | sed 's/^Filename: //')"
35 else
36 PKGPATH=""
37 fi
38 if [ -n "$PKGPATH" ]; then
39 echo "unpacking $pkg from $SERVER/$PKGPATH"
40 wget -q -O- $SERVER/$PKGPATH | dpkg -x - .
41 fi
42 done
43done
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index f061384..9bbe800 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -11,10 +11,6 @@ build-base: core18
1111
12architectures:12architectures:
13 - build-on: amd6413 - build-on: amd64
14 run-on: armhf, arm64
15 - build-on: armhf
16 run-on: armhf
17 - build-on: arm64
18 run-on: arm6414 run-on: arm64
1915
20# environment to run fde-setup hook16# environment to run fde-setup hook
@@ -40,6 +36,7 @@ parts:
40 kernel-initrd-core-base: core2036 kernel-initrd-core-base: core20
41 kernel-initrd-flavour: edge-splash37 kernel-initrd-flavour: edge-splash
42 kernel-initrd-compression: gz38 kernel-initrd-compression: gz
39 kernel-run-on: arm64
43 kernel-initrd-addons:40 kernel-initrd-addons:
44 - usr/bin/fde-reveal-key41 - usr/bin/fde-reveal-key
45 - usr/lib/libteec.so*42 - usr/lib/libteec.so*
@@ -222,12 +219,19 @@ parts:
222 echo "Cross building for arm64"219 echo "Cross building for arm64"
223 export CROSS_COMPILE="aarch64-linux-gnu-"220 export CROSS_COMPILE="aarch64-linux-gnu-"
224 fi221 fi
222 $SNAPCRAFT_PROJECT_DIR/snap-tools/get-packages.sh libjson-c4 libjson-c-dev
225 export ARCH="arm64"223 export ARCH="arm64"
226 export TA_DEV_KIT_DIR="${SNAPCRAFT_STAGE}/export-ta_arm64"224 export TA_DEV_KIT_DIR="${SNAPCRAFT_STAGE}/export-ta_arm64"
227 export CFG_TEE_CLIENT_LOG_LEVEL="1"225 export CFG_TEE_CLIENT_LOG_LEVEL="1"
228 export OPTEE_CLIENT_EXPORT="${SNAPCRAFT_STAGE}/usr"226 export OPTEE_CLIENT_EXPORT="${SNAPCRAFT_STAGE}/usr"
229 export DESTDIR=${SNAPCRAFT_PART_INSTALL}227 export DESTDIR=${SNAPCRAFT_PART_INSTALL}
230 export O="${SNAPCRAFT_PART_BUILD}/out"228 export O="${SNAPCRAFT_PART_BUILD}/out"
229 inc_d1=-I"$SNAPCRAFT_STAGE"/usr/include/
230 inc_d2=-I"$SNAPCRAFT_STAGE"/export-ta_arm64/host_include/
231 inc_d3=-I"$PWD"/ta/fde_key_handler/include/
232 inc_d4=-I"$PWD"/usr/include/
233 export CFLAGS="$inc_d1 $inc_d2 $inc_d3 $inc_d4"
234 export LDFLAGS="-L$PWD/usr/lib/aarch64-linux-gnu/"
231 make -j$(nproc)235 make -j$(nproc)
232 make install236 make install
233 organize:237 organize:
@@ -240,7 +244,7 @@ parts:
240244
241 test-keys:245 test-keys:
242 plugin: dump246 plugin: dump
243 source: git+ssh://ondrak@git.launchpad.net/~ondrak/+git/dev-keys247 source: https://git.launchpad.net/~ondrak/+git/dev-keys
244 source-type: git248 source-type: git
245 source-branch: master249 source-branch: master
246 organize:250 organize:
@@ -267,4 +271,3 @@ build-packages:
267 - bison271 - bison
268 - initramfs-tools-core272 - initramfs-tools-core
269 - wget273 - wget
270 - libjson-c-dev:arm64

Subscribers

People subscribed via source and target branches