Append e2fsck and mke2fs to initramfs
authorSebastian Pipping <sebastian@pipping.org>
Sun, 23 Sep 2012 22:30:12 +0000 (00:30 +0200)
committerSebastian Pipping <sebastian@pipping.org>
Sun, 23 Sep 2012 22:30:15 +0000 (00:30 +0200)
Original patch by Rick Farina

ChangeLog
gen_initramfs.sh

index e7728f5333d480290d083f30b103801d59072109..47a81ea237319a9ae1ff69cf0858486a2c26e3c5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@
 # Distributed under the GPL v2
 # $Id$
 
+  23 Sep 2012; Sebastian Pipping <sping@gentoo.org> gen_initramfs.sh:
+  Append e2fsck and mke2fs to initramfs. Original patch by Rick Farina
+
   10 Sep 2012; Sebastian Pipping <sping@gentoo.org> genkernel:
   Bump version to 3.4.42
 
index ac90830d200eeea66db4469e830211dfd6d72004..ee21d2f908212dbe4f28e16d26eab1bf3effe065 100755 (executable)
@@ -127,6 +127,23 @@ append_busybox() {
        rm -rf "${TEMP}/initramfs-busybox-temp" > /dev/null
 }
 
+append_e2fstools(){
+       if [ -d "${TEMP}"/initramfs-e2fsprogs-temp ]
+       then
+               rm -r "${TEMP}"/initramfs-e2fsprogs-temp
+       fi
+
+       cd "${TEMP}" \
+                       || gen_die "cd '${TEMP}' failed"
+       mkdir -p initramfs-e2fsprogs-temp
+       copy_binaries "${TEMP}"/initramfs-e2fsprogs-temp/ /sbin/{e2fsck,mke2fs}
+
+       cd "${TEMP}"/initramfs-e2fsprogs-temp \
+                       || gen_die "cd '${TEMP}/initramfs-e2fsprogs-temp' failed"
+       find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}"
+       rm -rf "${TEMP}"/initramfs-e2fsprogs-temp > /dev/null
+}
+
 append_blkid(){
        if [ -d "${TEMP}/initramfs-blkid-temp" ]
        then
@@ -741,6 +758,7 @@ create_initramfs() {
        append_data 'base_layout'
        append_data 'auxilary' "${BUSYBOX}"
        append_data 'busybox' "${BUSYBOX}"
+       append_data 'e2fstools'
        append_data 'lvm' "${LVM}"
        append_data 'dmraid' "${DMRAID}"
        append_data 'iscsi' "${ISCSI}"