| # Copyright 2017 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| description "Firmware updating task before UI" |
| author "chromium-os-dev@chromium.org" |
| |
| start on starting ui |
| |
| # This job blocks the start of UI and calls all the tasks sequentially at boot |
| # if the tasks: |
| # 1. Show up the boot message by calling `chromeos-boot-alert`. |
| # 2. Leave the message and enter Chrome UI normally after it is finished. |
| # Please make sure the tasks running here DO NOT take a long time in the no-op |
| # case because this job BLOCKS the UI startup. |
| |
| # It has no main script so that it only runs once at boot before UI starts. |
| pre-start script |
| # Get the pid of frecon. |
| frecon_pid="$(pgrep frecon)" |
| |
| # Update detachable keyboard firmware. |
| HAMMERD_SCRIPT='/usr/share/cros/init/hammerd-at-boot.sh' |
| if [ -e "${HAMMERD_SCRIPT}" ]; then |
| logger -t "${UPSTART_JOB}" "Update keyboard firmware." |
| "${HAMMERD_SCRIPT}" |
| fi |
| # Update touch firmware. |
| TOUCH_SCRIPT='/opt/google/touch/scripts/chromeos-touch-update.sh' |
| if [ -e "${TOUCH_SCRIPT}" ]; then |
| logger -t "${UPSTART_JOB}" "Update touch firmware." |
| "${TOUCH_SCRIPT}" |
| fi |
| |
| # Restore frecon if chromeos-boot-alert was called. |
| if [ "${frecon_pid}" != "$(pgrep frecon)" ]; then |
| logger -t "${UPSTART_JOB}" "Restore frecon." |
| pkill -9 -f frecon |
| if is_developer_end_user; then |
| frecon --daemon --enable-osc --enable-vts --pre-create-vts |
| fi |
| fi |
| end script |