Jump to content

Samsung Galaxy S5 (samsung-klte): Difference between revisions

From postmarketOS Wiki
Audio working, add sensors working
IdanHoro (talk | contribs)
m --no-fde removed (deprecated)
Line 84: Line 84:
Build the rootfs image:
Build the rootfs image:
<source lang="shell-session">
<source lang="shell-session">
$ pmbootstrap install --no-fde
$ pmbootstrap install
</source>
</source>



Revision as of 18:42, 5 July 2019

Samsung Galaxy S5
Samsung Galaxy S5
Samsung Galaxy S5
Manufacturer Samsung
Name Galaxy S5
Codename samsung-klte
Released 2014
Hardware
Chipset Qualcomm MSM8974PRO-AC Snapdragon 801
CPU Quad-core 2.5 GHz Krait 400
GPU Adreno 330
Display 1080 x 1920 AMOLED
Storage 16/32 GB
Memory 2 GB
Architecture armv7
Software
Original software Android 4.4.2 (KitKat)
postmarketOS
Category testing
Pre-built images no
Mainline partial
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Partial
Audio
Works
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
No data
GPS
Works
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
Works
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


Contributors

Maintainer(s)

What works

  • Kernel compilation
  • Flash Kernel (pmbootstrap flasher flash_kernel)
  • Flash Rootfs (pmbootstrap flasher flash_rootfs)
  • Initramfs boot
  • USB Network
  • Framebuffer graphics (Splash screens)
  • SSH Connectivity
  • Touchscreen
  • Xwayland
  • Weston on framebuffer
  • Plasma Mobile on framebuffer

What does not work

  • Audio playback
  • Everything else

How to enter flash mode

Press and hold Volume Down + Home + Power simultaneously. Then click Volume Up to confirm.

How to enter recovery mode

Press and hold Volume Up + Home + Power simultaneously.

Installation

First, install pmbootstrap.

Setup device to be used:

$ pmbootstrap init
...
Device [samsung-i9100]: samsung-klte   <- enter this
Kernel [downstream]: downstream        <- you probably want downstream for now
User interface [weston]:               <- choose any UI by your preference
...

Build the rootfs image:

$ pmbootstrap install

Then in order to flash it put your device in download mode, and plug it in USB. Then do:

$ pmbootstrap flasher flash_rootfs

 Hold "Volume down" + "Home" buttons at the end of the process,
 so that when phone reboots put it in flashing mode again 

$ pmbootstrap flasher flash_kernel

 This time, don't hold any button, let it reboot to Linux!


Additional info

Useful helper scripts

Default installation includes a couple of useful scripts to be used from a terminal: battery-status and set-brightness. battery-status allows you to check for battery charge level, and set-brightness allows to view/set lcd backlight brightness in range 0-255.

samsung-klte:~$ battery-status 
25
samsung-klte:~$ set-brightness 
255
samsung-klte:~$ sudo set-brightness 20
20

Partition layout

~ # fdisk -l /dev/block/mmcblk0
Found valid GPT with protective MBR; using GPT

Disk /dev/block/mmcblk0: 30777344 sectors, 2740M
Logical sector size: 512
Disk identifier (GUID): 98101b32-bbe2-4bf2-a06e-2bb33d000c20
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 30777310

Number  Start (sector)    End (sector)  Size       Code  Name
   1            8192           38911       15.0M   0700  apnhlos
   2           38912          156543       57.4M   0700  modem
   3          156544          157567        512K   0700  sbl1
   4          157568          157695       65536   0700  dbi
   5          157696          157759       32768   0700  ddr
   6          157760          161855       2048K   0700  aboot
   7          161856          162879        512K   0700  rpm
   8          162880          163903        512K   0700  tz
   9          163904          170047       3072K   0700  fsg
  10          170048          184319       7136K   0700  pad
  11          184320          204799       10.0M   0700  param
  12          204800          233471       14.0M   0700  efs
  13          233472          239615       3072K   0700  modemst1
  14          239616          245759       3072K   0700  modemst2
  15          245760          272383       13.0M   0700  boot
  16          272384          303103       15.0M   0700  recovery
  17          303104          329727       13.0M   0700  fota
  18          329728          344045       7159K   0700  backup
  19          344046          344047        1024   0700  fsc
  20          344048          344063        8192   0700  ssd
  21          344064          360447       8192K   0700  persist
  22          360448          378879       9216K   0700  persdata
  23          378880         5498879       2500M   0700  system
  24         5498880         5908479        200M   0700  cache
  25         5908480         6010879       50.0M   0700  hidden
  26         6010880        30777310       11.8G   0700  userdata

Component support table

Component Codename Mainline kernel Since when Downstream 3.4 kernel
Debug serial /dev/ttyMSM0 Working v4.17-rc1 yes, /dev/ttyHSL0
Volume & home buttons gpio-keys Working locally yes
Regulator nodes pma8084 Working locally yes
Internal storage sdhci1 Working locally yes
SD card storage sdhci2 Not working yes
USB Networking Working yes
Display Not working yes
Touchscreen Not working yes
Vibration motor Not working yes
Notification LED Not working yes
WiFi Not working yes
Bluetooth Not working unknown
GPU Not working with libhybris
Audio Not working with libhybris
Modem Not working no
Sensors Not working yes

Links

postmarketOS packages:

Mainline kernel patches:

Development branch:

Extra:

Photos