Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Oct 2017 21:13:26 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r324707 - head/sys/tools
Message-ID:  <201710172113.v9HLDQIg047790@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Tue Oct 17 21:13:26 2017
New Revision: 324707
URL: https://svnweb.freebsd.org/changeset/base/324707

Log:
  embed_mfs: add error handling, usage
  
  Ensure that we are called with two arguments, and that the output file
  is writable. Also, if we cannot find the mfs section report the output
  file name rather than "kernel", as this script may be used with other
  than kernels.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/tools/embed_mfs.sh

Modified: head/sys/tools/embed_mfs.sh
==============================================================================
--- head/sys/tools/embed_mfs.sh	Tue Oct 17 20:45:44 2017	(r324706)
+++ head/sys/tools/embed_mfs.sh	Tue Oct 17 21:13:26 2017	(r324707)
@@ -32,13 +32,22 @@
 # $2: MFS image filename
 #
 
+if [ $# -ne 2 ]; then
+	echo "usage: $(basename $0) target mfs_image"
+	exit 0
+fi
+if [ ! -w "$1" ]; then
+	echo $1 not writable
+	exit 1
+fi
+
 mfs_size=`stat -f '%z' $2 2> /dev/null`
 # If we can't determine MFS image size - bail.
 [ -z ${mfs_size} ] && echo "Can't determine MFS image size" && exit 1
 
 sec_info=`elfdump -c $1 2> /dev/null | grep -A 5 -E "sh_name: oldmfs$"`
 # If we can't find the mfs section within the given kernel - bail.
-[ -z "${sec_info}" ] && echo "Can't locate mfs section within kernel" && exit 1
+[ -z "${sec_info}" ] && echo "Can't locate mfs section within $1" && exit 1
 
 sec_size=`echo "${sec_info}" | awk '/sh_size/ {print $2}' 2> /dev/null`
 sec_start=`echo "${sec_info}" | awk '/sh_offset/ {print $2}' 2> /dev/null`



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710172113.v9HLDQIg047790>