#!/bin/bash
#
mount_android_partitions() {
fstab=$1
mount_root=$2
echo "initrd: checking fstab $fstab for additional mount points" || true
cat ${fstab} | while read line; do
set -- $line
# Skip any unwanted entry
echo $1 | egrep -q "^#" && continue
([ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] || [ -z "$4" ]) && continue
([ "$2" = "/system" ] || [ "$2" = "/data" ]) && continue
label=$(echo $1 | awk -F/ '{print $NF}')
[ -z "$label" ] && continue
echo "initrd: checking mount label $label" || true
for dir in by-partlabel by-name by-label by-path by-uuid by-partuuid by-id; do
path="/dev/disk/$dir/$label"
[ -e "$path" ] && break
done
# MTD based devices, such as the emulator
if [ ! -e "$path" ] && echo $label | egrep -q "^mtdblock"; then
path="/dev/$label"
fi
[ ! -e "$path" ] && continue
mkdir -p ${mount_root}/$2
echo "initrd: mounting $path as ${mount_root}/$2" || true
mount $path ${mount_root}/$2 -t $3 -o $4
done
}
mount_android_partitions /var/lib/lxc/android/rootfs/fstab* /android