commit:     2effaa1441944936193d7ee40c386e33bd5d253d
Author:     José Pekkarinen <koalinux <AT> gmail <DOT> com>
AuthorDate: Sun Jun 24 05:29:56 2018 +0000
Commit:     Ben Kohler <bkohler <AT> gentoo <DOT> org>
CommitDate: Fri Mar  8 17:05:03 2019 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=2effaa14

Use firmware prefix and path in initramfs generation

Mimic kernel behaviour of a prefix where to lookup firmware and a file with its 
path from prefix to avoid confusion on how to use these parameters. This also 
prevents in folder firmware(ex. i915,amdgpu...) to be copied straight to 
/lib/firmware in the initramfs.

Signed-off-by: José Pekkarinen <koalinux <AT> gmail.com>
Fixes: https://github.com/gentoo/genkernel/pull/5
Signed-off-by: Ben Kohler <bkohler <AT> gentoo.org>

 gen_initramfs.sh | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index a2c55c6..b4200c7 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -722,7 +722,7 @@ append_dropbear(){
 }
 
 append_firmware() {
-       if [ -z "${FIRMWARE_FILES}" -a ! -d "${FIRMWARE_DIR}" ]
+       if [ ! -d "${FIRMWARE_DIR}" ]
        then
                gen_die "specified firmware directory (${FIRMWARE_DIR}) does 
not exist"
        fi
@@ -736,10 +736,12 @@ append_firmware() {
        then
                OLD_IFS=$IFS
                IFS=","
+               pushd ${FIRMWARE_DIR} >/dev/null
                for i in ${FIRMWARE_FILES}
                do
-                       cp -L "${i}" 
${TEMP}/initramfs-firmware-temp/lib/firmware/
+                       cp -L --parents "${i}" 
${TEMP}/initramfs-firmware-temp/lib/firmware/
                done
+               popd >/dev/null
                IFS=$OLD_IFS
        else
                cp -a "${FIRMWARE_DIR}"/* 
${TEMP}/initramfs-firmware-temp/lib/firmware/

Reply via email to