#!/bin/sh # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2020-present Matthias Reichl # Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv) EARLY_DIR="$2" log() { echo "libreelec-target-generator: $@" > /dev/kmsg } if [ -z "$EARLY_DIR" ]; then log "error: generator directory missing" exit 1 fi TARGET="" for arg in $(cat /proc/cmdline); do case "$arg" in textmode) TARGET="textmode.target" ;; installer) TARGET="installer.target" ;; esac done BACKUP_EXTENSION_LIST=".tar .tar.gz .tar.bz2 .tar.xz" for extension in $BACKUP_EXTENSION_LIST; do BACKUP_FILE=$(ls -1 /storage/.restore/*${EXTENSION} 2>/dev/null | head -n 1) [ -n "${BACKUP_FILE}" ] && break done if [ -f /storage/.please_resize_me ]; then TARGET="fs-resize.target" elif [ -f /storage/.cache/reset_hard -o -f /storage/.cache/reset_soft ]; then TARGET="factory-reset.target" elif [ -f "$BACKUP_FILE" ]; then TARGET="backup-restore.target" elif [ -f /storage/.rpi_flash_firmware ]; then TARGET="rpi-flash-firmware.target" fi if [ -n "$TARGET" ]; then ln -sT "/usr/lib/systemd/system/$TARGET" "$EARLY_DIR/default.target" 2>/dev/kmsg || log "error creating symlink to $TARGET: $?" fi