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.
This commit is contained in:
parent
6bdddc88cd
commit
32d5960531
@ -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
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user