From 58d9422afe0191276109e2ecaeaec721d8816a88 Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Wed, 8 Nov 2017 17:52:41 +0000 Subject: Add support for building an initramfs The scripts are taken from https://gitlab.com/BuildStream/buildstream-tests (branch build-gnome). Those in turn were taken from http://git.baserock.org/baserock/baserock/initramfs-scripts.git We manually set the executable permissions in the init scripts using chmod, because https://gitlab.com/BuildStream/buildstream/issues/84 --- elements/initramfs/initramfs-gz.bst | 26 ++++++++++++++++++++++++++ elements/initramfs/initramfs-scripts.bst | 6 ++++++ elements/initramfs/initramfs.bst | 12 ++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 elements/initramfs/initramfs-gz.bst create mode 100644 elements/initramfs/initramfs-scripts.bst create mode 100644 elements/initramfs/initramfs.bst (limited to 'elements/initramfs') diff --git a/elements/initramfs/initramfs-gz.bst b/elements/initramfs/initramfs-gz.bst new file mode 100644 index 00000000..383e9603 --- /dev/null +++ b/elements/initramfs/initramfs-gz.bst @@ -0,0 +1,26 @@ +kind: script +description: The compressed initramfs + +depends: +- filename: initramfs/initramfs.bst + type: build +- filename: gnu-toolchain.bst + type: build + +variables: + cwd: "%{build-root}" + +config: + layout: + - element: gnu-toolchain.bst + destination: / + - element: initramfs/initramfs.bst + destination: "%{build-root}" + + commands: + - mkdir -p %{install-root}/boot + # We need to ensure exec permissions here. + # See: https://gitlab.com/BuildStream/buildstream/issues/84 + - chmod +x ./sbin/init ./sbin/shutdown + - (find . -print0 | cpio -0 -H newc -o) | + gzip -c > %{install-root}/boot/initramfs.gz diff --git a/elements/initramfs/initramfs-scripts.bst b/elements/initramfs/initramfs-scripts.bst new file mode 100644 index 00000000..536a3302 --- /dev/null +++ b/elements/initramfs/initramfs-scripts.bst @@ -0,0 +1,6 @@ +kind: import + +sources: +- kind: local + path: files/initramfs-scripts + directory: /sbin diff --git a/elements/initramfs/initramfs.bst b/elements/initramfs/initramfs.bst new file mode 100644 index 00000000..15ef4c0d --- /dev/null +++ b/elements/initramfs/initramfs.bst @@ -0,0 +1,12 @@ +kind: compose +description: Initramfs composition + +depends: +- filename: gnu-toolchain.bst + type: build +- filename: initramfs/initramfs-scripts.bst + type: build + +config: + include: + - runtime -- cgit v1.2.1