Date: Thu, 10 Feb 2011 23:36:39 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r218528 - head/tools/tools/nanobsd Message-ID: <201102102336.p1ANad4k038308@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: imp Date: Thu Feb 10 23:36:39 2011 New Revision: 218528 URL: http://svn.freebsd.org/changeset/base/218528 Log: Add 'generic' flash images. This is for projects producing generic images that are of a certain size. The geometery is bogus, but that doesn't matter since the new packet mode onviates the need to get the geometry right. Modified: head/tools/tools/nanobsd/FlashDevice.sub Modified: head/tools/tools/nanobsd/FlashDevice.sub ============================================================================== --- head/tools/tools/nanobsd/FlashDevice.sub Thu Feb 10 22:36:23 2011 (r218527) +++ head/tools/tools/nanobsd/FlashDevice.sub Thu Feb 10 23:36:39 2011 (r218528) @@ -203,10 +203,52 @@ sub_FlashDevice () { ;; esac ;; + # Generic flash media. It assumes that we're booting using packet + # mode so the HEADS and SECTS don't matter. The truncation of the + # size to a slightly lower number is intentional to be conservative + # (eg, 1 sector smaller than N GB is always smaller than any flash + # claiming to be N GB, but wastes a little space sometimes when 1GB + # really means 1GiB). This is intended to be used when producing + # generic images for anybody to boot. Media sizes are specified 'Xg' + # for X GB (10^9 bytes) flash or Xm for X MB (10^6 bytes) flash. + # Power of 2 variants can be specified with gi or mi for GiB and MiB + # sizeed flash and don't try to be conservative (use with caution). + generic) + case $a2 in + *.*) # Catch unsupported 1.5g case, since expr can't + # cope with floats. + echo "Unsupported generic size $a2" + exit 2 + ;; + *m) + NANO_HEADS=16 + NANO_SECTS=63 + NANO_MEDIASIZE=`expr -e ${a2%m} \* 1000000 / 512` + ;; + *g) + NANO_HEADS=16 + NANO_SECTS=63 + NANO_MEDIASIZE=`expr -e ${a2%g} \* 1000000000 / 512` + ;; + *mi) + NANO_HEADS=16 + NANO_SECTS=63 + NANO_MEDIASIZE=`expr -e ${a2%mi} \* 1024 \* 1024 / 512` + ;; + *gi) + NANO_HEADS=16 + NANO_SECTS=63 + NANO_MEDIASIZE=`expr -e ${a2%gi} \* 1024 \* 1024 \* 1024 / 512` + ;; + *) + echo "Unsupported generic size $a2" + exit 2 + ;; + esac + ;; *) echo "Unknown Flash manufacturer" exit 2 ;; esac } -
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102102336.p1ANad4k038308>