Jump to content

Samsung Galaxy S (samsung-i9000): Difference between revisions

From postmarketOS Wiki
No edit summary
m update link to mainline Linux kernel s5pv210-galaxys.dts
 
(21 intermediate revisions by 15 users not shown)
Line 2: Line 2:
| manufacturer = Samsung
| manufacturer = Samsung
| name = Galaxy S
| name = Galaxy S
| codename = i9000
| codename = samsung-i9000
| image = File:Samsung-i9003-galaxy-s-sl-1.jpg
| image = File:Samsung-i9003-galaxy-s-sl-1.jpg
| imagecaption = Samsung Galaxy S
| imagecaption = Samsung Galaxy S
| releaseyear = 2010
| releaseyear = 2010
| originalsoftware = Android 2.3.6 (Gingerbread)
| originalsoftware = Android
| chipset = Exynos 3110
| originalversion = 2.1 (Linux 2.6.29)
| extendedversion = 2.3.6 (Linux 2.6.35)
| chipset = Samsung Exynos 3110
| cpu = 1.0 GHz Cortex-A8
| cpu = 1.0 GHz Cortex-A8
| gpu = PowerVR SGX 540
| gpu = PowerVR SGX 540
| storage = 2-16 GB
| storage = 8/16 GB
| display = 480x800
| display = 480x800
| memory = 512 MB
| memory = 512 MB
| architecture = armhf
| architecture = armv7
| type = Handset
| status_usbnet = Y
| status_usbnet = Y
| status_flashing = P
| status_flashing = P
Line 21: Line 24:
| status_xwayland =  
| status_xwayland =  
| status_fde =  
| status_fde =  
| status_mainline =  
| status_mainline = Y
| status_battery =
| status_battery =
| status_3d =  
| status_3d =  
Line 32: Line 35:
| status_sms =  
| status_sms =  
| status_calls =
| status_calls =
| status = Kernel compiles & boots; framebuffer, touchscreen and wifi (partial) working
| booting = yes
| booting = yes
| packaged = no
}}
}}


Line 39: Line 42:
* Nicknack
* Nicknack


== Maintainer(s) ==
== Users owning this device ==
<!-- Only if this device doesn't run on linux-postmarketos yet! -->
{{Device owners}}
<!-- This person needs to be willing to answer questions from users of this device -->


== How to enter flash mode ==
== How to enter flash mode ==
* Connect a USB cable
* Connect a USB cable
* Make sure, the device is powered off
* Make sure, the device is powered off
* Hold power + Home + volume down
* Hold {{Button|Power}} + {{Button|Home}} + {{Button|Volume Down}}


== Installation ==
== Installation ==
Line 55: Line 57:


==== netcat method ====
==== netcat method ====
Flashing to device memory should be possible using [https://github.com/postmarketOS/pmbootstrap/issues/456 drebrez's netcat method (#456)] and [https://wiki.postmarketos.org/wiki/Samsung_Galaxy_SII_(samsung-i9100) guide from Galaxy S II].
Flashing to device memory should be possible using [https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/issues/456 drebrez's netcat method (#456)] and [https://wiki.postmarketos.org/wiki/Samsung_Galaxy_SII_(samsung-i9100) guide from Galaxy S II].


===== Step by step guide for Flashing to device memory =====
===== Step by step guide for Flashing to device memory =====
Line 62: Line 64:


   $ pmbootstrap init
   $ pmbootstrap init
   $ pmbootstrap build device-samsung-i9000 --arch=armhf
   $ pmbootstrap build device-samsung-i9000
   $ pmbootstrap install --no-fde
   $ pmbootstrap install --sdcard=/dev/mmcblk


-- Set phone to ODIN mode
-- Set phone to ODIN mode
Line 98: Line 100:
-- Switch to pmboostrap chroot (on the computer in other terminal)
-- Switch to pmboostrap chroot (on the computer in other terminal)


   $ ./pmbootstrap.py chroot --suffix native
   $ pmbootstrap chroot --suffix native


-- Install pv (in the chroot)
-- Install pv (in the chroot)
Line 132: Line 134:
== Links ==
== Links ==


device package
Supported in mainline Linux kernel since 4.18
* [https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/samsung/s5pv210-galaxys.dts 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
* [https://github.com/xc-racer99/u-boot-aries/ u-boot-aries]
 
Device package


* [https://github.com/Nicknack/pmOs_device_samsung_i9000 package]
* [https://github.com/Nicknack/pmOs_device_samsung_i9000 package]


device tree
Device tree


* [https://github.com/LineageOS/android_device_samsung_galaxysmtd LineageOS device tree]
* [https://github.com/LineageOS/android_device_samsung_galaxysmtd LineageOS device tree]
Line 158: Line 166:
Replicant
Replicant


* [https://redmine.replicant.us/projects/replicant/wiki/GalaxySI9000 specification]
* [https://redmine.replicant.us/projects/replicant/wiki/GalaxySI9000 specifications]

Latest revision as of 22:33, 27 March 2025

This device has been tested with postmarketOS, but its device package has not yet been added to the postmarketOS repositories.
This means that it cannot be selected in pmbootstrap.
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
Features
Flashing
Partial
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
No data
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
No data
Audio
No data
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Partial
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

  • 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