Samsung Galaxy S (samsung-i9000)
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 |
Status: Boots, not upstreamed
Contributors
- Nicknack
Users owning this device
- Bastindo (Notes: dead oled)
- Colaur (Notes: Works)
- Eloy
- I9505 someone
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