3 # Copyright (c) 2005 Poul-Henning Kamp.
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
9 # 1. Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 # notice, this list of conditions and the following disclaimer in the
13 # documentation and/or other materials provided with the distribution.
15 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 # Convenience function for commonly used Flash devices.
31 # There is a hook over in nanobsd.sh which allows you to call into
32 # this function simply with a line like:
34 # FlashDevice Sandisk 256
36 # This file will then set NANO_MEDIASIZE, NANO_HEADS and NANO_SECTS for you.
41 a1=`echo $1 | tr '[:upper:]' '[:lower:]'`
42 a2=`echo $2 | tr '[:upper:]' '[:lower:]'`
45 # Source: mich@FreeBSD.org
48 NANO_MEDIASIZE=`expr 259596288 / 512`
53 echo "Unknown Integral i-Pro Flash capacity"
59 # Source: simon@FreeBSD.org
63 NANO_MEDIASIZE=`expr 519192576 / 512`
68 echo "Unknown Memory Corp Flash capacity"
75 # SanDisk CompactFlash Memory Card
78 # Document No. 20-10-00038
81 # NB: notice math error in SDCFJ-4096-388 line.
85 NANO_MEDIASIZE=`expr 32112640 / 512`
90 NANO_MEDIASIZE=`expr 64225280 / 512`
95 NANO_MEDIASIZE=`expr 128450560 / 512`
100 NANO_MEDIASIZE=`expr 256901120 / 512`
105 NANO_MEDIASIZE=`expr 512483328 / 512`
110 NANO_MEDIASIZE=`expr 1024966656 / 512`
115 NANO_MEDIASIZE=`expr 2048901120 / 512`
120 NANO_MEDIASIZE=`expr -e 4097802240 / 512`
125 echo "Unknown Sandisk Flash capacity"
133 NANO_MEDIASIZE=`expr -e 4224761856 / 512`
138 echo "Unknown SiliconSystems Flash capacity"
145 net4526 | 4526 | net4826 | 4826 | 64 | 64mb)
146 NANO_MEDIASIZE=125056
151 echo "Unknown Soekris Flash capacity"
159 NANO_MEDIASIZE=125184
164 NANO_MEDIASIZE=4061232
169 echo "Unknown Transcend Flash capacity"
175 echo "Unknown Flash manufacturer"