|
@@ -0,0 +1,78 @@
|
|
|
|
+#!/bin/sh
|
|
|
|
+# installs a rootfs tar archive from OpenADK onto
|
|
|
|
+# a Compact Flash disk or NAND device
|
|
|
|
+# special script for routerboard rb532
|
|
|
|
+
|
|
|
|
+nandinstall=0
|
|
|
|
+cfinstall=0
|
|
|
|
+
|
|
|
|
+if [ -z $1 ];then
|
|
|
|
+ printf "Please give your target device as first parameter [cf|nand]\n"
|
|
|
|
+ exit 1
|
|
|
|
+fi
|
|
|
|
+if [ -z $2 ];then
|
|
|
|
+ printf "Please give your root tar archive as second parameter\n"
|
|
|
|
+ exit 1
|
|
|
|
+fi
|
|
|
|
+if [ -z $3 ];then
|
|
|
|
+ printf "Please give your kernel as third parameter\n"
|
|
|
|
+ exit 1
|
|
|
|
+fi
|
|
|
|
+case $1 in
|
|
|
|
+ nand)
|
|
|
|
+ nandinstall=1
|
|
|
|
+ ;;
|
|
|
|
+ cf)
|
|
|
|
+ cfinstall=1
|
|
|
|
+ ;;
|
|
|
|
+ *)
|
|
|
|
+ printf "Target not recognized\n"
|
|
|
|
+ exit 1
|
|
|
|
+ ;;
|
|
|
|
+esac
|
|
|
|
+
|
|
|
|
+if [ $cfinstall -eq 1 ];then
|
|
|
|
+ # create empty partition table
|
|
|
|
+ printf "Creating partition scheme\n"
|
|
|
|
+ parted -s /dev/sda mklabel msdos
|
|
|
|
+ sleep 2
|
|
|
|
+ maxsize=$(env LC_ALL=C parted /dev/sda -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
|
|
|
|
+ rootsize=$(($maxsize-2))
|
|
|
|
+ parted -s /dev/sda unit cyl mkpart primary ext2 0 1
|
|
|
|
+ parted -s /dev/sda unit cyl mkpartfs primary ext2 1 $rootsize
|
|
|
|
+ parted -s /dev/sda unit cyl mkpart primary fat32 $rootsize $maxsize
|
|
|
|
+ parted -s /dev/sda set 1 boot on
|
|
|
|
+ sfdisk --change-id /dev/sda 1 27 >/dev/null 2>&1
|
|
|
|
+ sfdisk --change-id /dev/sda 3 88 >/dev/null 2>&1
|
|
|
|
+ sleep 2
|
|
|
|
+ sync
|
|
|
|
+ printf "Installing kernel\n"
|
|
|
|
+ dd if=$3 of=/dev/sda1 bs=2048 >/dev/null 2>&1
|
|
|
|
+ sync
|
|
|
|
+ mount -t ext2 /dev/sda2 /mnt
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+if [ $nandinstall -eq 1 ];then
|
|
|
|
+ printf "Installing kernel\n"
|
|
|
|
+ mount -t yaffs2 /dev/mtdblock0 /mnt
|
|
|
|
+ cp $3 /mnt/kernel
|
|
|
|
+ sync
|
|
|
|
+ umount /mnt
|
|
|
|
+ mount -t yaffs2 /dev/mtdblock1 /mnt
|
|
|
|
+ rm -rf /mnt/* >/dev/null 2>&1
|
|
|
|
+fi
|
|
|
|
+
|
|
|
|
+printf "Extracting install archive\n"
|
|
|
|
+tar -C /mnt -xzpf $2
|
|
|
|
+
|
|
|
|
+chmod 1777 /mnt/tmp
|
|
|
|
+chmod 4755 /mnt/bin/busybox
|
|
|
|
+
|
|
|
|
+printf "Creating device nodes\n"
|
|
|
|
+mknod -m 666 /mnt/dev/null c 1 3
|
|
|
|
+mknod -m 622 /mnt/dev/console c 5 1
|
|
|
|
+mknod -m 666 /mnt/dev/tty c 5 0
|
|
|
|
+
|
|
|
|
+umount /mnt
|
|
|
|
+printf "Successfully installed.\n"
|
|
|
|
+exit 0
|