OpenHandheldCollective / OpenABL
git clone https://github.com/OpenHandheldCollective/OpenABL.git
v1.1 · 1d ago
A graphical boot menu and standard Linux boot for Qualcomm handhelds, built into Qualcomm's Android bootloader (ABL).
—
stars, 24h
+38
stars, 7 days · #1,108
+38
stars, 30 days · #7,545
38
★ total · +38% this week
10
forks · 4 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC
LicenseGPL-3.0
Created2026-10-13 (7d ago)
Last pushtoday
Watchers0
OwnerOrganization
Links
README excerpt
A graphical boot menu and standard Linux boot for Qualcomm handhelds, built into Qualcomm's Android bootloader (ABL). OpenABL is Qualcomm's ABL with one patch and a few added files (`Abl/`). It carries the menu program in its firmware volume and starts it instead of its own fastboot menu. The main menu and the boot entries, rendered by the simulator (`make sim`). Supported chipsets: SDM845, SM4450, SM6115, SM6450, SM7675, SM8250, SM8550, SM8650 and SM8750. ## Using it Flash the image for your chipset to the ABL partition (both slots on A/B devices): [code] [code] At power-on: | Held | What happens | |---|---| | Nothing | Boots the selected *Boot mode* (Linux or Android) from the *Boot source*. If nothing boots, the menu opens and shows why. | | Volume Down | Opens the menu. Fastboot still works over USB while it is open. `fastboot reboot bootloader` also opens it. | | Volume Up | Boots Android when the boot mode is Linux, or Android recovery when it is Android. With *Volume up at boot* set to *Linux (external)*, boots Linux from the SD card or a USB drive instead. | In the menu, Volume Up and Down move the selection and Power selects. | Item | What it does | |---|---| | Start | Boots the current boot mode (*Start Linux* or *Start Android*). | | Boot entries | Lists everything *Start* would try, in order: boot entries, each drive's `\EFI\BOOT\BOOTAA64.EFI`, then the boot image. Picking one boots only that entry. Shown only when there is more than one. | | Restart bootloader | Restarts into the menu. | | Recovery mode | Restarts into Android recovery. | | Emergency download mode | Restarts into Qualcomm EDL mode, after a confirmation. | | Boot other slot | Switches to the other A/B slot. Shown on A/B devices. | | Boot mode | Linux or Android. | | ABL mode | Silent, or Verbose to show the ABL's log on screen while booting. | | Volume up at boot | Sets what holding Volume Up at power-on does. | | Boot source | Auto (internal storage first), Internal, SD card or USB. | | Off-mode charging | Shows the charger screen when plugged in while powered off. | | Display rotation | Auto (from the device model) or fixed at 0, 90, 180 or 270 degrees. | | Custom boot logo | Replaces the manufacturer's logo at boot with the pictures in a `\logo` folder (see below), or the OpenABL wordmark if there are none. Off by default. | | Device model | Selects the devicetree Linux boots with, from the `.dtb` files in `\boot\grub`, `\dtbs`, `\dtbs\qcom`, `\dtb` or `\dtb\qcom` on the boot source's drives, or else the devicetrees appended to a drive's boot image. A boot entry's own devicetree takes precedence. *Firmware default* uses the firmware's own. | | Log | Shows the ABL's and the menu's log. | | Device info | Shows the chip, platform, PMICs, memory, storage, panel and firmware versions. | | Uninstall CFW | Removes a Linux install from internal storage, after a confirmation. Shown only when one is installed. | | Power off | Shuts down. | Settings are stored as UEFI var