Browse Source

add support for data partition

Waldemar Brodkorb 9 years ago
parent
commit
bd1e437e98
1 changed files with 37 additions and 5 deletions
  1. 37 5
      scripts/install-solidrun.sh

+ 37 - 5
scripts/install-solidrun.sh

@@ -81,26 +81,58 @@ fi
 
 maxsize=$(env LC_ALL=C parted $1 -s unit s print |awk '/^Disk/ { print $3 }'|sed -e 's/s//')
 maxsize=$(($maxsize-1))
-rootsize=$(($maxsize-32768))
-rootsizeend=$(($rootsize+1))
+
+if [ $datadir -eq 0 ];then
+	rootsize=$(($maxsize-32768))
+	rootsizeend=$(($rootsize+1))
+else
+	rootsize=$(($maxsize-32768-131072))
+	datasize=$(($maxsize-32768))
+	datasizeend=$(($datasize+1))
+fi
 
 echo "Install bootloader for cubox-i/hummingboard"
 parted -s $1 mklabel msdos >/dev/null 2>&1
 dd if=${3}/SPL of=${1} bs=1K seek=1 >/dev/null 2>&1
 dd if=${3}/u-boot.img of=${1} bs=1K seek=42 >/dev/null 2>&1
-parted -a optimal -s $1 unit s mkpart primary ext2 -- 2048 $rootsize >/dev/null 2>&1
-parted -a optimal -s $1 unit s mkpart primary fat32 $rootsizeend $maxsize >/dev/null 2>&1
-sfdisk --change-id $1 2 88 >/dev/null 2>&1
+if [ $datadir -eq 0 ];then
+	parted -a optimal -s $1 unit s mkpart primary ext2 -- 2048 $rootsize >/dev/null 2>&1
+	parted -a optimal -s $1 unit s mkpart primary fat32 -- $rootsizeend $maxsize
+	sfdisk --change-id $1 2 88 >/dev/null 2>&1
+else
+	parted -a optimal -s $1 unit s mkpart primary ext2 -- 2048 $rootsize >/dev/null 2>&1
+	parted -a optimal -s $1 unit s mkpart primary ext2 -- $rootsize $datasize >/dev/null 2>&1
+	parted -a optimal -s $1 unit s mkpart primary fat32 -- $datasizeend $maxsize
+	sfdisk --change-id $1 3 88 >/dev/null 2>&1
+
+fi
 
 echo "Creating filesystem"
 mkfs.ext4 -F -q -O ^huge_file ${1}1
 sync
+if [ $datadir -eq 1 ];then
+        if [ $keep -eq 0 ];then
+                mkfs.ext4 -F -q -O ^huge_file ${1}2
+        fi
+fi
 
 tmp=$(mktemp -d)
 mount -t ext4 ${1}1 $tmp
 
+if [ $datadir -eq 1 ];then
+        if [ $keep -eq 0 ];then
+                mkdir $tmp/data
+                mount -t ext4 ${1}2 $tmp/data
+                mkdir $tmp/data/mpd $tmp/data/xbmc
+                umount $tmp/data
+        fi
+fi
+
 echo "Extracting install archive"
 tar -C $tmp -xzpf $2 
+if [ $datadir -eq 1 ];then
+	echo "/dev/mmcblk0p2    /data   ext4    rw      0       0" >>$tmp/etc/fstab
+fi
 echo "Fixing permissions"
 chmod 1777 $tmp/tmp
 chmod 4755 $tmp/bin/busybox