diff options
author | Andrew Gaffney <agaffney@gentoo.org> | 2008-03-10 00:38:49 +0000 |
---|---|---|
committer | Andrew Gaffney <agaffney@gentoo.org> | 2008-03-10 00:38:49 +0000 |
commit | 6ea20790b7571394a425040aa601e6cf7296d0dc (patch) | |
tree | 872cda9fb85296fc5aff7973f611466d4f96fcab /gen_initramfs.sh | |
parent | Apply patch from Vince C <v_cadet@yahoo.fr> to mount sysfs prior to loading ... (diff) | |
download | genkernel-6ea20790b7571394a425040aa601e6cf7296d0dc.tar.gz genkernel-6ea20790b7571394a425040aa601e6cf7296d0dc.tar.bz2 genkernel-6ea20790b7571394a425040aa601e6cf7296d0dc.zip |
Add support for --firmware and --firmware-dir options to include firmware in the initramfs
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@612 67a159dc-881f-0410-a524-ba9dfbe2cb84
Diffstat (limited to 'gen_initramfs.sh')
-rw-r--r-- | gen_initramfs.sh | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gen_initramfs.sh b/gen_initramfs.sh index a9ee20f0..b5a15bd7 100644 --- a/gen_initramfs.sh +++ b/gen_initramfs.sh @@ -251,6 +251,23 @@ append_overlay(){ cd ${INITRAMFS_OVERLAY} find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}" } + +append_firmware() { + if [ ! -d "${FIRMWARE_DIR}" ] + then + gen_die "specified firmware directory (${FIRMWARE_DIR}) does not exist" + fi + if [ -d "${TEMP}/initramfs-firmware-temp" ] + then + rm -r "${TEMP}/initramfs-firmware-temp/" + fi + mkdir -p "${TEMP}/initramfs-firmware-temp/lib/firmware" + cp -a "${FIRMWARE_DIR}/*" ${TEMP}/initramfs-firmware-temp/lib/firmware/ + find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}" \ + || gen_die "appending firmware to cpio" + rm -r "${TEMP}/initramfs-firmware-temp/" +} + print_list() { local x @@ -449,6 +466,11 @@ create_initramfs() { append_data 'blkid' "${DISKLABEL}" append_data 'splash' "${SPLASH}" + if isTrue "${FIRMWARE}" && [ -n "${FIRMWARE_DIR}" ] + then + append_data 'firmware' + fi + # This should always be appended last if [ "${INITRAMFS_OVERLAY}" != '' ] then |