diff options
author | Kotaro Hashimoto <Hashimoto.Kotaro@ds.MitsubishiElectric.co.jp> | 2016-04-25 10:30:09 +0900 |
---|---|---|
committer | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2016-05-02 11:57:29 +0200 |
commit | a507d328e4216858026682fbc7c97246a38bdb20 (patch) | |
tree | c9e1b855ac9ad506186a0b495372dd9f53294c9e /scripts | |
parent | 830bc3ca3237188a13c7366334ee9d0e7e4797cf (diff) |
Add DragonBoard-410c as target board
This patch adds the dragonboard-410c as DragonBoard-410c target.
There are instructions to write image into eMMC and boot system at:
https://github.com/96boards/documentation/wiki/Dragonboard-410c-Installation-Guide-for-Linux-and-Android#flash-the-bootloader-into-on-board-emmc
v2: Rebase after merge conflict (jsmoeller)
v3: Generalize the eula script into function to be reuseable (jsmoeller)
Depends-On: Idcad2c27539af130704a3c66efe6b91868eef534
Change-Id: I52e5d732c865989796158016758e6e745c74cac8
Signed-off-by: Kotaro Hashimoto <Hashimoto.Kotaro@ds.MitsubishiElectric.co.jp>
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/envsetup.sh | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/scripts/envsetup.sh b/scripts/envsetup.sh index c445a80d0..6be4d38e1 100644 --- a/scripts/envsetup.sh +++ b/scripts/envsetup.sh @@ -1,5 +1,87 @@ #!/bin/bash +find_and_ack_eula() { + # Handle EULA , if needed. This is a generic method to handle BSPs + # that might (or not) come with a EULA. If a machine has a EULA, we + # assume that its corresponding layers has conf/EULA/$MACHINE file + # with the EULA text, which we will display to the user and request + # for acceptance. If accepted, the variable ACCEPT_EULA_$MACHINE is + # set to 1 in local.conf, which can later be used by the BSP. + # If the env variable EULA_$MACHINE is set it is used by default, + # without prompting the user. + # FIXME: there is a potential issue if the same $MACHINE is set in more than one layer.. but we should assert that earlier + EULA=$(find $1 -print | grep "conf/eula/$MACHINE" | grep -v scripts | grep -v openembedded-core || true) + if [ -n "$EULA" ]; then + # remove '-' since we are constructing a bash variable name here + EULA_MACHINE="EULA_$(echo $MACHINE | sed 's/-//g')" + # NOTE: indirect reference / dynamic variable + if [ -n "${!EULA_MACHINE}" ]; then + # the EULA_$MACHINE variable is set in the environment, so we just configure + # ACCEPT_EULA_$MACHINE in local.conf + EULA_ACCEPT=${!EULA_MACHINE} + else + # so we need to ask user if he/she accepts the EULA: + cat <<EOF +The BSP for $MACHINE depends on packages and firmware which are covered by an +End User License Agreement (EULA). To have the right to use these binaries +in your images, you need to read and accept the following... + +The firmware package can contains several types +of firmware (depending on BSP): + +* bootloaders: the first stage bootloaders are proprietary for this + board, they are included in this firmware package. +* firmware for the power management 'companion' core: on QCOM SoC some + power management features are implemented in a companion core , called + RPM, and not on the main CPU. +* firmware for GPU, WLAN, DSP/GPS and video codecs. These firmware are + used by their respective linux drivers (DRM, wlan, v4l2, .. ) and are + loaded on-demand by the main CPU onto the various cores on the SoC. +EOF + + echo + REPLY= + while [ -z "$REPLY" ]; do + echo -n "Do you read the EULA ? (y/n) " + read REPLY + case "$REPLY" in + y|Y) + READ_EULA=1 + ;; + n|N) + READ_EULA=0 + ;; + *) + REPLY= + ;; + esac + done + + if [ "$READ_EULA" == 1 ]; then + more -d ${EULA} + echo + REPLY= + while [ -z "$REPLY" ]; do + echo -n "Do you accept the EULA you just read? (y/n) " + read REPLY + case "$REPLY" in + y|Y) + echo "EULA has been accepted." + EULA_ACCEPT=1 + ;; + n|N) + echo "EULA has not been accepted." + ;; + *) + REPLY= + ;; + esac + done + fi + fi + fi +} + if [ -z $1 ]; then echo -e "Usage: source envsetup.sh <board/device> [build dir]" return 1 @@ -8,6 +90,8 @@ fi MACHINE="$1" echo "MACHINE=$MACHINE" +EULA_ACCEPT=0 + case "$MACHINE" in "porter") # setup proprietary gfx drivers and multimedia packages @@ -55,6 +139,9 @@ case "$MACHINE" in ;; "wandboard") ;; + "dragonboard-410c") + find_and_ack_eula meta-qcom + ;; *) # nothing to do here echo "WARN: '$MACHINE' is not tested by AGL Distro" @@ -109,3 +196,13 @@ fi export BB_ENV_EXTRAWHITE unset TEMPLATECONF + +case "$EULA_ACCEPT" in + 1) + echo "" >> conf/local.conf + echo "# EULA" >> conf/local.conf + echo "ACCEPT_EULA_$MACHINE = \"1\"" >> conf/local.conf + ;; + *) + ;; +esac |