blob: b2ff90d4b58f159577429b4adf485d4e94dd0c37 [file] [log] [blame]
#!/bin/bash
EXTRACT_SCRIPT=extract-imgtec-panda.sh
BINARY_DIR=pandaboard-proprietary-blobs
DL_URL='https://dl.google.com/dl/android/aosp/imgtec-panda-20120430-67545da7.tgz'
DEVICE_MOUNT_POINT=/mnt/
# Get the blobs, if we don't already have them.
if [ -e $BINARY_DIR/$EXTRACT_SCRIPT ]; then
echo "Using existing Pandaboard blobs."
else
echo "Fetching Pandaboard blobs."
mkdir $BINARY_DIR
(cd $BINARY_DIR;
wget $DL_URL;
tar xzf `basename $DL_URL`;
sh $EXTRACT_SCRIPT)
echo "Done fetching Pandaboard blobs."
fi
# Figure out which device to use, if it's unspecified.
device="$1"
if [ -z "$device" ]; then
for i in `cat /proc/partitions | awk '{print $4}' |grep -i 'sd[a-z][1-9]\|mmcblk[0-9]p[1-9]'`
do
label=`sudo e2label /dev/$i 2>/dev/null`
if [ "$label" = "system" ]; then
device="/dev/$i"
fi
done
[ -b "$device" ] || { echo "Failed to find system partition" && exit 1; }
fi
echo Writing blobs to $device.
set -e
# Put the blobs on the device.
cd $BINARY_DIR
sudo mount $device ${DEVICE_MOUNT_POINT}
sudo mkdir -p ${DEVICE_MOUNT_POINT}vendor/bin/
sudo mkdir -p ${DEVICE_MOUNT_POINT}vendor/lib/egl
sudo mkdir -p ${DEVICE_MOUNT_POINT}vendor/lib/hw
sudo cp vendor/imgtec/panda/proprietary/pvrsrvinit ${DEVICE_MOUNT_POINT}vendor/bin/pvrsrvinit
sudo cp vendor/imgtec/panda/proprietary/pvrsrvinit ${DEVICE_MOUNT_POINT}bin/pvrsrvinit
sudo chmod a+x ${DEVICE_MOUNT_POINT}vendor/bin/pvrsrvinit
sudo cp vendor/imgtec/panda/proprietary/libEGL_POWERVR_SGX540_120.so ${DEVICE_MOUNT_POINT}vendor/lib/egl/libEGL_POWERVR_SGX540_120.so
sudo cp vendor/imgtec/panda/proprietary/libGLESv1_CM_POWERVR_SGX540_120.so ${DEVICE_MOUNT_POINT}vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so
sudo cp vendor/imgtec/panda/proprietary/libGLESv2_POWERVR_SGX540_120.so ${DEVICE_MOUNT_POINT}vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
sudo cp vendor/imgtec/panda/proprietary/gralloc.omap4.so ${DEVICE_MOUNT_POINT}vendor/lib/hw/gralloc.omap4.so
sudo cp vendor/imgtec/panda/proprietary/libglslcompiler.so ${DEVICE_MOUNT_POINT}vendor/lib/libglslcompiler.so
sudo cp vendor/imgtec/panda/proprietary/libIMGegl.so ${DEVICE_MOUNT_POINT}vendor/lib/libIMGegl.so
sudo cp vendor/imgtec/panda/proprietary/libpvr2d.so ${DEVICE_MOUNT_POINT}vendor/lib/libpvr2d.so
sudo cp vendor/imgtec/panda/proprietary/libpvrANDROID_WSEGL.so ${DEVICE_MOUNT_POINT}vendor/lib/libpvrANDROID_WSEGL.so
sudo cp vendor/imgtec/panda/proprietary/libPVRScopeServices.so ${DEVICE_MOUNT_POINT}vendor/lib/libPVRScopeServices.so
sudo cp vendor/imgtec/panda/proprietary/libsrv_init.so ${DEVICE_MOUNT_POINT}vendor/lib/libsrv_init.so
sudo cp vendor/imgtec/panda/proprietary/libsrv_um.so ${DEVICE_MOUNT_POINT}vendor/lib/libsrv_um.so
sudo cp vendor/imgtec/panda/proprietary/libusc.so ${DEVICE_MOUNT_POINT}vendor/lib/libusc.so
sudo chmod -R 755 ${DEVICE_MOUNT_POINT}vendor/lib/
sudo umount -f $device
echo Successfully installed proprietary blobs.