]> xenbits.xensource.com Git - osstest/rumprun.git/commitdiff
cookfs: warn if image is >1MB.
authorAntti Kantee <pooka@iki.fi>
Mon, 15 Feb 2016 12:21:10 +0000 (12:21 +0000)
committerAntti Kantee <pooka@iki.fi>
Mon, 15 Feb 2016 12:21:10 +0000 (12:21 +0000)
app-tools/Makefile
app-tools/cookfs.in
lib/librumprunfs_base/Makefile

index beb5b6f0d25934a26798ad9cfb7b6896328741ed..beb39b817b29b58ebe6b9e756e9821179b5ad6ac 100644 (file)
@@ -58,6 +58,7 @@ MACHDIR:= rumprun-${MACHINE_GNU_ARCH}-${PLATFORM}
 LIBEXEC_CC:= $(subst ${BRSOURCEDIR},${BRLIBEXECDEST},${CC})
 LIBEXEC_CXX:= $(subst ${BRSOURCEDIR},${BRLIBEXECDEST},${CXX})
 LIBEXEC_OBJCOPY:= ${BRLIBEXECDEST}/${MACHINE_GNU_PLATFORM}-objcopy
+LIBEXEC_SIZE:= ${BRLIBEXECDEST}/${MACHINE_GNU_PLATFORM}-size
 LIBEXEC_READELF:= ${BRLIBEXECDEST}/${MACHINE_GNU_PLATFORM}-readelf
 
 TOOLS_CC := ${RRDEST}/bin/$(TOOLTUPLE)-${_CCVARIANT}
@@ -73,6 +74,7 @@ ${TOOLOBJ}/${2}: ${1} Makefile ${TOOLOBJ}
                -e 's#!LIBEXEC_CXX!#$(LIBEXEC_CXX)#g;'                  \
                -e 's#!LIBEXEC_OBJCOPY!#$(LIBEXEC_OBJCOPY)#g;'          \
                -e 's#!LIBEXEC_READELF!#$(LIBEXEC_READELF)#g;'          \
+               -e 's#!LIBEXEC_SIZE!#$(LIBEXEC_SIZE)#g;'                \
                -e 's#!TOOLS_CC!#$(TOOLS_CC)#g;'                        \
                -e 's#!TOOLS_CXX!#$(TOOLS_CXX)#g;'                      \
                -e 's#!MACHINE_GNU_ARCH!#$(MACHINE_GNU_ARCH)#g;'        \
index 2c920eaa6348428a6e58d7004ea1a685650801d2..4972b3fd8fbf31525975eb09c25f28f7a905ef92 100644 (file)
@@ -35,6 +35,7 @@ set -eu
 
 : ${RUMPRUN_COOKFS_CC:=!LIBEXEC_CC!}
 : ${RUMPRUN_COOKFS_OBJCOPY:=!LIBEXEC_OBJCOPY!}
+: ${RUMPRUN_COOKFS_SIZE:=!LIBEXEC_SIZE!}
 : ${RUMPRUN_COOKFS_INCDIR:=!DESTDIR!/rumprun-!MACHINE_GNU_ARCH!/include}
 
 usage ()
@@ -235,4 +236,11 @@ ${RUMPRUN_COOKFS_CC} !CFLAGS! !CPPFLAGS! -I${RUMPRUN_COOKFS_INCDIR}        \
     -nostdlib -Wl,-r -o ${TMPDIR}/fin.o ${TMPDIR}/d*.o ${TMPDIR}/constr.c
 ${RUMPRUN_COOKFS_OBJCOPY} ${LSYM} ${TMPDIR}/fin.o ${OUTFILE}
 
+totsize=$(${RUMPRUN_COOKFS_SIZE} ${OUTFILE} | awk 'NR == 2{print $4}')
+if [ ${totsize} -gt $((1024*1024)) ]; then
+       echo ">> WARNING: cookfs images will be loaded into memory." 2>&1
+       echo ">> Maximum recommended size is 1024 kB." 2>&1
+       echo ">> Your image memory footprint is $((${totsize}/1024)) kB." 2>&1
+fi
+
 exit 0
index 11fd14ce60751072377498dbd192b7aac8c88a93..9796ce515d2d06c735d4098d5182b2fd111d3e43 100644 (file)
@@ -10,7 +10,9 @@ includes:
 
 dependall:
        ( cd ${.CURDIR} &&                                              \
-         RUMPRUN_COOKFS_CC="${CC}" RUMPRUN_COOKFS_OBJCOPY="${OBJCOPY}" \
+         RUMPRUN_COOKFS_CC="${CC}"                                     \
+         RUMPRUN_COOKFS_OBJCOPY="${OBJCOPY}"                           \
+         RUMPRUN_COOKFS_SIZE="${SIZE}"                                 \
            RUMPRUN_COOKFS_INCDIR="${RROBJ}/dest.stage/include"         \
                ${RROBJ}/app-tools/${TOOLTUPLE}-cookfs -s 1             \
                    ${MAKEOBJDIR}/librumprunfs_base.a rootfs )