Ubuntu Pastebin

Paste from rsalveti at Sun, 22 Mar 2015 22:14:24 +0000

Download as text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
mount_android_partitions() {
    fstab=$1
    mount_root=$2

    echo "initrd: checking fstab $fstab for additional mount points" >/dev/kmsg || 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" >/dev/kmsg || true

        # In case fstab provides /dev/mmcblk0p* lines
        path="/dev/$label"
        for dir in by-partlabel by-name by-label by-path by-uuid by-partuuid by-id; do
            if [ -e "/dev/disk/$dir/$label" ]; then
                path="/dev/disk/$dir/$label"
                break
            fi
        done

        [ ! -e "$path" ] && continue

        mkdir -p ${mount_root}/$2
        echo "initrd: mounting $path as ${mount_root}/$2" >/dev/kmsg || true
        mount $path ${mount_root}/$2 -t $3 -o $4
    done
}
Download as text