System Requirements
Relevant source files
The following files were used as context for generating this wiki page:
- README.md
- safe64.sh
- /proc/device-tree/model (Referenced hardware check)
- /boot/config.txt (Target configuration file)
- /boot/config.txt.bak (Backup requirement)
The safe64switch utility is designed to facilitate the transition of a Raspberry Pi OS environment from a 32-bit architecture to a 64-bit architecture. The system requirements focus on hardware verification, administrative access, and specific filesystem structures necessary for the modification of the boot configuration.
This module ensures that the target environment is a compatible Raspberry Pi device and that the system state is preserved through automated backups before applying kernel-level changes.
Sources: README.md:1-5, safe64.sh:1-10
Hardware Requirements
The script performs an explicit check to verify the host hardware. The system must identify itself as a Raspberry Pi via the device tree.
- Platform: Raspberry Pi (any model supporting 64-bit architecture).
- Identification Method: The file
/proc/device-tree/modelmust contain the string "Raspberry Pi".
The diagram shows the hardware validation logic used to prevent execution on incompatible Linux distributions or hardware platforms.
Sources: safe64.sh:11-15
Software and Environment Requirements
To successfully execute the 64-bit transition, the environment must meet the following software prerequisites:
Operating System and Shell
- Shell: A Bourne-Again Shell (
/bin/bash) environment is required for script execution. - Permissions: Root or
sudoprivileges are mandatory to modify system files located in/boot.
File System Access
The script interacts with specific paths on the boot partition. The following table describes the required file access and modifications:
| Path | Purpose | Action |
|---|---|---|
/boot/config.txt | Primary system configuration file | Read/Write/Append |
/boot/config.txt.bak | Configuration backup | Create/Overwrite |
/proc/device-tree/model | Hardware identification | Read-only |
Sources: README.md:11-15, safe64.sh:1-20
Configuration Requirements
The system must be capable of supporting specific kernel flags and memory allocations within the /boot/config.txt file.
Kernel Configuration
The utility requires the ability to append the arm_64bit=1 directive to the configuration. If this string is already present and active, the script identifies it to avoid redundant entries.
Performance Adjustments
While not strictly required for the 64-bit switch, the system is configured to support minimal GPU memory allocation to optimize available system RAM for 64-bit operations.
This sequence illustrates the data flow between the script and the boot configuration files during the enablement process.
Sources: safe64.sh:17-33
Summary of Operational Prerequisites
- Architecture Support: The underlying CPU must support the ARMv8-A architecture (or newer) to utilize the 64-bit kernel mode enabled by the script.
- Backup Integrity: The
/bootpartition must have sufficient free space to store a backup copy of the configuration file. - Reboot Cycle: A system restart is required post-execution to allow the firmware to read the updated
config.txtand load the 64-bit kernel.
Sources: README.md:7-10, safe64.sh:35-37