Samsung Exynos 7 (samsung-exynos7)
|
samsung-on7xelte, an Exynos 7 device, running Phosh | |
| Manufacturer | Samsung |
|---|---|
| Name | Exynos 7 |
| Codename | samsung-exynos7 |
| Type | generic |
| Hardware | |
| Chipset | Samsung Exynos 7 |
| Architecture | aarch64 |
| Software | |
Original software The software and version the device was shipped with. |
Android |
Extended version The most recent supported version from the manufacturer. |
Android |
| FOSS bootloader | partial |
| postmarketOS | |
| Category | testing |
Pre-built images Whether pre-built images are available from the postmarketOS Installation page. |
no |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
yes |
| Device package |
|
| Kernel package |
|
Flashing Whether it is possible to flash the device with pmbootstrap flasher. |
Works
|
|---|---|
USB Networking After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system). |
Works
|
Internal storage eMMC, SD cards, UFS... |
Works
|
SD card Also includes other external storage cards. |
Works
|
Battery Whether charging and battery level reporting work. |
Broken
|
Screen Whether the display works; ideally with sleep mode and brightness control. |
Works
|
Touchscreen |
Works
|
| Multimedia | |
3D Acceleration |
Works
|
Audio Audio playback, microphone, headset and buttons. |
Broken
|
Camera |
Broken
|
Camera Flash |
Broken
|
| Connectivity | |
WiFi |
Broken
|
Bluetooth |
Broken
|
GPS |
Broken
|
| Modem | |
Calls |
Broken
|
SMS |
Broken
|
Mobile data |
Broken
|
| Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Works
|
USB OTG USB On-The-Go or USB-C Role switching. |
Broken
|
| Sensors | |
Accelerometer Handles automatic screen rotation in many interfaces. |
Works
|
Ambient Light Measures the light level; used for automatic screen dimming in many interfaces. |
Works
|
Proximity |
Works
|
Hall Effect Measures magnetic fields; usually used as a flip cover sensor |
Broken
|
Haptics |
Works
|
Primary Bootloader Whether it is possible to replace stock bootloader with U-Boot. |
Broken
|
|---|---|
Secondary Bootloader Whether it is possible to chainload U-Boot from stock bootloader. |
Works
|
Mainline Whether latest upstream versions of U-Boot are not broken and it is possible to use them. |
Works
|
Internal Storage Whether it is possible to boot from internal storage (e.g. eMMC or UFS). |
Works
|
SD card Whether it is possible to boot from SD card. |
Works
|
USB Host Whether it is possible to boot from a USB storage or connect a keyboard. |
Broken
|
USB Peripheral Whether it is possible to use device as a peripheral in U-Boot, e.g. for fastboot mode. |
Works
|
Display |
Works
|
Buttons Whether it is possible to navigate in boot menu or grub with volume and power buttons. |
Works
|
| This device is based on the Exynos 7 family of SoCs. See the SoC page for common tips, guides and troubleshooting steps |
This is a generic port that boots with UEFI for Samsung Exynos 7 based devices.
| Device | Codename | Chipset | Architecture |
|---|---|---|---|
| Samsung Galaxy A2 Core | samsung-a2corelte | Samsung Exynos 7870 Octa | aarch64 |
| Samsung Galaxy J6 (2018) | samsung-j6lte | Samsung Exynos 7870 Octa | aarch64 |
| Samsung Galaxy J7 (2016) | samsung-j7xelte | Samsung Exynos 7870 Octa | aarch64 |
| Samsung Galaxy J7 Prime | samsung-on7xelte | Samsung Exynos 7870 Octa | aarch64 |
Contributors
How to enter flash mode
- Download (Heimdall): See the wiki page for your device. Key combinations to enter Samsung's Download mode differ between devices.
- Fastboot (U-Boot): Power on the device by holding down until you see the U-Boot Boot Menu. Select
Enter Fastboot Mode.
Prerequisites
Although on some devices the bootloader doesnt need a unlock, but if it needs make sure your phone’s bootloader is unlocked. You can do this by enabling OEM unlocking in the Developer Options menu of the stock Android Settings app.
Installation
U-Boot (UEFI boot loader)
Exynos 7 devices have S-Boot or S-LK as the default boot loader. These Samsung bootloaders are known to be very weird. There have been reports for having no boot splash screen or having less RAM than normal when booted with the stock bootloader. Even worse, they can't boot with EFI and overwrite any OS-provided cmdline.
For this reason, a secondary boot loader must be used. Das U-Boot is a popular boot loader which supports a subset of the UEFI specification. It can be installed to the Android boot partition as a secondary boot loader, providing a clean environment for booting mainline Linux. Additionally, it also provides the standard fastboot interface.
Pre-builts
Tauchgang U-Boot provides community releases for Linux Mobile devices and development boards. Along with pre-built images, they also push to LVFS, which means you can easily update Tauchgang itself with fwupd. All devices currently supported by samsung-exynos7 can use Tauchgang.
- Visit https://gitlab.postmarketos.org/tauchgang/u-boot/-/artifacts.
- Find your device. (e.g.
build-samsung-on7xelte) - Check if the build is release. If the branch name doesn't start with
release/, click theNext >button below until you find one. - Download
artifacts.zipand unzip it. - Reboot the phone into Download mode.
- Flash the
u-boot-*.imgto BOOT using Heimdall:
$ heimdall flash --BOOT u-boot-vendor-codename.img
Your phone will reboot and you will be greeted with an U-Boot screen.
Manual build
| Use Tauchgang if possible, manually built U-Boots don't get updated automatically. |
If you want to manually build U-Boot for debugging, follow the guides below:
- https://gitlab.postmarketos.org/tauchgang/tauchgang-ci#building-locally
- https://docs.u-boot.org/en/latest/board/samsung/exynos-mobile.html
postmarketOS
WARNING: Never use pmbootstrap flasher flash_kernel, even if pmbootstrap suggests you to do so. It will overwrite U-Boot and make the device unbootable. |
Pre-built images are not available at the moment. Follow the installation guide with pmbootstrap. Below are the examples for building your own image.
If you don't like having full-disk encryption, omit --fde.
If you have installed the OS to both the internal storage and the SD card, the SD card one will be booted.
Install to internal storage
$ pmbootstrap init
$ pmbootstrap install --fde
Enter fastboot mode inside U-Boot (NOT Samsung's Download mode) and flash the rootfs:
$ pmbootstrap flasher flash_rootfs
Reboot the device, and it will boot into postmarketOS.
Install to an SD card
Internal storage can be tiny for heavy interfaces, such as Phosh or Plasma Mobile. Some devices can't be flashed internally because U-Boot's fastboot doesn't detect the internal emmc. In such cases, you can install to an SD card instead.
$ pmbootstrap init
$ pmbootstrap install --fde --disk=/path/to/sdcard
Plug the SD card inside the device and reboot. It will boot into postmarketOS.
Known Issues
Generic kernels
- Wi-Fi: doesn't work.
Close-to-mainline kernel
- Charging: No battery charger driver exists, which is responsible for reporting charge status and control.
- Brightness: Display works with simple framebuffer, so you can't control the panel brightness.
- USB Gadget: The host may not receive network packets from the device, unless the host sends packets to the device. Due to this behavior, SSH (among other things) doesn't work well. A workaround is to have
ping -Aq <IP>run in the background while you interact with the device (replace<IP>with the device IP address).
Problems
Wi-Fi
Wi-Fi behaves very erratically (practically unusable) when the SDIO is probed in DMA mode. The driver fails to communicate with the SDIO, reporting timeout errors. The PIO transfers happen to be stable though.
Some devices don't support 5 GHz or WPA3. If the 2.4 GHz encryption is set to WPA3-only or WPA2/WPA3 transition mode, it will refuse to connect and repeatedly prompt you for a new password, even if the correct one is entered. To fix this, set the encryption to WPA2-PSK only in your router's configuration menu.
See also
pmaports!7886 Initial merge request