| # Copyright 2019 The Chromium OS Authors. All rights reserved. |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=5 |
| |
| DESCRIPTION="Ebuild that installs the chromeos disk firmware payload." |
| SRC_URI="gs://chromeos-localmirror/distfiles/${P}.tbz2" |
| |
| LICENSE="Google-Partners-Website" |
| SLOT="0" |
| KEYWORDS="-* amd64 x86" |
| |
| DEPEND="" |
| RDEPEND="${DEPEND} |
| chromeos-base/disk_updater" |
| |
| S=${WORKDIR} |
| |
| src_install() { |
| local fw_file i |
| local fw_dir="/opt/google/disk/firmware" |
| local fw_rules="${D}/${fw_dir}/rules" |
| |
| insinto /opt |
| doins -r opt/* |
| |
| # Create symlink at /lib/firmware to the eMMC firmware binaries. |
| # The firmware files will be downloaded from the root partition by the |
| # kernel through udev, and then uploaded to the eMMC device. |
| # The firmware names are the 5th parameters of the rule file: |
| # <device part number> <old fw version> <new fw version> <options> <image> |
| for i in $(cut -d ' ' -f 5 "${fw_rules}"); do |
| fw_file="${D}/${fw_dir}/${i}" |
| if [[ -f "${fw_file}" ]]; then |
| dosym "${fw_dir}/${i}" "/lib/firmware/${i}" |
| fi |
| done |
| } |