Browse Source

mk/image.mk: fix initramfs-piggyback for recent kernels

Newer kernels hide CONFIG_INITRAMFS_SOURCE behind the boolean
CONFIG_BLK_DEV_INITRD symbol. So replacing the further using sed may
fail since no match is found. This patch strips the config from both
symbols if existing, and appends them afterwards. I hope this does for
older kernels, too.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Phil Sutter 14 years ago
parent
commit
801552c5a9
1 changed files with 5 additions and 2 deletions
  1. 5 2
      mk/image.mk

+ 5 - 2
mk/image.mk

@@ -89,8 +89,11 @@ ${BIN_DIR}/${INITRAMFS}: ${TARGET_DIR}
 		lzma -9 >$@ 2>/dev/null
 
 ${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR}
-	$(SED) 's#^CONFIG_INITRAMFS_SOURCE.*#CONFIG_INITRAMFS_SOURCE="${BUILD_DIR}/${INITRAMFS_PIGGYBACK}"#' \
-		$(LINUX_DIR)/.config
+	${SED} 's/.*CONFIG_(BLK_DEV_INITRD|INITRAMFS_SOURCE).*//' \
+		${LINUX_DIR}/.config
+	echo "CONFIG_BLK_DEV_INITRD=y" >> ${LINUX_DIR}/.config
+	echo 'CONFIG_INITRAMFS_SOURCE="${BUILD_DIR}/${INITRAMFS_PIGGYBACK}"' >> \
+		${LINUX_DIR}/.config
 	cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \
 		sed "s#\(.*\)#:0:0::::::\1#" | sort | \
 	    ${TOOLS_DIR}/cpio -o -C512 -Hnewc -P >$@ 2>/dev/null