From 4c977082c410e6f8512643e94847da2c9df0d5c6 Mon Sep 17 00:00:00 2001 From: Ghe Rivero Date: Mon, 9 Jun 2014 08:37:49 +0000 Subject: [PATCH] Add select-boot-kernel-initrd element Encapsulate the new select-boot-kernel-initrd common function into an element so other elements can make use of it. Change-Id: Ie587bd5dae1afebfd5646190dfa951a7949938cd --- elements/select-boot-kernel-initrd/README.md | 5 ++++ .../bin/select-boot-kernel-initrd | 25 +++++++++++++++++++ .../cleanup.d/99-remove-dib-img-functions | 7 ++++++ .../extra-data.d/99-copy-dib-img-functions | 8 ++++++ 4 files changed, 45 insertions(+) create mode 100644 elements/select-boot-kernel-initrd/README.md create mode 100755 elements/select-boot-kernel-initrd/bin/select-boot-kernel-initrd create mode 100755 elements/select-boot-kernel-initrd/cleanup.d/99-remove-dib-img-functions create mode 100755 elements/select-boot-kernel-initrd/extra-data.d/99-copy-dib-img-functions diff --git a/elements/select-boot-kernel-initrd/README.md b/elements/select-boot-kernel-initrd/README.md new file mode 100644 index 00000000..19421551 --- /dev/null +++ b/elements/select-boot-kernel-initrd/README.md @@ -0,0 +1,5 @@ +A helper script to get the kernel and initrd image. + +It uses the function select_boot_kernel_initrd from the library img-functions +to find the newest kernel and ramdisk in the image, and returns them as a +concatenated string separating the values with a colon (:). diff --git a/elements/select-boot-kernel-initrd/bin/select-boot-kernel-initrd b/elements/select-boot-kernel-initrd/bin/select-boot-kernel-initrd new file mode 100755 index 00000000..d00857d0 --- /dev/null +++ b/elements/select-boot-kernel-initrd/bin/select-boot-kernel-initrd @@ -0,0 +1,25 @@ +#!/bin/bash + +# Copyright 2012 Hewlett-Packard Development Company, L.P. +# Copyright 2013 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +set -eu +set -o pipefail + +source /lib/diskimage-builder/img-functions + +select_boot_kernel_initrd / + +echo ${KERNEL}:${RAMDISK} diff --git a/elements/select-boot-kernel-initrd/cleanup.d/99-remove-dib-img-functions b/elements/select-boot-kernel-initrd/cleanup.d/99-remove-dib-img-functions new file mode 100755 index 00000000..8630719b --- /dev/null +++ b/elements/select-boot-kernel-initrd/cleanup.d/99-remove-dib-img-functions @@ -0,0 +1,7 @@ +#!/bin/bash + +set -eu +set -o pipefail + +sudo rm -f $TMP_MOUNT_PATH/lib/diskimage-builder/img-functions +sudo rmdir $TMP_MOUNT_PATH/lib/diskimage-builder diff --git a/elements/select-boot-kernel-initrd/extra-data.d/99-copy-dib-img-functions b/elements/select-boot-kernel-initrd/extra-data.d/99-copy-dib-img-functions new file mode 100755 index 00000000..fec53c3c --- /dev/null +++ b/elements/select-boot-kernel-initrd/extra-data.d/99-copy-dib-img-functions @@ -0,0 +1,8 @@ +#!/bin/bash +# Copy elements-functions into chroot so we can access the get_kernel_image function + +set -eu +set -o pipefail + +sudo mkdir -p $TMP_MOUNT_PATH/lib/diskimage-builder +sudo cp -t $TMP_MOUNT_PATH/lib/diskimage-builder $_LIB/img-functions