Project

General

Profile

GalaxySIIGTI9100 » History » Revision 64

Revision 63 (Denis 'GNUtoo' Carikli, 03/07/2020 04:17 PM) → Revision 64/75 (Denis 'GNUtoo' Carikli, 03/07/2020 04:18 PM)

h1. Galaxy S II (GT-I9100) 

 {{>toc}} 

 |/9. !galaxys2.png! | *Device* | Galaxy S II (GT-I9100) | 
 | *Manufacturer* | Samsung | 
 | *Release date* | May 2011 | 
 | *Codename* | @i9100@ | 
 | *Status* | Maintained | 
 | *Variants* | GSM: GT-I9100 | 
 | *Latest images* | [[ReplicantImages#Replicant-60-0003-images|Replicant 6.0 0003]] | 

 h2. Replicant status 

 [[ReplicantStatus#Replicant-60|Replicant 6.0 status]] 

 h2. Replicant installation 

 To install Replicant on the Galaxy S II (GT-I9100), see the [[RecoveryInstallationWithHeimdall]] and [[MinorVersionUpgrade]] wiki pages. 

 h2. Replicant usage 

 * [[GalaxyS2I9100CompassCalibration|Galaxy S 2 (I9100) compass calibration]] 

 h2. Replicant build 

 [[GalaxyS2I9100Build|Galaxy S 2 (I9100) build]] 

 h2. Replicant development 

 * [[GalaxyS2I9100Serial|Galaxy S 2 (I9100) serial]] 
 * If you don't have the device and need a quick test, see the [[People]] page for a list of people having a Galaxy SII (GT-I9100) 
 * If you already have substantial Replicant contributions, and you need a Galaxy SII (GT-I9100), we could ship one to you 

 h2. Freedom and privacy/security issues 

 Galaxy S 2 (I9100) freedom issues: 
 * Proprietary hardware 
 * Proprietary firmwares, some of which are [[GalaxyS2I9100LoadedFirmwares|firmwares loaded by the system]] 
 * Proprietary modem system 
 * Proprietary bootrom 
 * Proprietary and signed [[I9100Bootloader/|bootloader]] 

 [[GalaxyS2I9100PrivacySecurityIssues|Galaxy S 2 (I9100) Privacy/security issues]] 

 h2. Research 

 h3. Hardware table 

 |_. Component |_. Name |_. Source |_. Status | 
 | SoC | Samsung Exynos 4210 | Linux kernel | Linux kernel support | 
 | GPU | Mali 400 | https://secure.wikimedia.org/wikipedia/en/wiki/Exynos | Linux kernel support, proprietary userspace | 
 | Audio Codec | Yamaha MC1N2 | Linux kernel | Linux kernel support (ALSA), free userspace: Yamaha-MC1N2-Audio/Tinyalsa-Audio | 
 | Modem | XMM6260 | Linux kernel | Free userspace implementation: [[Samsung-RIL]]/[[libsamsung-ipc]] | 
 | Wi-Fi | BCM4330 | Linux kernel | Linux kernel support, proprietary loaded firmware | 
 | Bluetooth | BCM4330 | Linux kernel | Linux kernel support, proprietary loaded firmware | 
 | NFC | PN544 | Linux kernel | Linux kernel support | 
 | GPS | GSD4t | http://www.csr.com/news/pr/release/455/en | Proprietary userspace, no free implementation: [[GSD4t]] | 
 | Accelerometer | K3DH | Linux kernel | Linux kernel support, free userspace | 
 | Compass | AKM8975 | Kernel sources | Linux kernel support, free userspace | 
 | Light | Capella CM3663 | Linux kernel support, free userspace | | 
 | Proximity | Capella CM3663 | Linux kernel support, free userspace | | 
 | FM Radio | SI4709 | Linux kernel | Linux kernel support | 
 | Camera (back) | Fujitsu M5MO | Linux kernel support, free userspace | | 
 | Camera (front) | Samsung S5K5BAFX | Linux kernel support, free userspace | | 
 | Touchscreen | Atmel MXT224 | Linux kernel support | | 
 | Display | LD9040 | Linux kernel support | | 
 | Power Management IC (PMIC) | Maxim MAX8997 | Kernel sources | Linux kernel support | 

 h3. Software Configuration 

 * [[GalaxyS2I9100Pit]]: Galaxy SII (GT-I9100) PIT (a partition table) 

 h4. Partitions 

 WARNING some content may not be the same on your device 

 |_. PIT |_. Linux name |_. mount point |_. partition type |_. block device |_. Description | 
 | GANG | | | | | | 
 | BOOT | | | | | | 
 | EFS | EFS | /efs | ext4 | mmcblk0p1 | modem data partition | 
 | SBL1 | SBL1 | | | mmcblk0p2 | | 
 | SBL2 | SBL2 | | | mmcblk0p3 | | 
 | PARAM | PARAM | | | mmcblk0p4 | | 
 | KERNEL | KERNEL | None | zImage | mmcblk0p5 | boot partition, See [[GalaxySIIGTI9100#RECOVERY]] for more details | 
 | RECOVERY | RECOVERY | None | zImage | mmcblk0p6 | recovery partition, See [[GalaxySIIGTI9100#RECOVERY]] for more details | 
 | CACHE | CACHE | /cache | ext4 | mmcblk0p7 | | 
 | MODEM | MODEM | | | mmcblk0p8 | | 
 | FACTORYFS | FACTORYFS | /system | ext4 | mmcblk0p9 | system partition | 
 | DATAFS | DATAFS | /data | ext4 | mmcblk0p10 | | 
 | UMS | UMS | | mmcblk0p11 | | | 
 | HIDDEN | HIDDEN | /preload | ext4 | mmcblk0p12 | | 
 | USERDATA | |    |    |    | | 

 h4. RECOVERY 

 The RECOVERY partition is not used by the stock bootloader. 

 What happens with the stock OS and old versions of Android distributions is that both the boot kernel and the recovery are in the KERNEL partition. 

 In practice in Replicant 6.0: 
 * The boot.img is a zImage with an initramfs for both the recovery and the normal boot. That boot.img can be found inside the replicant-6.0 installation zip and it is installed to the KERNEL partition during the Replicant installation. 
 * The recovery-i9100.img boots directly into the recovery and probably doesn't have the standard boot initramfs 

 However as distributions like LineageOS tend to use recoveries like TWRP, it was a problem for such distributions. 

 So people from XDA came with a scheme called "isorec (isolated recovery)":https://forum.xda-developers.com/galaxy-s2/orig-development/isorec-isolated-recovery-galaxy-s2-t3291176 which "made it into LineageOS 13":https://github.com/CyanogenMod/android_kernel_samsung_smdk4412/commit/9bfbaf337207359ef6aefe0a329a3b760054a6b7. 

 And Replicant 6.0 is based on LineageOS 13, that is probably in Replicant too, even if it's not used for the Replicant installation and recoveries. 

 So if the RECOVERY partition contains valid lzop-compressed data, which contains a valid cpio archive, then the image flashed in KERNEL will use that as an initramfs for the recovery. 

 h3. References 

 * "Galaxy S 2 (I9100) Service Manual and Schematics":http://www.cpkb.org/wiki/Samsung_GT-I9100_Galaxy_S_II_service_manual 
 * "Exynos 4210 User Manual":http://www.samsung.com/global/business/semiconductor/file/product/Pulbicmanual_Exynos_4_Dual_45nm_Ver00-2.pdf 

 *These documents are the propriety of Samsung Electronics and are not hosted by the Replicant project.*