Samsung Galaxy SII (samsung-i9100)
![]() First photo ever released of postmarketOS (from the original introduction post). | |
Manufacturer | Samsung |
---|---|
Name | Galaxy S II |
Codename | i9100, d710 |
Released | 2011 |
Hardware | |
CPU | Dual-core 1.2 GHz Cortex-A9 |
GPU | Mali-400MP4 |
Display | 480x800 AMOLED |
Storage | 16/32 GB |
Memory | 1 GB RAM |
Software | |
Original software | Android 2.3.4 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | no |
Flashing |
No data |
---|---|
USB Networking |
No data |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
No data |
Touchscreen |
No data |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
No data |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
No data |
USB OTG |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
No data |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
- ollieparanoid
- veggie
What works
- Installation to sdcard (
pmbootstrap install --sdcard=/dev/mmcblk...
) - Installation to device memory (partial)
- Touchscreen
- Weston (only on SD card)
- XWayland
What does not work
- The rest (Wifi, bluetooth, making calls, ...)
- Auto resizing partitions during installation to device memory (probably)
How to enter flash mode
For i9100
- Connect a USB cable
- Make sure, the device is powered off
- Hold power + Home + volume down
- When prompted, release all buttons and press volume up
For d710
- Connect a USB cable
- Make sure, the device is powered off
- Hold power + Home + volume down
- When prompted, release all buttons and press volume up
Installation
Flashing to device memory uses drebrez's netcat method (#456).
Init pmbootstrap. Make sure to choose none for the user interface instead of weston because weston makes the image just a little bit too large for the unresized partition.
$ ./pmbootstrap.py init
Start the build process
$ ./pmbootstrap.py install
Flash postmarketOS to the device:
https://github.com/postmarketOS/pmbootstrap/issues/456
For the d710, on step 5 use /dev/mmcblk0p11 as the install partition.
On step 8, use
pv /home/user/rootfs/samsung-i9100.img | nc 172.16.42.1 60000
instead.
Step by step guide for Flashing to device memory
Please do not hesitate to remove or edit if this does not belong here or match intended wiki content. This does not bring anything new just summary.
- Build image (on your computer)
-- Install pmboostrap
$ git clone https://github.com/postmarketOS/pmbootstrap.git
-- Change working directory to the pmboostrap
$ cd pmbootstrap/
-- Configure
$ ./pmbootstrap.py init [18:27:09] Device [samsung-i9100]: samsung-i9100 [18:27:45] User interface [weston]: weston [18:28:05] Work path [/home/<USER>/.local/var/pmbootstrap]: [18:28:29] Jobs [5]: [18:28:46] Timestamp based rebuilds (y/n) [y]: [18:29:05] Extra packages [none]:
-- Build device package
$ ./pmbootstrap.py build device-samsung-i9100
-- Build device kernel
$ ./pmbootstrap.py build linux-samsung-i9100
-- Prepapre the installation
$ ./pmbootstrap.py install
- Flash to phone memory - This will replace (break) your current phone system! The description is using the alternative flash method because there it did not work for me with heimdall - https://github.com/Benjamin-Dobell/Heimdall/issues/418
-- Set phone to ODIN mode
1. Turn off phone 2. Connect USB cable 3. Hold VOLUME_DOWN + HOME + POWER until you get Warning!! screen 4. Push VOLUME_UP to continue to ODIN mode screen
-- Set image for NETCAT flash method
$ ./pmbootstrap.py initfs hook_add usb-shell
-- Flash Kernel and Recovery (phone will reboot to screen with postmarketOS logo)
$ ./pmbootstrap.py flasher flash_kernel
-- Connect to phone with telnet
$ telnet 172.16.42.1 24
-- Start netcat to listen for image (on the phone) /dev/mmcblk0p9 should be FACTORYFS partition you check by running fdisk -l /dev/mmcblk0
/ # nc -v -l -p 60000 > /dev/mmcblk0p9
-- Switch to pmboostrap chroot (on the computer in other terminal)
$ ./pmbootstrap.py chroot --suffix native
-- Install pv (in the chroot)
/ # apk add pv
-- Send image from computer to netcat (on the computer)
/ # pv /home/user/rootfs/samsung-i9100.img | nc 172.16.42.1 60000
-- Restart phone with POWER button when transfer finishes
Boot process
We're using the heimdall-isorec
flash method, see deviceinfo_flash_methods for more information.
Links
Photos
- Initramfs asking for the password via telnet
- Weston with various programs opened
- postmarketOS demo menu (XWayland)
- Firefox (XWayland)
- Weston-smoke demo
- Weston-smoke demo running on a d710
Wifi
Please edit this to match the style of wiki.
I got wifi working on gt-i9100 with following procedure:
- Created path /system/etc/wifi
mkdir -p /system/etc/wifi
- Downloaded firmware files from https://github.com/TheMuppets/proprietary_vendor_samsung/tree/cm-14.1/i9100/proprietary/system/etc/wifi and saved to /system/etc/wifi
- Rebooted phone
reboot
- Created conf for wpa_supplicant
$ wpa_passphrase "SSID" "password" > wifi
- connect to wifi AP
$ sudo wpa_supplicant -i wlan0 -c wifi
- get ip address from dhcp server
$ sudo udhcpc -i wlan0
PR (https://github.com/postmarketOS/pmbootstrap/pull/514) to include necessary firmware. Not yet properly tested.
Modem
https://forum.xda-developers.com/galaxy-s2/help/how-to-talk-to-modem-commands-t1471241
https://github.com/astarasikov/samsung-xmm6260-fw-loader
https://forum.xda-developers.com/showpost.php?p=22218364&postcount=14