diff options
| author | cvs2svn <cvs2svn@FreeBSD.org> | 2005-09-21 20:08:25 +0000 |
|---|---|---|
| committer | cvs2svn <cvs2svn@FreeBSD.org> | 2005-09-21 20:08:25 +0000 |
| commit | 6b13c0483bf6368f2bdbab165528c9cc0a52102e (patch) | |
| tree | 8d37ee3bfd19a3001c179d4c13a47f5d48877e0b /tools | |
| parent | 70dfc5aae7a0d16c365ee0a623c6adaa3241a9fd (diff) | |
Notes
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/tools/nanobsd/FlashDevice.sub | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/tools/tools/nanobsd/FlashDevice.sub b/tools/tools/nanobsd/FlashDevice.sub new file mode 100644 index 000000000000..3948a4ceb76a --- /dev/null +++ b/tools/tools/nanobsd/FlashDevice.sub @@ -0,0 +1,117 @@ +#!/bin/sh +# +# Copyright (c) 2005 Poul-Henning Kamp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# +# Convenience function for commonly used Flash devices. +# +# There is a hook over in nanobsd.sh which allows you to call into +# this function simply with a line like: +# +# FlashDevice Sandisk 256 +# +# This file will then set NANO_MEDIASIZE, NANO_HEADS and NANO_SECTS for you. +# + +sub_FlashDevice () { + case $1 in + [Ss][Aa][Nn][Dd][Ii][Ss][Kk]) + # Source: + # SanDisk CompactFlash Memory Card + # Product Manual + # Version 10.9 + # Document No. 20-10-00038 + # April 2005 + # Table 2-7 + # NB: notice math error in SDCFJ-4096-388 line. + # + case $2 in + 32|32MB) + NANO_MEDIASIZE=`expr 32112640 / 512` + NANO_HEADS=4 + NANO_SECTS=32 + ;; + 64|64MB) + NANO_MEDIASIZE=`expr 64225280 / 512` + NANO_HEADS=8 + NANO_SECTS=32 + ;; + 128|128MB) + NANO_MEDIASIZE=`expr 128450560 / 512` + NANO_HEADS=8 + NANO_SECTS=32 + ;; + 256|256MB) + NANO_MEDIASIZE=`expr 256901120 / 512` + NANO_HEADS=16 + NANO_SECTS=32 + ;; + 512|512MB) + NANO_MEDIASIZE=`expr 512483328 / 512` + NANO_HEADS=16 + NANO_SECTS=63 + ;; + 1024|1024MB|1G) + NANO_MEDIASIZE=`expr 1024966656 / 512` + NANO_HEADS=16 + NANO_SECTS=63 + ;; + 2048|2048MB|2G) + NANO_MEDIASIZE=`expr 2048901120 / 512` + NANO_HEADS=16 + NANO_SECTS=63 + ;; + 4096|4096MB|4G) + NANO_MEDIASIZE=`expr 4097802240 / 512` + NANO_HEADS=16 + NANO_SECTS=63 + ;; + *) + echo "Unknown Sandisk Flash capacity" + exit 2 + ;; + esac + ;; + [Ss][Oo][Ee][Kk][Rr][Ii][Ss]) + case $2 in + [Nn][Ee][Tt]4526 | 4526 | [Nn][Ee][Tt]4826 | 4826 | 64 | 64MB) + NANO_MEDIASIZE=125056 + NANO_HEADS=4 + NANO_SECTS=32 + ;; + *) + echo "Unknown Soekris Flash capacity" + exit 2 + ;; + esac + ;; + *) + echo "Unknown Flash manufacturer" + exit 2 + ;; + esac +} + |
