mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 22:34:02 +01:00
raspberry_pi_nextcloud.sh 1276 -> 163, root_bl9000.sh 1116 -> 211, lookup_docs.sh 942 -> 165. Sixteen new libs. lookup_python was one 300-line function; its keyword-to-anchor mapping became python_keyword_doc, emitting result and desc tab-separated so the caller keeps its control flow. bl9000_mtkclient had cd X; work; cd - with three return paths. install_mtkclient became a subshell; extract_boot_with_mtkclient could not, since it exports BOOT_IMG - so the venv check moved before the cd, the cd is guarded, and the restores use a saved $PWD. Four more unguarded cd calls fixed, and a third instance of the lib chaining bug flattened. lookup_docs.sh had no SCRIPT_DIR at all. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
108 lines
3.6 KiB
Bash
Executable File
108 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Usage text and the argument parsing help.
|
|
#
|
|
# Sourced by root_bl9000.sh; split out to keep it under the 250-line cap.
|
|
# Sourced rather than run, so it inherits the caller's strict mode and
|
|
# the helper functions and variables defined above the source line.
|
|
|
|
usage() {
|
|
cat << EOF
|
|
Usage: $SCRIPT_NAME [OPTIONS] [COMMAND]
|
|
|
|
Root BL9000 phone from Arch Linux using Magisk.
|
|
|
|
Commands:
|
|
install-deps Install required dependencies (adb, fastboot, tools)
|
|
install-mtk Install MTKClient for MediaTek boot extraction
|
|
check Check device connection and prerequisites
|
|
backup Backup phone data before unlocking bootloader
|
|
unlock Unlock bootloader (WARNING: wipes all data!)
|
|
extract-mtk Extract boot.img using MTKClient (for MediaTek devices)
|
|
patch Patch boot.img with Magisk (manual step on phone)
|
|
flash [IMG] Flash patched boot image (uses magisk_patched.img or specified file)
|
|
auto-root Automated: extract -> patch -> flash in one command
|
|
root Extract boot, patch with Magisk, and flash
|
|
full Run complete rooting process (deps + unlock + root)
|
|
clean Remove temporary working directory
|
|
help Show this message
|
|
|
|
Options:
|
|
-h, --help Show this message
|
|
--work-dir DIR Set working directory (default: $WORK_DIR)
|
|
--boot-img FILE Use existing boot.img instead of extracting from device
|
|
|
|
Examples:
|
|
$SCRIPT_NAME install-deps # Install required tools
|
|
$SCRIPT_NAME install-mtk # Install MTKClient for boot extraction
|
|
$SCRIPT_NAME check # Verify device connection
|
|
$SCRIPT_NAME backup # Backup phone data first!
|
|
$SCRIPT_NAME extract-mtk # Extract boot.img with MTKClient
|
|
$SCRIPT_NAME auto-root # Automated rooting (extract + patch + flash)
|
|
$SCRIPT_NAME full # Complete rooting process
|
|
$SCRIPT_NAME root # Root only (assumes bootloader unlocked)
|
|
|
|
WARNING: Unlocking the bootloader will ERASE ALL DATA on your phone!
|
|
Make sure to back up important data before proceeding.
|
|
|
|
EOF
|
|
}
|
|
|
|
|
|
|
|
run_full_process() {
|
|
print_header "BL9000 Full Root Process"
|
|
|
|
log "Starting complete rooting process..."
|
|
|
|
install_dependencies || die "Failed to install dependencies"
|
|
setup_udev_rules || true
|
|
|
|
echo
|
|
if ! confirm "Continue to device check?"; then
|
|
die "Process cancelled by user"
|
|
fi
|
|
|
|
check_device || die "Device check failed"
|
|
|
|
echo
|
|
if ! confirm "Continue to backup device data?"; then
|
|
die "Process cancelled by user"
|
|
fi
|
|
|
|
backup_device_data || warn "Backup failed or incomplete"
|
|
|
|
echo
|
|
if ! confirm "Continue to bootloader unlock?"; then
|
|
die "Process cancelled by user"
|
|
fi
|
|
|
|
unlock_bootloader || die "Bootloader unlock failed"
|
|
|
|
echo
|
|
log "Please complete device setup and re-enable USB debugging, then press Enter..."
|
|
read -r
|
|
|
|
check_device || die "Device check failed after unlock"
|
|
|
|
download_magisk || die "Failed to download Magisk"
|
|
extract_boot_image || die "Failed to extract boot image"
|
|
patch_boot_with_magisk || die "Failed to patch boot image"
|
|
flash_patched_boot || die "Failed to flash patched boot"
|
|
|
|
log "Full root process completed successfully!"
|
|
}
|
|
|
|
run_root_only() {
|
|
print_header "BL9000 Root Process (Skip Unlock)"
|
|
|
|
log "Starting root process (assuming bootloader is already unlocked)..."
|
|
|
|
check_device || die "Device check failed"
|
|
download_magisk || die "Failed to download Magisk"
|
|
extract_boot_image || die "Failed to extract boot image"
|
|
patch_boot_with_magisk || die "Failed to patch boot image"
|
|
flash_patched_boot || die "Failed to flash patched boot"
|
|
|
|
log "Root process completed successfully!"
|
|
}
|