Samsung Galaxy S (samsung-i9000)

From postmarketOS Wiki
Samsung Galaxy S
Samsung Galaxy S
Samsung Galaxy S
Manufacturer Samsung
Name Galaxy S
Codename samsung-i9000
Released 2010
Type handset
Hardware
Chipset Samsung Exynos 3110
CPU 1.0 GHz Cortex-A8
GPU PowerVR SGX 540
Display 480x800
Storage 8/16 GB
Memory 512 MB
Architecture armv7
Software
Original software Android
Original version 2.1 (Linux 2.6.29)
Extended version 2.3.6 (Linux 2.6.35)
postmarketOS
Category testing
Pre-built images no
Mainline yes
This device is marked as not booting.
Status: Boots, not upstreamed


Contributors

  • Nicknack

Users owning this device


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