1#!/vendor/bin/sh 2# Copyright (c) 2018, The Linux Foundation. All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: 7# * Redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer. 9# * Redistributions in binary form must reproduce the above 10# copyright notice, this list of conditions and the following 11# disclaimer in the documentation and/or other materials provided 12# with the distribution. 13# * Neither the name of The Linux Foundation nor the names of its 14# contributors may be used to endorse or promote products derived 15# from this software without specific prior written permission. 16# 17# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 18# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 20# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 21# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 24# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 26# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 27# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28# 29# 30#Script to find if the boot device is SD card or UFS 31 32 33echo "Bootdevice setup: Starting..." > /dev/kmsg 34 35bootdevice=`getprop ro.boot.bootdevice` 36 37if [ "$bootdevice" = "8804000.sdhci" ]; then 38 ln -s /dev/block/platform/soc/8804000.sdhci /dev/block/bootdevice 39 echo "Waiting for SDHCI device to show up..." > /dev/kmsg 40 while [ ! -e "/dev/block/platform/soc/8804000.sdhci" ]; do 41 sleep 1 42 done 43elif [ "$bootdevice" = "1d84000.ufshc" ]; then 44 ln -s /dev/block/platform/soc/1d84000.ufshc /dev/block/bootdevice 45 echo "Waiting for UFS device to show up..." > /dev/kmsg 46 while [ ! -e "/dev/block/platform/soc/1d84000.ufshc" ]; do 47 sleep 1; 48 done 49else 50 while true; do 51 echo "Boot failure - invalid bootdevice ($bootdevice)" > /dev/kmsg 52 sleep 30; 53 done 54fi 55echo "Bootdevice setup: Completed ($bootdevice)" > /dev/kmsg 56