Jump to content

Samsung Galaxy S (samsung-i9000)

From postmarketOS Wiki
Revision as of 18:45, 5 July 2019 by IdanHoro (talk | contribs) (--no-fde removed (deprecated))
Warning WARNING: This device is not recommended for future use with postmarketOS due to its armhf architecture.
Alpine Linux (the distribution that postmarketOS extends) pmaports#599 has been considering dropping it.
Samsung Galaxy S
Samsung Galaxy S
Samsung Galaxy S
Manufacturer Samsung
Name Galaxy S
Codename i9000
Released 2010
Hardware
Chipset Exynos 3110
CPU 1.0 GHz Cortex-A8
GPU PowerVR SGX 540
Display 480x800
Storage 2-16 GB
Memory 512 MB
Architecture armhf
Software
Android 2.3.6 (Gingerbread)
Android 2.3.6 (Gingerbread)
no
Device package device-i9000
Kernel package linux-i9000
Features
Partial
Works
Untested
Works
Touchscreen
Works
Multimedia
3D Acceleration
Untested
Untested
Camera
Untested
Connectivity
WiFi
Partial
Bluetooth
Untested
GPS
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
Untested
Sensors
Untested

Contributors

  • Nicknack

Maintainer(s)

How to enter flash mode

  • Connect a USB cable
  • Make sure, the device is powered off
  • Hold power + Home + volume down

Installation

Boot process

We're using the heimdall-isorec flash method, see deviceinfo_flash_methods for more information.

netcat method

Flashing to device memory should be possible using drebrez's netcat method (#456) and guide from Galaxy S II.

Step by step guide for Flashing to device memory

- Build image (on your computer) and prepare the installation as usual

 $ pmbootstrap init
 $ pmbootstrap build device-samsung-i9000
 $ pmbootstrap install --sdcard=/dev/mmcblk

-- Set phone to ODIN mode

-- Set image for NETCAT flash method

 $ pmbootstrap initfs hook_add debug-shell

-- Flash Kernel and Recovery (phone will reboot to screen "debug-shell is active" [1])

 $ pmbootstrap flasher flash_kernel

-- Check USB network connection to phone

 ping 172.16.42.1

(if it does not ping, try replugging usb cable few times)

-- If USB network connection is still not up: check for correct link with ip a

 $ sudo ip l set enp0s20u2 address 12:12:12:12:12:12
 $ sudo dhclient -v enp0s20u2

-- Connect to phone with telnet

 $ telnet 172.16.42.1

-- Start netcat to listen for image (on the phone) /dev/mmcblk0p2 should be FACTORYFS partition you check by running fdisk -l /dev/mmcblk0

 / # nc -v -l -p 60000 > /dev/mmcblk0p2

-- Switch to pmboostrap chroot (on the computer in other terminal)

 $ pmbootstrap chroot --suffix native

-- Install pv (in the chroot)

 / # apk add pv

-- Send image from computer to netcat (on the computer)

 / # pv /home/pmos/rootfs/samsung-i9000.img | nc 172.16.42.1 60000

-- Close both nc with CTRL+C when transfer finishes and reboot the phone with power button

Wifi

- Create conf for wpa_supplicant

 $ wpa_passphrase "SSID" "password" > wifi

Note : If you are connecting to a hidden wireless network, make sure to add line "scan_ssid=1" after the ssid line in your generated conf file

- Connect to wifi AP

 $ sudo wpa_supplicant -i wlan0 -c wifi &

- Get ip address from dhcp server (in another terminal)

 $ sudo udhcpc -i wlan0

To set wifi connection to start automatically on boot, please refer here wifi

Photos

Links

Supported in mainline linux kernel since 4.18

u-boot bootloader (by xc-racer99. It can boot old and mainline kernels from sdcard/mmc, supports mass storage mode and fastboot

device package

device tree

Current kernel

Alternative kernels

Firmware files

Replicant