<- back

LineageOS 14.1 on the Galaxy S II (GT-I9100)

March 19, 2025, updated June 22nd, 2025

CWs: none


Hiya, this a modified version of the LineageOS guide for installing the last official build (LOS 14.1, Android 7.1.2) on the Samsung Galaxy S II, model GT-I9100. Take this as me documenting what I did to get this working, this isn't a fully rewritten guide for all OSs by any means. Tested on Ubuntu 24.04. This guide shows a minimal install and does not contain how to install GApps or other add-ons. You do not need an SD card!

This guide is provided as-is with no warranty!

DOWNLOAD THIS .ZIP. it contains all the files i mentioned. I only realized to put everything in a zip after i wrote everything. Password is "ikuda".


Basic requirements

  1. Read through the instructions at least once before actually following them, so as to avoid any problems due to any missed steps!
  2. This guide is written for Linux.
  3. Make sure your computer has adb. (sudo apt install adb)
  4. Enable USB debugging on your device.
  5. Make sure that your model number is GT-I9100 (exact match required!)
  6. Boot your device with the stock OS at least once and check every functionality.
  7. Remove all Google accounts from your device to avoid potential issues.

Warning: Make sure that you can send and receive SMS and place and receive calls (also via WiFi and LTE, if available), otherwise it won't work on LineageOS either!


Preparing for installation

Samsung devices come with a unique boot mode called “Download mode”, which is very similar to “Fastboot mode” on some devices with unlocked bootloaders. Heimdall is a cross-platform, open-source tool for interfacing with Download mode on Samsung devices. The preferred method of installing a custom recovery is through Download Mode, rooting the stock firmware is neither necessary nor required.

  1. Download and install the appropriate version of the Heimdall suite.
    • Extract the s2-los14.1-thingies-ikuda.zip file. Now copy "heimdall" into a directory in $PATH, a common one on most distros will be /usr/local/bin. You can verify Heimdall is functioning by opening a Terminal and running heimdall version.
    • SHA-512 (heimdall):
      d5711aefc3b70847ec13f2a16bad345d94bf18eb5518c14408df037c74cba87d92d06ba7dea97a668acdf046a0aa09caacc669e5db3c458cf3e259d317f33311
  2. Power off the device, and boot it into download mode
    • With the device powered off, hold Volume Down + Home + Power.
    • Now, click the button that the on screen instructions correlate to “Continue”, and insert the USB cable into the device.
  3. On your machine, open a terminal window, and type: heimdall print-pit
  4. If the device reboots that indicates that Heimdall is installed and working properly. If it does not, please refollow these instructions to verify steps weren't missed, try a different USB cable, and a different USB port.

Prerequisites for this part

THESE ARE ALL IN THE .ZIP! Keeping these here for the hashes.

  1. TWRP, version 3.1.0-0.
    • SHA-512 (twrp-3.1.0-0-i9100.img):
      cbfb9f447270915c568a16cd7b55a33176d0e1e0c24ef25ddacebdd438d92598a477e23d2754562554f814c55195ceaefcbcbbd49853172d8ce77ad1031965a0
  2. PIT file made by the.gangster.
    • SHA-512 (I9100_1.5GB-System_6GB-Data_512MB-Preload_by-the.gangster.pit):
      75493016be23cd36da25f61cc276c2c97e72054583239106fa1c88d33b3ba215da88ae22413221bbd37ba056f40a66bff91481f971849325598d84f6c603f24a
  3. LineageOS 14.1.
    • SHA-512 (lineage-14.1-20181216-nightly-i9100-signed.zip):
      08517a258934999da5c531ab71185b90c49c85a9fb1dff05f5c90bd08f4d792393b9251cb1efffc997ea292186c517115ec410f3a275eb9bf248dda01779dbe1
  4. Extract the boot.img file from the LOS 14.1 archive, or download a copy of it!
    • SHA-512 (boot.img):
      eaa8adcd334450b460422624068bd192b43a1a209552ef441bbe78d5b449f7da5d1577ab2443462e191de9872eeb988583bc83e6601896b7e2c15387e8242f84

Tip: If downloading TWRP from the official website, ensure you download the .img file.


  1. Power off the device, and boot it into download mode:
    • With the device powered off, hold Volume Down + Home + Power.
    • Now, click the button that the on screen instructions correlate to “Continue”, and insert the USB cable into the device.
  2. On your machine, open a terminal window, and type:

    sudo heimdall flash --repartition --pit /path/to/I9100_1.5GB-System_6GB-Data_512MB-Preload_by-the.gangster.pit --KERNEL /path/to/boot.img --RECOVERY /path/to/twrp-3.1.0-0-i9100.img --no-reboot

    Tip: Update the paths in the command before running, and the names if you've renamed them.


  3. A transfer bar will appear on the device showing the recovery image being flashed.

    Note: The device will continue to display Downloading... Do not turn off target!! even after the process is complete.


  4. Manually reboot into recovery by pressing the Volume Down + Power buttons for a few seconds seconds until the screen turns black & release the buttons immediately when it does, then boot to recovery:
    • With the device powered off, hold Volume Up + Home + Power.

    Note: Be sure to reboot into recovery immediately after installing the custom recovery.



Installing LineageOS from recovery

  1. If you are not in recovery, reboot into recovery:
    • With the device powered off, hold Volume Up + Home + Power.
  2. Now tap Wipe.
  3. Now tap Advanced Wipe and select: Dalvik / ART Cache, Cache, System, Data, Internal-Storage, and Android Secure.
  4. Swipe to Wipe the selected partitions. Then go back to the TWRP homescreen.
  5. Sideload the LineageOS .zip package:
    • On the device, select “Advanced”, “ADB Sideload”, then swipe to begin sideload.
    • On the host machine, sideload the package using: adb -d sideload /path/to/lineage-14.1-20181216-nightly-i9100-signed.zip

    • According to the original guide: “Normally, adb will report Total xfer: 1.00x, but in some cases, even if the process succeeds the output will stop at 47% and report adb: failed to read command: Success. In some cases it will report adb: failed to read command: No error or adb: failed to read command: Undefined error: 0 which is also fine.” (UNTESTED, I didn't encounter this personally.)


  6. In the TWRP homescreen, tap Wipe, then Advanced Wipe.
  7. Select sdcard0, then press Repair or Change File System.
  8. Press Change File System, then press FAT. (Even if the filesystem is already vfat!)
  9. Swipe to Change.

All Set!

Once you have installed everything successfully, you can now reboot your device into the OS for the first time!

Note: The first boot usually takes no longer than 15 minutes. If it takes longer, you may have missed a step.


Recovering back to stock ROM?

The following .zip file contains the latest NEE (Nordic Countries) stock Android 4.1.2 Samsung ROM for the Samsung Galaxy S II (GT-I9100). It's mainly here as a personal backup but can be useful to others too!

SHA-512 (gt-i9100-4.1.2-stock-rom-ikuda.zip):
56c10cc6cc52026017019a9e96fc39991ead8336d9149fd315508fc1766d57cf7aaa00fd5b59b10cedc8cbcb9a95b699693220175b1742b956a4182eb39ec05a

Download (pass: ikuda)