Project

General

Profile

GalaxySIIGTI9100 » History » Version 67

Denis 'GNUtoo' Carikli, 03/07/2020 04:25 PM
update GANG and BOOT

1 56 Denis 'GNUtoo' Carikli
h1. Galaxy S II (GT-I9100)
2 1 Paul Kocialkowski
3
{{>toc}}
4
5 56 Denis 'GNUtoo' Carikli
|/9. !galaxys2.png! | *Device* | Galaxy S II (GT-I9100) |
6 1 Paul Kocialkowski
| *Manufacturer* | Samsung |
7 26 Paul Kocialkowski
| *Release date* | May 2011 |
8 29 Paul Kocialkowski
| *Codename* | @i9100@ |
9 1 Paul Kocialkowski
| *Status* | Maintained |
10 58 Denis 'GNUtoo' Carikli
| *Variants* | GSM: GT-I9100 |
11 38 Wolfgang Wiedmeyer
| *Latest images* | [[ReplicantImages#Replicant-60-0003-images|Replicant 6.0 0003]] |
12 1 Paul Kocialkowski
13
h2. Replicant status
14
15 35 Wolfgang Wiedmeyer
[[ReplicantStatus#Replicant-60|Replicant 6.0 status]]
16 1 Paul Kocialkowski
17 26 Paul Kocialkowski
h2. Replicant installation
18 1 Paul Kocialkowski
19 55 Denis 'GNUtoo' Carikli
To install Replicant on the Galaxy S II (GT-I9100), see the [[RecoveryInstallationWithHeimdall]] and [[MinorVersionUpgrade]] wiki pages.
20 1 Paul Kocialkowski
21 26 Paul Kocialkowski
h2. Replicant usage
22 1 Paul Kocialkowski
23 29 Paul Kocialkowski
* [[GalaxyS2I9100CompassCalibration|Galaxy S 2 (I9100) compass calibration]]
24 19 Paul Kocialkowski
25 26 Paul Kocialkowski
h2. Replicant build
26 1 Paul Kocialkowski
27 29 Paul Kocialkowski
[[GalaxyS2I9100Build|Galaxy S 2 (I9100) build]]
28 1 Paul Kocialkowski
29
h2. Replicant development
30
31 31 Paul Kocialkowski
* [[GalaxyS2I9100Serial|Galaxy S 2 (I9100) serial]]
32 54 Denis 'GNUtoo' Carikli
* 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)
33
* If you already have substantial Replicant contributions, and you need a Galaxy SII (GT-I9100), we could ship one to you
34 1 Paul Kocialkowski
35
h2. Freedom and privacy/security issues
36 26 Paul Kocialkowski
37 29 Paul Kocialkowski
Galaxy S 2 (I9100) freedom issues:
38 26 Paul Kocialkowski
* Proprietary hardware
39 29 Paul Kocialkowski
* Proprietary firmwares, some of which are [[GalaxyS2I9100LoadedFirmwares|firmwares loaded by the system]]
40 26 Paul Kocialkowski
* Proprietary modem system
41
* Proprietary bootrom
42 40 Kurtis Hanna
* Proprietary and signed [[I9100Bootloader/|bootloader]]
43 26 Paul Kocialkowski
44 29 Paul Kocialkowski
[[GalaxyS2I9100PrivacySecurityIssues|Galaxy S 2 (I9100) Privacy/security issues]]
45 26 Paul Kocialkowski
46
h2. Research
47
48 7 Paul Kocialkowski
h3. Hardware table
49
50 1 Paul Kocialkowski
|_. Component |_. Name |_. Source |_. Status |
51
| SoC | Samsung Exynos 4210 | Linux kernel | Linux kernel support |
52 29 Paul Kocialkowski
| GPU | Mali 400 | https://secure.wikimedia.org/wikipedia/en/wiki/Exynos | Linux kernel support, proprietary userspace |
53 1 Paul Kocialkowski
| Audio Codec | Yamaha MC1N2 | Linux kernel | Linux kernel support (ALSA), free userspace: Yamaha-MC1N2-Audio/Tinyalsa-Audio |
54
| Modem | XMM6260 | Linux kernel | Free userspace implementation: [[Samsung-RIL]]/[[libsamsung-ipc]] |
55
| Wi-Fi | BCM4330 | Linux kernel | Linux kernel support, proprietary loaded firmware |
56
| Bluetooth | BCM4330 | Linux kernel | Linux kernel support, proprietary loaded firmware |
57
| NFC | PN544 | Linux kernel | Linux kernel support |
58
| GPS | GSD4t | http://www.csr.com/news/pr/release/455/en | Proprietary userspace, no free implementation: [[GSD4t]] |
59
| Accelerometer | K3DH | Linux kernel | Linux kernel support, free userspace |
60
| Compass | AKM8975 | Kernel sources | Linux kernel support, free userspace |
61 29 Paul Kocialkowski
| Light | Capella CM3663 | Linux kernel support, free userspace | |
62
| Proximity | Capella CM3663 | Linux kernel support, free userspace | |
63
| FM Radio | SI4709 | Linux kernel | Linux kernel support |
64
| Camera (back) | Fujitsu M5MO | Linux kernel support, free userspace | |
65
| Camera (front) | Samsung S5K5BAFX | Linux kernel support, free userspace | |
66
| Touchscreen | Atmel MXT224 | Linux kernel support | |
67
| Display | LD9040 | Linux kernel support | |
68 52 Denis 'GNUtoo' Carikli
| Power Management IC (PMIC) | Maxim MAX8997 | Kernel sources | Linux kernel support |
69 29 Paul Kocialkowski
70 39 Denis 'GNUtoo' Carikli
h3. Software Configuration
71
72 56 Denis 'GNUtoo' Carikli
* [[GalaxyS2I9100Pit]]: Galaxy SII (GT-I9100) PIT (a partition table)
73 39 Denis 'GNUtoo' Carikli
74 41 Denis 'GNUtoo' Carikli
h4. Partitions
75
76
WARNING some content may not be the same on your device
77
78 43 Denis 'GNUtoo' Carikli
|_. PIT |_. Linux name |_. mount point |_. partition type |_. block device |_. Description |
79 67 Denis 'GNUtoo' Carikli
| GANG |\2. No visible under Replicant 6.0 | | | |
80
| BOOT |\2. No visible under Replicant 6.0 | | | |
81 59 Denis 'GNUtoo' Carikli
| EFS | EFS | /efs | ext4 | mmcblk0p1 | modem data partition |
82 61 Denis 'GNUtoo' Carikli
| SBL1 | SBL1 | | | mmcblk0p2 | |
83
| SBL2 | SBL2 | | | mmcblk0p3 | |
84 62 Denis 'GNUtoo' Carikli
| PARAM | PARAM | | | mmcblk0p4 | |
85 60 Denis 'GNUtoo' Carikli
| KERNEL | KERNEL | None | zImage | mmcblk0p5 | boot partition, See [[GalaxySIIGTI9100#RECOVERY]] for more details |
86
| RECOVERY | RECOVERY | None | zImage | mmcblk0p6 | recovery partition, See [[GalaxySIIGTI9100#RECOVERY]] for more details |
87 62 Denis 'GNUtoo' Carikli
| CACHE | CACHE | /cache | ext4 | mmcblk0p7 | |
88
| MODEM | MODEM | | | mmcblk0p8 | |
89 59 Denis 'GNUtoo' Carikli
| FACTORYFS | FACTORYFS | /system | ext4 | mmcblk0p9 | system partition |
90 62 Denis 'GNUtoo' Carikli
| DATAFS | DATAFS | /data | ext4 | mmcblk0p10 | |
91 66 Denis 'GNUtoo' Carikli
| UMS | UMS | /mnt/media_rw/xxxx-xxxx | vfat | mmcblk0p11 | user data (music, pictures, etc) |
92 62 Denis 'GNUtoo' Carikli
| HIDDEN | HIDDEN | /preload | ext4 | mmcblk0p12 | |
93 60 Denis 'GNUtoo' Carikli
94
h4. RECOVERY
95
96
The RECOVERY partition is not used by the stock bootloader.
97
98
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.
99
100
In practice in Replicant 6.0:
101
* 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.
102
* The recovery-i9100.img boots directly into the recovery and probably doesn't have the standard boot initramfs
103
104
However as distributions like LineageOS tend to use recoveries like TWRP, it was a problem for such distributions.
105
106
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.
107
108
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.
109
110
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.
111 41 Denis 'GNUtoo' Carikli
112 29 Paul Kocialkowski
h3. References
113
114 34 Paul Kocialkowski
* "Galaxy S 2 (I9100) Service Manual and Schematics":http://www.cpkb.org/wiki/Samsung_GT-I9100_Galaxy_S_II_service_manual
115 33 Paul Kocialkowski
* "Exynos 4210 User Manual":http://www.samsung.com/global/business/semiconductor/file/product/Pulbicmanual_Exynos_4_Dual_45nm_Ver00-2.pdf
116 29 Paul Kocialkowski
117
*These documents are the propriety of Samsung Electronics and are not hosted by the Replicant project.*