Aurora
Adminer
Auto Root
WP Admin
cPanel Reset
Anti Backdoor
Root
usr
lib
kernel
install.d
Upload
New Folder
New File
Name
Size
Permissions
Actions
..
-
-
-
Upload File
Select File
New Folder
Folder Name
New File
File Name
Add WordPress Admin
Database Host
Database Name
Database User
Database Password
Admin Username
Admin Password
cPanel Password Reset
Email Address
Edit: 90-loaderentry.install
#!/usr/bin/sh # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- # ex: ts=8 sw=4 sts=4 et filetype=sh # SPDX-License-Identifier: LGPL-2.1-or-later # # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # systemd is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see <https://www.gnu.org/licenses/>. set -e COMMAND="${1:?}" KERNEL_VERSION="${2:?}" ENTRY_DIR_ABS="${3:?}" KERNEL_IMAGE="$4" INITRD_OPTIONS_SHIFT=4 [ "$KERNEL_INSTALL_LAYOUT" = "bls" ] || exit 0 MACHINE_ID="$KERNEL_INSTALL_MACHINE_ID" ENTRY_TOKEN="$KERNEL_INSTALL_ENTRY_TOKEN" BOOT_ROOT="$KERNEL_INSTALL_BOOT_ROOT" BOOT_MNT="$(stat -c %m "$BOOT_ROOT")" if [ "$BOOT_MNT" = '/' ]; then ENTRY_DIR="$ENTRY_DIR_ABS" else ENTRY_DIR="${ENTRY_DIR_ABS#"$BOOT_MNT"}" fi case "$COMMAND" in remove) if [ -f "/lib/modules/$KERNEL_VERSION/vmlinuz" ] && [ "$KERNEL_INSTALL_BOOT_ENTRY_TYPE" = "type2" ]; then [ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && \ echo "BOOT_ENTRY_TYPE=type2, not removing loader entries." exit 0 fi [ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && \ echo "Removing $BOOT_ROOT/loader/entries/$ENTRY_TOKEN-$KERNEL_VERSION*.conf" exec rm -f \ "$BOOT_ROOT/loader/entries/$ENTRY_TOKEN-$KERNEL_VERSION.conf" \ "$BOOT_ROOT/loader/entries/$ENTRY_TOKEN-$KERNEL_VERSION+"*".conf" ;; add) ;; *) exit 0 ;; esac if [ -f /etc/os-release ]; then # shellcheck source=/dev/null . /etc/os-release elif [ -f /usr/lib/os-release ]; then # shellcheck source=/dev/null . /usr/lib/os-release fi [ -n "$PRETTY_NAME" ] || PRETTY_NAME="Linux $KERNEL_VERSION" SORT_KEY="$IMAGE_ID" [ -z "$SORT_KEY" ] && SORT_KEY="$ID" if [ -n "$KERNEL_INSTALL_CONF_ROOT" ]; then if [ -f "$KERNEL_INSTALL_CONF_ROOT/cmdline" ]; then BOOT_OPTIONS="$(tr -s "$IFS" ' ' <"$KERNEL_INSTALL_CONF_ROOT/cmdline")" fi elif [ -f /etc/kernel/cmdline ]; then BOOT_OPTIONS="$(tr -s "$IFS" ' ' </etc/kernel/cmdline)" elif [ -f /usr/lib/kernel/cmdline ]; then BOOT_OPTIONS="$(tr -s "$IFS" ' ' </usr/lib/kernel/cmdline)" else BOOT_OPTIONS="$(tr -s "$IFS" '\n' </proc/cmdline | grep -ve '^BOOT_IMAGE=' -e '^initrd=' | tr '\n' ' ')" fi BOOT_OPTIONS="${BOOT_OPTIONS% }" # If the boot entries are named after the machine ID, then suffix the kernel # command line with the machine ID we use, so that the machine ID remains # stable, even during factory reset, in the initrd (where the system's machine # ID is not directly accessible yet), and if the root file system is volatile. if [ "$ENTRY_TOKEN" = "$MACHINE_ID" ] && ! echo "$BOOT_OPTIONS" | grep -q "systemd.machine_id="; then BOOT_OPTIONS="$BOOT_OPTIONS systemd.machine_id=$MACHINE_ID" fi TRIES_FILE="${KERNEL_INSTALL_CONF_ROOT:-/etc/kernel}/tries" if [ -f "$TRIES_FILE" ]; then read -r TRIES <"$TRIES_FILE" if ! echo "$TRIES" | grep -q '^[0-9][0-9]*$'; then echo "$TRIES_FILE does not contain an integer." >&2 exit 1 fi LOADER_ENTRY="$BOOT_ROOT/loader/entries/$ENTRY_TOKEN-$KERNEL_VERSION+$TRIES.conf" else LOADER_ENTRY="$BOOT_ROOT/loader/entries/$ENTRY_TOKEN-$KERNEL_VERSION.conf" fi if ! [ -d "$ENTRY_DIR_ABS" ]; then echo "Error: entry directory '$ENTRY_DIR_ABS' does not exist" >&2 exit 1 fi install -m 0644 "$KERNEL_IMAGE" "$ENTRY_DIR_ABS/linux" || { echo "Error: could not copy '$KERNEL_IMAGE' to '$ENTRY_DIR_ABS/linux'." >&2 exit 1 } chown root:root "$ENTRY_DIR_ABS/linux" || : shift "$INITRD_OPTIONS_SHIFT" # All files listed as arguments, and staged files starting with "initrd" are installed as initrds. for initrd in "$@" "${KERNEL_INSTALL_STAGING_AREA}"/initrd*; do [ -f "$initrd" ] || { [ "$initrd" = "${KERNEL_INSTALL_STAGING_AREA}/initrd*" ] && continue echo "Error: initrd '$initrd' not a file." >&2 exit 1 } initrd_basename="${initrd##*/}" [ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && echo "Installing $ENTRY_DIR_ABS/$initrd_basename" install -m 0644 "$initrd" "$ENTRY_DIR_ABS/$initrd_basename" || { echo "Error: could not copy '$initrd' to '$ENTRY_DIR_ABS/$initrd_basename'." >&2 exit 1 } chown root:root "$ENTRY_DIR_ABS/$initrd_basename" || : done mkdir -p "${LOADER_ENTRY%/*}" || { echo "Error: could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2 exit 1 } [ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && echo "Creating $LOADER_ENTRY" { echo "title $PRETTY_NAME" echo "version $KERNEL_VERSION" if [ "$ENTRY_TOKEN" = "$MACHINE_ID" ]; then # See similar logic above for the systemd.machine_id= kernel command line option echo "machine-id $MACHINE_ID" fi [ -n "$SORT_KEY" ] && echo "sort-key $SORT_KEY" echo "options $BOOT_OPTIONS" echo "linux $ENTRY_DIR/linux" have_initrd= for initrd in "${@}" "${KERNEL_INSTALL_STAGING_AREA}"/initrd*; do [ -f "$initrd" ] || continue echo "initrd $ENTRY_DIR/${initrd##*/}" have_initrd=yes done # Try "initrd", generated by dracut in its kernel-install hook, if no initrds were supplied [ -z "$have_initrd" ] && [ -f "$ENTRY_DIR_ABS/initrd" ] && echo "initrd $ENTRY_DIR/initrd" : } >"$LOADER_ENTRY" || { echo "Error: could not create loader entry '$LOADER_ENTRY'." >&2 exit 1 } exit 0