Samsung Galaxy S9 (samsung-starqltechn): Difference between revisions
Dsankouski (talk | contribs) →Building: fix formatting |
Dsankouski (talk | contribs) |
||
Line 76: | Line 76: | ||
* go through setup dialog, setup pmbootstrap to use custom aports, and build for starqltechn: | * go through setup dialog, setup pmbootstrap to use custom aports, and build for starqltechn: | ||
<code> | <code> | ||
[18:07:04] Work path [/home/dzmitry/.local/var/pmbootstrap]: | [18:07:04] Work path [/home/dzmitry/.local/var/pmbootstrap]: | ||
[18:07:05] NOTE: pmaports path: <path to custom pmaports> | [18:07:05] NOTE: pmaports path: <path to custom pmaports> | ||
[18:07:05] Channel [edge]: | |||
[18:07:06] Vendor [samsung]: | [18:07:05] Channel [edge]: | ||
[18:07:06] Device codename [starqltechn]: | |||
[18:07:06] Vendor [samsung]: | |||
[18:07:06] Device codename [starqltechn]: | |||
</code> | </code> | ||
* run `pmbootstrap build u-boot-starqltechn` | * run `pmbootstrap build u-boot-starqltechn` |
Revision as of 16:18, 12 December 2021
Manufacturer | Samsung |
---|---|
Name |
Galaxy S9 (SM-G9600/ DS) |
Codename | samsung-starqltechn |
Released | 2018 |
Hardware | |
Chipset | Qualcomm SDM845 Snapdragon 845 |
CPU | Octa-core (4x 2.8 GHz Kryo 385 Gold & 4x 1.7 GHz Kryo 385 Silver) |
GPU | Adreno 630 |
Display | 5.8 inch 18.5:9, 2960 x 1440 pixel 568 PPI, capacitive touchscreen, 10 multi-touch points, Super AMOLED, Corning Gorilla Glass 5, glossy: yes |
Storage | 64 GB |
Memory | 4 GB |
Architecture | aarch64 |
Software | |
Original software | Android 8 - 10 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | no |
Flashing |
Broken |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
Broken |
Touchscreen |
No data |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
Broken |
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
- dsankouski
Maintainer(s)
Users owning this device
- Dsankouski
- Retrocountry (Notes: (almost) Running PostmarketOS!)
- Zephyr1112 (Notes: Backup device, AOSP 13, 4/64GB)
How to enter flash mode
Installation
Notes
Uart
`/dev/ttyHS8` can be exposed on USB D+D- lines. It's configured in data mover mode by downstream kernel.
Mainline
Easy way: Semi-automated boot image generation
TODO: not completed - make this guide work |
Easy automated android boot image generation, intended to be flashed in phone's boot partition. Kernel logs may be only via pstore(ramoops) now. This way is hacky now, because there's no support for u-boot FIT images yet.
Building
- setup pmbootstrap with custom aports
- go through setup dialog, setup pmbootstrap to use custom aports, and build for starqltechn:
[18:07:04] Work path [/home/dzmitry/.local/var/pmbootstrap]:
[18:07:05] NOTE: pmaports path: <path to custom pmaports>
[18:07:05] Channel [edge]:
[18:07:06] Vendor [samsung]:
[18:07:06] Device codename [starqltechn]:
- run `pmbootstrap build u-boot-starqltechn`
First, it will build u-boot, mainline linux kernel fork, and concatenate it in vmlinuz file, which is used later as a payload to generate android boot image.
- run `pmbootstrap chroot -b` - this chroots to buildroot
- run `cd /home/pmos/build/pkg/u-boot-postmarketos-starqltechn/`
- run `cp -avr boot /`
- run `mkinitfs`
- exit chroot `exit`
- flash android boot image from <pmbootstrap work path. usually ~/.local/var/pmbootstrap>/chroot_buildroot_aarch64/boot/boot.img
TODO: getting kernel logs, modifying initramfs |
Hard way: Manual procedure with usb-uart cable
This intendent for getting uart console at u-boot stage, with ability to load and boot kernel to RAM via uart. Initramfs console in possible.
Building
- build u-boot.bin file. Follow u-boot docs installation section
- build mainline kernel
- clone sources
source /home/dzmitry/side/pmos/pmbootstrap/helpers/envkernel.sh
make defconfig
make
- assemble initramfs
TODO: assemble u-boot fit image: Installing
This section is useless for now, because currently there's no way to tell if something is alive, when you boot from the flash. See next section.
Booting kernel and getting console
Is performed with kexec-similar stuff for now. See guide for that method. Remember, you should have a cable from in `UART USB-debug cable schematic` section of Samsung_Galaxy_A5_2017_(samsung-a5y17lte)#Notes, and 1.8V compatible uart adapter
- Download prebuilt twrp image, with kexec and manual muic switching support
- Boot into twrp
- Connect uart-usb cable
- Switch muic uart on usb, and run u-boot.
- go to Advanced -> Terminal
- run
/exec.sh
command. It will switch uart on usb, load u-boot(it's included in twrp image) in RAM, and run it. - You are in u-boot console now ;)
- Load u-boot payload via kermit (you may use my high speed version for linux at 921600bps)
- in u-boot prompt run
loadb 0x90000000
- in u-boot prompt run
- in u-boot prompt run
bootm 0x90000000
command
TODO: how to setup initramfs console See also