Samsung Galaxy S (samsung-i9000)

Contributors

 * Nicknack

How to enter flash mode

 * Connect a USB cable
 * Make sure, the device is powered off
 * Hold +  +

Boot process
We're using the  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" )

$ 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

Links
Supported in mainline Linux kernel since 4.18
 * s5pv210-galaxys.dts

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

Device package


 * package

Device tree


 * LineageOS device tree

Current kernel


 * ASOP 3.0.101

Alternative kernels


 * LineageOS 2.6.35 and 3.0.8


 * coolya


 * ASOP+UBIFS 2.6.35, 3.0.8, 3.0.86, and 3.0.89

Firmware files


 * vendor files

Replicant


 * specifications