Add a convenience function to set NANO_MEDIASIZE, NANO_HEADS and NANO_SECTS
for commonly used flash devices by FlashDevice Sandisk 256MB in the config file.
This commit is contained in:
parent
dbd5c1cfe5
commit
26b9c7716a
117
tools/tools/nanobsd/FlashDevice.sub
Normal file
117
tools/tools/nanobsd/FlashDevice.sub
Normal file
@ -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
|
||||
}
|
||||
|
@ -383,6 +383,16 @@ create_i386_diskimage ( ) (
|
||||
#
|
||||
#######################################################################
|
||||
|
||||
#######################################################################
|
||||
# Common Flash device geometries
|
||||
#
|
||||
|
||||
FlashDevice () {
|
||||
. ${NANO_SRC}/${NANO_TOOLS}/FlashDevice.sub
|
||||
sub_FlashDevice $1 $2
|
||||
}
|
||||
|
||||
|
||||
#######################################################################
|
||||
# Setup serial console
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user