Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/sh
- # mkcard.sh v0.5
- # (c) Copyright 2009 Graeme Gregory <dp@xora.org.uk>
- # Licensed under terms of GPLv2
- #
- # Parts of the procudure base on the work of Denys Dmytriyenko
- # http://wiki.omap.com/index.php/MMC_Boot_Format
- export LC_ALL=C
- if [ $# -ne 1 ]; then
- echo "Usage: $0 <drive>"
- exit 1;
- fi
- DRIVE=$1
- dd if=/dev/zero of=$DRIVE bs=1024 count=1024
- SIZE=`fdisk -l $DRIVE | grep Disk | grep bytes | awk '{print $5}'`
- echo DISK SIZE - $SIZE bytes
- CYLINDERS=`echo $SIZE/255/63/512 | bc`
- echo CYLINDERS - $CYLINDERS
- {
- echo ,9,0x0C,*
- echo ,,,-
- } | sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE
- sleep 1
- if [ -x `which kpartx` ]; then
- kpartx -a ${DRIVE}
- fi
- # handle various device names.
- # note something like fdisk -l /dev/loop0 | egrep -E '^/dev' | cut -d' ' -f1
- # won't work due to https://bugzilla.redhat.com/show_bug.cgi?id=649572
- PARTITION1=${DRIVE}1
- if [ ! -b ${PARTITION1} ]; then
- PARTITION1=${DRIVE}p1
- fi
- DRIVE_NAME=`basename $DRIVE`
- DEV_DIR=`dirname $DRIVE`
- if [ ! -b ${PARTITION1} ]; then
- PARTITION1=$DEV_DIR/mapper/${DRIVE_NAME}p1
- fi
- PARTITION2=${DRIVE}2
- if [ ! -b ${PARTITION2} ]; then
- PARTITION2=${DRIVE}p2
- fi
- if [ ! -b ${PARTITION2} ]; then
- PARTITION2=$DEV_DIR/mapper/${DRIVE_NAME}p2
- fi
- # now make partitions.
- if [ -b ${PARTITION1} ]; then
- umount ${PARTITION1}
- mkfs.vfat -F 32 -n "boot" ${PARTITION1}
- else
- echo "Cant find boot partition in /dev"
- fi
- if [ -b ${PARITION2} ]; then
- umount ${PARTITION2}
- mke2fs -j -L "Angstrom" ${PARTITION2}
- else
- echo "Cant find rootfs partition in /dev"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement