diff --git a/README.md b/README.md index 96a1ec4..e271e8d 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,61 @@ Original source code repositories: - [GitHub - LineageOS/android_hardware_samsung_nfc](https://github.com/LineageOS/android_hardware_samsung_nfc) - [GitHub - LineageOS/android](https://github.com/LineageOS/android) + +## Usage + +Follow [Lineage OS for Samsung S5 Neo guide](https://wiki.lineageos.org/devices/s5neolte/build) **until** `brunch s5neolte` command. Before issuing that command, you need to put files of this repository in place. + +## Some notes about the official LineageOS build guide + + - **DO NOT** install `recovery.img`. LineageOS Recovery is horrible, TWRP is great. Use TWRP. Thanks. If you mistakenly install `recovery.img` anyway, getting rid of it requires use of heimdall to flash back TWRP `recovery.img` (`heimdall flash --RECOVERY .img`) + + - Install only contents of LineageOS zip file `lineage-18.1-YYYYMMDD-UNOFFICIAL-s5neolte.zip` using TWRP + + - I use `ccache` with setting `10G` + + - You may already have `repo` command pre-installed on your system + + - Use command `repo init -u https://github.com/LineageOS/android.git -b lineage-18.1` + + - `./extract-files.sh` commands relative to LineageOS source dir: + + - `device/samsung/universal7580-common/extract-files.sh` + + - `device/samsung/s5neolte/extract-files.sh` + + - Both must be executed + + - In order to `./extract-files.sh` commands fully succeed, you must have Samsung Android `6.0.1` preinstalled on your phone. Otherwise you get errors for missing files. + +## LineageOS requirements for s5neolte + +- If you have original Samsung Android OS installed, it must be version `6.0.1`. LineageOS installation on phones using older Android versions (`5.1.1`, etc.) simply fails. + + - If you do not have Android `6.0.1` , get official Samsung update with [samloader](https://github.com/nlscc/samloader). Extract `zip` and `tar.md5` files, until you get all required `.img` and `.bin` files. Flash extracted `.bin` and `.img` files with [heimdall](https://github.com/Benjamin-Dobell/Heimdall) + + - Samloader [Arch Linux PKGBUILD (AUR)](https://aur.archlinux.org/packages/samloader-git/) + + - Take backup with TWRP before issuing `heimdall` commands + + - Relevant files are as follows: `boot.img`, `system.img`, `userdata.img`, `cm.bin`, `param.bin`, `sboot.bin`, `modem.bin`, `cache.img`, `hidden.img` + + - If you use custom recovery such as TWRP, **do not** flash `recovery.img` + + - File `S5NEOLTE__OPEN.pit` is a partition definition file. You may extract one directly from your phone using `heimdall`, as well. + + - You must patch heimdall to successfully flash your Samsung S5 Neo phone. Compile heimdall, and apply patch file [misc/heimdall/patch_filepartindex.patch](misc/heimdall/patch_filepartindex.patch). See [this GitHub issue](https://github.com/Benjamin-Dobell/Heimdall/issues/347) for details. + + - Heimdall source code: [GitHub - alexax66/Heimdall](https://github.com/alexax66/Heimdall) + + - Heimdall [Arch Linux PKGBUILD](https://github.com/archlinux/svntogit-community/tree/packages/heimdall/trunk) + + - Heimdall usage and command explanations: [SAMMobile - [Firmware]Restoring Stock Firmware with Heimdall](https://www.sammobile.com/forum/threads/45894-Restoring-Stock-Firmware-with-Heimdall) + + - Heimdall flash command for Samsung S5 Neo: `heimdall flash --BOOT boot.img --SYSTEM system.img --USERDATA userdata.img --CM cm.bin --PARAM param.bin --BOOTLOADER sboot.bin --RADIO modem.bin --CACHE cache.img --HIDDEN hidden.img` + +## Additional tips + +- You may build parts of LineageOS using `mm` and `mmm` commands after sourcing `build/envsetup.sh` + + - This is useful for partial patches