aboutsummaryrefslogtreecommitdiff
path: root/sys/conf
diff options
context:
space:
mode:
authorRafal Jaworowski <raj@FreeBSD.org>2008-02-05 10:46:30 +0000
committerRafal Jaworowski <raj@FreeBSD.org>2008-02-05 10:46:30 +0000
commitfcfdd827d0d04600776a3c4ebce5d05685386766 (patch)
treec4c9a9943432aae255fe95e78ba8063b382a46cc /sys/conf
parent72c6438b52269852e1eb0a406311709da2ab2e5b (diff)
downloadsrc-fcfdd827d0d04600776a3c4ebce5d05685386766.tar.gz
src-fcfdd827d0d04600776a3c4ebce5d05685386766.zip
Introduce a standalone shell script for embedding MFS image.
This allows to fix a problem with ARM kernel.bin not having the MFS image embedded: it is objcopied from the kernel.noheader temporary ELF file, which was not subject to embedding the MFS image previously. Reviewed by: imp Approved by: cognet (mentor)
Notes
Notes: svn path=/head/; revision=175984
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/Makefile.arm4
-rw-r--r--sys/conf/kern.post.mk8
2 files changed, 5 insertions, 7 deletions
diff --git a/sys/conf/Makefile.arm b/sys/conf/Makefile.arm
index 4ac4a07bb943..574d422b6d9d 100644
--- a/sys/conf/Makefile.arm
+++ b/sys/conf/Makefile.arm
@@ -63,6 +63,10 @@ SYSTEM_LD_TAIL +=;sed s/" + SIZEOF_HEADERS"// ldscript.$M\
${KERNEL_KO}.bin; \
rm ${FULLKERNEL}.noheader
+.if defined(MFS_IMAGE)
+SYSTEM_LD_TAIL += ;sh ${S}/tools/embed_mfs.sh ${KERNEL_KO}.bin ${MFS_IMAGE};
+.endif
+
FILES_CPU_FUNC = $S/$M/$M/cpufunc_asm_arm7tdmi.S \
$S/$M/$M/cpufunc_asm_arm8.S $S/$M/$M/cpufunc_asm_arm9.S \
$S/$M/$M/cpufunc_asm_sa1.S $S/$M/$M/cpufunc_asm_arm10.S \
diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk
index 1eca596c1694..dbd678a214d6 100644
--- a/sys/conf/kern.post.mk
+++ b/sys/conf/kern.post.mk
@@ -91,13 +91,7 @@ ${FULLKERNEL}: ${SYSTEM_DEP} vers.o
.endif
${SYSTEM_LD_TAIL}
.if defined(MFS_IMAGE)
- @dd if="${MFS_IMAGE}" ibs=8192 of="${FULLKERNEL}" \
- obs=`strings -at d "${FULLKERNEL}" | \
- grep "MFS Filesystem goes here" | awk '{print $$1}'` \
- oseek=1 conv=notrunc 2>/dev/null && \
- strings ${FULLKERNEL} | \
- grep 'MFS Filesystem had better STOP here' > /dev/null || \
- (rm ${FULLKERNEL} && echo 'MFS image too large' && false)
+ @sh ${S}/tools/embed_mfs.sh ${FULLKERNEL} ${MFS_IMAGE}
.endif
.if !exists(${.OBJDIR}/.depend)