Commit 0cef7c2d authored by M. Warner Losh's avatar M. Warner Losh
Browse files

Three quick changes:

o Move to creating 2 partitions to ping-pong between.
o Bump flash size to 1g (10^9 bytes, more or less).
o Implement generic flash sizes in nanobsd now that the bulk of the need to
  have the geometry right is much less critical than it was in days of yore.

This should give us the necessary infrastructure to do upgrades form the GUI.
parent 7981f1e4
Showing with 58 additions and 2 deletions
+58 -2
......@@ -62,8 +62,8 @@ NANO_RAM_TMPVARSIZE=$((40*1024))
# Tmp hack for transition to lighttpd
use_lighttpd=1
NANO_IMAGES=1
FlashDevice Sandisk 512
NANO_IMAGES=2
FlashDevice generic 1g
. ${NANO_CFG_BASE}/common
......
--- tools/tools/nanobsd/FlashDevice.sub- 2009-08-03 02:13:06.000000000 -0600
+++ tools/tools/nanobsd/FlashDevice.sub 2009-08-03 02:13:06.000000000 -0600
@@ -203,10 +203,52 @@
;;
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
}
-
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment