{"id":20555164,"url":"https://github.com/angela-d/firmware_oneplus","last_synced_at":"2025-04-14T12:43:43.001Z","repository":{"id":37631541,"uuid":"185498559","full_name":"angela-d/firmware_oneplus","owner":"angela-d","description":"Extract only firmware and radios from the official OxygenOS image for Oneplus 3, 3T, 5 \u0026 5T devices to create flashable zip files for OTA updates on Lineage OS.","archived":false,"fork":false,"pushed_at":"2021-01-24T22:12:46.000Z","size":1443822,"stargazers_count":25,"open_issues_count":1,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-28T01:53:32.450Z","etag":null,"topics":["lineage-device","lineageos","microg","oneplus3","oneplus3t","oneplus5","oneplus5t","oxygenos"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/angela-d.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-08T00:36:00.000Z","updated_at":"2024-09-29T09:37:29.000Z","dependencies_parsed_at":"2022-09-08T10:50:23.861Z","dependency_job_id":null,"html_url":"https://github.com/angela-d/firmware_oneplus","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angela-d%2Ffirmware_oneplus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angela-d%2Ffirmware_oneplus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angela-d%2Ffirmware_oneplus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angela-d%2Ffirmware_oneplus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angela-d","download_url":"https://codeload.github.com/angela-d/firmware_oneplus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248883309,"owners_count":21177189,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lineage-device","lineageos","microg","oneplus3","oneplus3t","oneplus5","oneplus5t","oxygenos"],"created_at":"2024-11-16T03:16:50.339Z","updated_at":"2025-04-14T12:43:42.978Z","avatar_url":"https://github.com/angela-d.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oneplus Firmware Extractor\nEasily extract the firmware and modem from stock OxygenOS images for use with other roms.\n\n## No OxygenOS flash to your device is necessary\nYou can sideload the extracted firmware without needing to flash OxygenOS over your existing Lineage or MicroG Lineage OS.\n\nExtract the official firmware by yourself, without relying on third parties or potentially untrustworthy hosting sites.\n\n## Compatibility\nTo run the extract script:\n- Any operating system with bash; all Linux distros and MacOS.  Not tested on Windows or WSL.\n\nDevice:\n- For Oneplus 3, 3T, 5 and 5T devices\n\nLineage/MicroG Lineage versions:\n- v16 / Android 9 Pie\n- v17 / Android 10\n\n*Later versions of Lineage may work, but have not been tested.  Use at your own risk for beta versions!*\n\n## How to Use\n1. Clone this repository\n```bash\ngit clone --depth=1 https://github.com/angela-d/firmware_oneplus.git\n```\n*(Use --depth=1 to avoid pulling in legacy objects from the original repo)*\n\n2. Obtain the *latest* copy of OxygenOS from [Oneplus](https://www.oneplus.com/support/softwareupgrade) as a **.zip**\n3. In your terminal, navigate to the directory where you cloned this repo: `cd firmware_oneplus \u0026\u0026 ls -l` - if you see the directory contents, you're ready to go\n\nAs of v2.0, the command-line options have been greatly simplified, using interactive prompts.\n\nTo trigger the tool, simply run:\n\n```bash\n./extract\n```\nor\n```bash\n/path/to/extract\n```\nThat's it!  The screen will prompt and guide you through the process.\n\nSuccessful image generated:\n\n![Flashable Firmware Generated](./img/flashable.png)\n\n\nImage mis-match (built-in error checking):\n\n![Image Mis-Match](./img/invalid-img.png)\n\n\nPre-packaged zip ready to go (the screenshot is focused on the *extracted* image, showing that all of the OxygenOS stuff is gone and only the desired update remains):\n\n![Generated Image](./img/generated-files.png)\n\n***\n\n## Updating Your Device\nOnce **extract** completes, locate your flashable zip (the terminal will tell you the path!)\n\n- Connect your device to your computer via USB and run `adb devices` from your terminal to initiate a connection\n- In TWRP Recovery (if you aren't in recovery yet: [instructions to get there](boot-into-recovery.md)):\n\n\n1. Advanced\n2. Sideload\n3. TWRP will prompt sideloading has started; from your terminal, run:\n```bash\nadb sideload firmware-update-oneplus5T.zip\n```\n\nThat's it.\n\nNote: If you tried to update before flashing the firmware, you may get an \"update failed\" notification once Lineage boots back up.  Simply go to Settings \u003e Update \u003e Install again and let it do it's thing.  It should then finish the upgrade with the latest Oneplus firmware.\n\n## Current Firmware\nSee note about OTA updates below.\n\nObtain the original Oxygen image from [Oneplus](https://www.oneplus.com/support/softwareupgrade) for your device.\n\n- As of Oct 31, 2020 the latest firmware for [Oneplus 5 cheeseburger](https://review.lineageos.org/c/LineageOS/android_device_oneplus_cheeseburger/+/287278/) is **10.0.0 hotfix 1**\n- As of Nov 14, 2020 the latest firmware for [Oneplus 5T dumpling](https://review.lineageos.org/c/LineageOS/android_device_oneplus_dumpling/+/292284) is **10.0.1**\n- As of Jun 15, 2019 the latest firmware for [Oneplus 3/3T oneplus3](https://github.com/LineageOS/android_device_oneplus_oneplus3/commit/97803deb60f30939ba2c3fa8637a7812f89c5b1b) is **9.0.2**\n\nNote that 3/3T has Lineage v16 \u0026 v17 available; v17 has **not** been tested with this script.\n\n## OTA Updates\nOver the air (OTA) updates requiring the latest firmware aren't always forced by Lineage / MicroG Lineage, even if Oneplus has published a later version than what you're running.\n\nIn this event:\n1. Check [download.lineageos.org](https://download.lineageos.org/) for your specific device -\u003e Recent changes\n2. Scroll until you see a \"firmware\" change referenced with the latest version number listed\n\nIf nothing (later than your running version) is there, go about your day (or, force a firmware update if you really want to).\n\nForcing a firmware update appears to be successful, but the \"Vendor security patch\" displayed in **Settings \u003e About phone \u003e Android version** still won't update.\n\n\n### Caveats\nNo responsibility to anyone but yourself if you brick your device!\n\n## Author \u0026 License\nForked concept originally by [Koenkk](https://github.com/Koenkk/firmware_oneplus); his commits licensed under public domain (no license)\n\nCode by [Angela](https://github.com/angela-d) licensed under GPL2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangela-d%2Ffirmware_oneplus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangela-d%2Ffirmware_oneplus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangela-d%2Ffirmware_oneplus/lists"}