version 1.1.2.1, 2011/07/21 14:26:08
|
version 1.9, 2021/03/11 13:59:50
|
Line 29 DEV=""
|
Line 29 DEV=""
|
mkdevice() |
mkdevice() |
{ |
{ |
echo "+++ Make prepare file image ... " |
echo "+++ Make prepare file image ... " |
rm -f $IMG | rm -f $1 |
dd if=/dev/zero of=${IMG} bs=1024 count=${IMG_SIZE} | dd if=/dev/zero of=$1 bs=1024 count=$2 |
|
|
echo -n "+++ Assign memory device to image ... " | echo -n "+++ Assign memory device to image $1 ... " |
DEV=`mdconfig -a -tvnode -f ${IMG}` | DEV=`mdconfig -a -tvnode -f $1` |
echo $DEV |
echo $DEV |
|
|
if [ -z "$DEV" ]; then |
if [ -z "$DEV" ]; then |
rm -f $IMG | rm -f $1 |
exit 3 |
exit 3 |
fi |
fi |
} |
} |
Line 52 initdev()
|
Line 52 initdev()
|
exit 3 |
exit 3 |
fi |
fi |
|
|
|
if [ X"$2" != X"no" ]; then |
|
disklabel $1 2>&- | awk -vcfgsize=${CFG_NAND_SIZE:-65536} '($1 == "a:") { |
|
cfgsize /= 512; |
|
bootoff = $3; |
|
freesize = $2 - cfgsize; |
|
imgsize = freesize / 2; |
|
|
|
printf(" a: %d %d unused 0 0 0\n", imgsize, cfgsize + bootoff); |
|
printf(" f: %d %d unused 0 0 0\n", imgsize, imgsize + cfgsize + bootoff); |
|
printf(" g: %d %d cfg 0 0 0\n", cfgsize, bootoff); |
|
next; |
|
} |
|
{ printf("%s\n", $0); }' >/tmp/disklabel.tmp |
|
else |
|
disklabel $1 2>&- | awk -vcfgsize=${CFG_NAND_SIZE:-65536} '($1 == "a:") { |
|
cfgsize /= 512; |
|
bootoff = $3; |
|
freesize = $2 - cfgsize; |
|
imgsize = freesize; |
|
|
|
printf(" a: %d %d unused 0 0 0\n", imgsize, cfgsize + bootoff); |
|
printf(" g: %d %d cfg 0 0 0\n", cfgsize, bootoff); |
|
next; |
|
} |
|
{ printf("%s\n", $0); }' >/tmp/disklabel.tmp |
|
fi |
|
|
|
if disklabel -R -m ${TARGET} $1 /tmp/disklabel.tmp; then |
|
rm -f /tmp/disklabel.tmp |
|
echo "OK" |
|
else |
|
echo "Failed!" |
|
exit 3 |
|
fi |
|
|
if newfs -b8192 -f1024 -m0 -Lelwix ${1}a; then |
if newfs -b8192 -f1024 -m0 -Lelwix ${1}a; then |
echo "+++ Formatting ... OK" |
echo "+++ Formatting ... OK" |
else |
else |
Line 95 enablejfs()
|
Line 130 enablejfs()
|
boot2dev() |
boot2dev() |
{ |
{ |
echo -n "+++ Installboot to device $1 ... " |
echo -n "+++ Installboot to device $1 ... " |
if disklabel -B $1; then | if disklabel -B -b ${WORLD}/boot/boot -m ${TARGET} $1; then |
echo "OK" |
echo "OK" |
else |
else |
echo "Failed!" |
echo "Failed!" |
Line 114 install2()
|
Line 149 install2()
|
fi |
fi |
} |
} |
|
|
|
mkbak2() |
|
{ |
|
if [ X"$2" != X"no" ]; then |
|
echo "+++ Syncing ELWIX OS image as backup OS image into ${1}f ..." |
|
if dd if=/dev/${1}a of=/dev/${1}f; then |
|
tunefs -L elwix2 /dev/${1}f |
|
echo "OK" |
|
else |
|
echo "Failed!" |
|
exit 8 |
|
fi |
|
else |
|
echo "+++ Make ELWIX OS system image partion for upgrade into ${REL}/sys4up_${IMGNAME}.bin ..." |
|
if dd if=/dev/${1}a of=${REL}/sys4up_${IMGNAME}.bin; then |
|
echo "OK" |
|
else |
|
echo "Failed!" |
|
exit 9 |
|
fi |
|
fi |
|
|
|
if [ ! -f ${REL}/sys4up_${IMGNAME}.bin ]; then |
|
echo "+++ Make ELWIX OS system image partion for upgrade into ${REL}/sys4up_${IMGNAME}.bin ..." |
|
if dd if=/dev/${1}a of=${REL}/sys4up_${IMGNAME}.bin; then |
|
echo "OK" |
|
else |
|
echo "Failed!" |
|
exit 9 |
|
fi |
|
fi |
|
} |
|
|
cleandev() |
cleandev() |
{ |
{ |
mdconfig -d -u $1 |
mdconfig -d -u $1 |
} |
} |
|
|
|
gencksum() |
|
{ |
|
echo -n "+++ Generate check sums ... " |
|
md5 $1 >$2 |
|
sha1 $1 >$3 |
|
echo "OK" |
|
} |
|
|
### main() |
### main() |
|
|
if [ ! -r ${1:-"${REL}/${OS}"} ]; then | if [ -z "$1" -o ! -r "$1" ]; then |
echo |
echo |
echo "Error:: ELWIX OS file not found!" | echo "Error:: ELWIX OS tar file '$1' not found!" |
| echo "Syntax:: ./install2img.sh <ELWIX.tar.gz> [CF size] [yes == make secondary backup image]" |
echo |
echo |
exit 2 |
exit 2 |
|
else |
|
IMGNAME=$(basename $1 | sed -e "s/.tar.gz//") |
|
MD5CHK="${REL}/${IMGNAME}${3:+"_2nd"}.md5" |
|
SHA1CHK="${REL}/${IMGNAME}${3:+"_2nd"}.sha1" |
|
IMG="${REL}/${IMGNAME}${3:+"_2nd"}.img" |
fi |
fi |
|
|
mkdevice | mkdevice $IMG ${2:-"${IMG_SIZE}"} |
| initdev $DEV ${3:-"no"} |
initdev $DEV | |
| |
mountdev $DEV |
mountdev $DEV |
install2 ${1:-"$REL/$OS"} | install2 $1 |
umountdev |
umountdev |
|
|
#enablejfs $DEV |
#enablejfs $DEV |
boot2dev $DEV |
boot2dev $DEV |
| mkbak2 $DEV ${3:-"no"} |
cleandev $DEV |
cleandev $DEV |
echo "ELWIX OS image complete." | gencksum $IMG $MD5CHK $SHA1CHK |
| gencksum ${REL}/sys4up_${IMGNAME}.bin ${REL}/sys4up_${IMGNAME}.md5 ${REL}/sys4up_${IMGNAME}.sha1 |
| |
| echo "ELWIX OS image ${IMGNAME}${3:+"_2nd"} complete." |