| #!/bin/sh |
| # Copyright 2004 Feuz Stefan. |
| # Copyright 2007 Adam Tkac. |
| # This file is part of mtools. |
| # |
| # Mtools is free software: you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation, either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # Mtools is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with Mtools. If not, see <http://www.gnu.org/licenses/>. |
| # |
| # amuFormat.sh Formats various types and sizes of PC-Cards, according to the |
| # AMU-specification |
| # |
| # parameters: $1: Card Type: The Card Type is written as disk/volume-label |
| # to the boot-record |
| # The string should have a length of max. 11 characters. |
| # |
| # $2: Drive character (b:, c:) |
| # |
| # 10-12-2003 lct created |
| # |
| vers=1.4 |
| |
| #echo "debug: $0,$1,$2,$3,$4" |
| |
| # |
| # main() |
| # |
| if [ $# -ne 2 ] ; then |
| echo "Usage: amuFormat.sh <Card Type> <drive>" >&2 |
| echo "<Card Type> has to be defined in amuFormat.sh itself" >&2 |
| echo "<drive> has to be defined in mtools.conf" >&2 |
| exit 1 |
| fi |
| |
| echo "amuFormat $vers started..." |
| |
| drive="$2" |
| |
| case "$1" in |
| 8MBCARD-FW) |
| ## using the f: or g: drive for fat12 formatting... |
| ## see mtools.conf file... |
| case "$2" in |
| [bB]:) drive="f:" ;; |
| [cC]:) drive="g:" ;; |
| *) echo "Drive $2 not supported."; exit 1 ;; |
| esac |
| cylinders=245 heads=2 cluster_size=8 |
| ;; |
| 32MBCARD-FW) |
| #from amu_toolkit_0_6: |
| #mformat -t489 -h4 -c4 -n32 -H32 -r32 -vPC-CARD -M512 -N0000 c: |
| cylinders=489 heads=4 cluster_size=4 |
| ;; |
| 64MBCARD-FW) |
| echo "***** WARNING: untested on AvHMU, exiting *****" |
| exit 1 |
| cylinders=245 heads=2 cluster_size=8 |
| ;; |
| 1GBCARD-FW) |
| # from amu_toolkit_0_6: |
| #mformat -t2327 -h16 -c64 -n63 -H63 -r32 -v AMU-CARD -M512 -N 0000 c: |
| echo "***** WARNING: untested on AvHMU *****" |
| cylinders=2327 heads=16 cluster_size=64 |
| ;; |
| 64MBCARDSAN) |
| # from amu_toolkit_0_6: |
| #mformat -t489 -h8 -c4 -n32 -H32 -r32 -v AMU-CARD -M512 -N 0000 c: |
| cylinders=489 heads=8 cluster_size=4 |
| ;; |
| # |
| # insert new cards here... |
| # |
| *) |
| echo "Card not supported." |
| exit 1 |
| ;; |
| esac |
| |
| echo "Formatting card in slot $2 as $1" |
| |
| ## initialise partition table |
| mpartition -I "$drive" |
| |
| # write a partition table |
| mpartition -c -t$cylinders -h$heads -s32 -b32 "$drive" |
| |
| ## write boot-record, two FATs and a root-directory |
| mformat -c$cluster_size -v "$1" "$drive" |
| |
| minfo "$2" |
| mdir "$2" |
| |
| echo "done." |