diff --git a/product-source/hololake-platform/guanghu-os/scripts/set-jd-native-default.sh b/product-source/hololake-platform/guanghu-os/scripts/set-jd-native-default.sh deleted file mode 100755 index f4eda9cca..000000000 --- a/product-source/hololake-platform/guanghu-os/scripts/set-jd-native-default.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -[[ $# -eq 3 ]] || { - echo "usage: set-jd-native-default.sh " >&2 - exit 64 -} -[[ ${EUID} -eq 0 ]] || exit 77 - -world_root=$(readlink -f "$1") -recovery_root=$(readlink -f "$2") -expected_candidate_sha=$3 -[[ ${expected_candidate_sha} =~ ^[0-9a-f]{64}$ ]] - -grep -q '^node_id: JD-FD-PRIMARY$' "${world_root}/CURRENT.hldp" -grep -q '^status: PASS_100$' "${recovery_root}/RETURN-RECEIPT.hldp" -/guanghu/bin/ghctl authorize "${world_root}" \ - overwrite_system_disk_and_exit_linux >/dev/null -grep -q "menuentry 'Guanghu OS JD native one-time resident'.*'guanghu-jd-native-once'" \ - /boot/grub/grub.cfg -grep -q "menuentry 'Ubuntu'.*'gnulinux-simple-9e4550a0-452b-4f28-b5a5-d5364aa450f6'" \ - /boot/grub/grub.cfg -grep -q "load_env --file '(hd0)139+2' guanghu_recovery" \ - /boot/grub/grub.cfg - -installed_sha=$(dd if=/dev/vda bs=512 skip=105 count=29 status=none | - sha256sum | awk '{print $1}') -[[ ${installed_sha} == "${expected_candidate_sha}" ]] - -cp /etc/default/grub "${recovery_root}/default-grub.before-native-default" -cp /boot/grub/grub.cfg "${recovery_root}/grub.cfg.before-native-default" -cp /boot/grub/grubenv "${recovery_root}/grubenv.before-native-default" -cat /proc/sys/kernel/random/boot_id \ - >"${recovery_root}/linux-boot-id.before-native-default" - -new_default=$(mktemp) -trap 'rm -f "${new_default}"' EXIT -awk ' - BEGIN { changed = 0 } - /^GRUB_DEFAULT=/ { - print "GRUB_DEFAULT=guanghu-jd-native-once" - changed = 1 - next - } - { print } - END { - if (!changed) { - print "GRUB_DEFAULT=guanghu-jd-native-once" - } - } -' /etc/default/grub >"${new_default}" -install -m 0644 "${new_default}" /etc/default/grub -update-grub >/dev/null - -grep -q '^GRUB_DEFAULT=guanghu-jd-native-once$' /etc/default/grub -grep -q 'set default="guanghu-jd-native-once"' /boot/grub/grub.cfg -grep -q "load_env --file '(hd0)139+2' guanghu_recovery" \ - /boot/grub/grub.cfg -grub-editenv /boot/grub/grubenv unset initrdfail prev_entry next_entry -! grub-editenv /boot/grub/grubenv list | - grep -Eq '^(initrdfail|prev_entry|next_entry)=.+$' - -observed_at=$(date --iso-8601=seconds) -cat >"${recovery_root}/NATIVE-DEFAULT-RECEIPT.hldp" < " >&2 - exit 64 -} -[[ ${EUID} -eq 0 ]] || exit 77 - -world_root=$(readlink -f "$1") -recovery_root=$(readlink -f "$2") -grep -q '^node_id: JD-FD-PRIMARY$' "${world_root}/CURRENT.hldp" -grep -q '^status: CONFIGURED_NOT_REBOOTED$' \ - "${recovery_root}/NATIVE-DEFAULT-RECEIPT.hldp" -/guanghu/bin/ghctl authorize "${world_root}" \ - run_tests_and_health_checks >/dev/null - -before_boot_id=$(<"${recovery_root}/linux-boot-id.before-native-default") -after_boot_id=$("${recovery_root}/NATIVE-DEFAULT-RETURN-RECEIPT.hldp" <