# Copyright 2018 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     "Modem firmware updater daemon"
author          "ejcaruso@chromium.org"

start on starting system-services
stop on stopping system-services

pre-start script
  mkdir -p /run/modemfwd
  chown modem:modem /run/modemfwd
end script

# Default helper directory is /opt/google/modemfwd-helpers and if the
# firmware directory isn't specified we load from the cellular component.
exec minijail0 -u modem -g modem -G -n /usr/bin/modemfwd \
    --firmware_directory=/opt/google/modemfwd-firmware
