Difference between revisions of "Meizu Pro 5 (meizu-turbo)"

From postmarketOS
Jump to navigation Jump to search
Line 64: Line 64:
 
Turning on OpenRC logging does not produce any log files in /var/log on sysroot partition, which suggests that either switch_root and call to /sbin/init fails,
 
Turning on OpenRC logging does not produce any log files in /var/log on sysroot partition, which suggests that either switch_root and call to /sbin/init fails,
 
or OpenRC fails on very early stage.
 
or OpenRC fails on very early stage.
The same result has been observed on a modified UBPorts kernel (currently in APKBUILD) and on faust98 kernel (see below).
+
The same result has been observed on a modified UBPorts kernel (currently in APKBUILD) and on faust98 kernel (see below), both compiled on GCC8 and GCC6.
 +
 
 +
If one tries to mount the system manually it reboots after populating /dev message:
 +
 
 +
 
 +
# mount /dev/block/sda41p2 /sysroot
 +
# mount -t proc proc /sysroot/proc
 +
# mount -t sysfs sys /sysroot/sys
 +
# chroot /system
 +
# touch .....runlevel
 +
# /etc/init.d/devfs start
 +
# ls /dev
 +
adnc0              cluster1_freq_min  hwrng              ion-test            mapper              ram0                sda1                sdc                tty12              tty31              tty50              ttyGS3              v4l- subdev6        video141
 +
adnc1              cluster1_num_max    i2c-0              january            media0              ram1                sda2                seiren              tty13              tty32              tty51              ttySAC1            v4l-subdev7        video142
 +
adnc2              cluster1_num_min    i2c-1              kmem                mem                ram10              sda21              sg0                tty14              tty33              tty52              ttySAC4            v4l-subdev8        video150
 +
adnc3              console            i2c-10              kmsg                memory_throughput  ram11              sda22              sg1                tty15              tty34              tty53              uhid                v4l-subdev9        video152
 +
adnc4              cpu_dma_latency    i2c-11              log_events          mobicore            ram12              sda23              sg2                tty16              tty35              tty54              uinput              vcs                video50
 +
adnc5              device_throughput  i2c-12              log_main            mobicore-user      ram13              sda24              sg3                tty17              tty36              tty55              umts_boot0          vcs1                video51
 +
alarm              display_throughput  i2c-13              log_radio          modem_br            ram14              sda25              sg4                tty18              tty37              tty56              umts_dm0            vcsa                video6
 +
android_adb        dm-0                i2c-14              log_system          mtp_usb            ram15              sda26              sg5                tty19              tty38              tty57              umts_ipc0          vcsa1              video7
 +
android_ssusbcon    dm-1                i2c-15              loop-control        muic_device        ram2                sda27              shm                tty2                tty39              tty58              umts_ipc1          vga_arbiter        video8
 +
ashmem              erandom            i2c-2              loop0              multipdp            ram3                sda28              snd                tty20              tty4                tty59              umts_loopback      video101            video9
 +
battery_device      fb0                i2c-3              loop1              net                ram4                sda29              spi_boot_link      tty21              tty40              tty6                umts_rfs0          video102            watchdog
 +
binder              fb1                i2c-4              loop2              network_latency    ram5                sda3                stderr              tty22              tty41              tty60              umts_router        video110            watchdog0
 +
bus_throughput      fd                  i2c-5              loop3              network_throughput  ram6                sda30              stdin              tty23              tty42              tty61              urandom            video111            xt_qtaguid
 +
bus_throughput_max  fimg2d              i2c-6              loop4              null                ram7                sda31              stdout              tty24              tty43              tty62              usb_accessory      video112              zero
 +
cam_throughput      frandom            i2c-7              loop5              p61                ram8                sda32              stmvl6180_ranging  tty25              tty44              tty63              v4l-subdev0        video120
 +
charger_device      full                i2c-8              loop6              panic_msg          ram9                sda33              tspdrv              tty26              tty45              tty7                v4l-subdev1        video121
 +
cluster0_freq_max  fuse                i2c-9              loop7              pn544              random              sda41              tty                tty27              tty46              tty8                v4l-subdev10        video122
 +
cluster0_freq_min  gps                iio:device0        m2m1shot_jpeg      port                rfkill              sda42              tty0                tty28              tty47              tty9                v4l-subdev2        video130
 +
cluster0_num_max    gpu_freq_max        iio:device1        m2m1shot_scaler0    ppp                rtc0                sda43              tty1                tty29              tty48              ttyGS0              v4l-subdev3        video131
 +
cluster0_num_min    gpu_freq_min        input              m2m1shot_scaler1    psaux              s5p-smem            sda44              tty10              tty3                tty49              ttyGS1              v4l-subdev4        video132
 +
cluster1_freq_max  haptic_device      ion                mali0              ptmx                sda                sdb                tty11              tty30              tty5                ttyGS2              v4l-subdev5        video140
 +
# openrc
 +
  * Mounting security filesystem ... [ ok ]
 +
  * Mounting debug filesystem ... [ ok ]
 +
  * Mounting config filesystem ... [ ok ]
 +
  * Mounting fuse control filesystem ... [ ok ]
 +
  * Mounting SELinux filesystem ... [ ok ]
 +
  * Starting udev ... [ ok ]
 +
  * Generating a rule to create a /dev/root symlink ... [ ok ]
 +
  * Populating /dev with existing devices through uevents ... [ ok ]
 +
'''
  
 
== Development notes ==
 
== Development notes ==

Revision as of 22:24, 18 December 2018

Meizu Pro 5
[[|200px|alt=Meizu 5 Pro]]
Meizu 5 Pro
Manufacturer Meizu
Name Pro 5
Codename meizu-turbo
Released 2015
Category testing
Original software Android 5, Ubuntu Touch
Hardware
Chipset Samsung Exynos 7420 Octa
CPU Octa-core (4x2.1 GHz Cortex-A57 & 4x1.5 GHz Cortex-A53)
GPU Mali-T760MP8
Display AMOLED, 16M colors
Storage 32GB/64GB
Memory 3GB/4GB
Architecture aarch64
Features
USB Networking
Works
Flashing
Partial
Touchscreen
Display
Broken
WiFi
Xwayland
FDE
Mainline
Battery
3D Acceleration
Accelerometer
Audio
Bluetooth
Camera
GPS
Mobile data
SMS
Calls
USB OTG



Contributors

elelel

Maintainer(s)

How to enter flash mode

The device has to be with unlocked bootloader. Android phone version has bootloader locked by default. Locked bootloader may be unlocked with a Beta FlymeOS image for the international phone version. International firmware can be flashed to Chinese phone if one changes phone's id (possible with a 5.1.x Chinese firmware, root and a hex editor).


Press volume down and power while turning on to get into fastboot mode.

Installation

Current pmbootstrap utility assumes that boot partition is always named 'boot' on fastboot devices. This device's boot partition has 'bootimg' label. Because of that boot partition must be either flashed directly with fastboot utility, or pmbootstrap config source code has to be fixed.

Status

Currently when turned on, the device enters reboot loop. USB networking workds, telnet debugging hook lets log in at early stage before the reboot. All steps from init.sh until switch_root when entered manually in telnet debug shell seem to work without problem. The display is not working - blank black screen. If provoked to display an early splash (e.g. no rootfs), a black image is displayed with white lines on the left and top borders, as if it is a part of zoomed in image. Turning on OpenRC logging does not produce any log files in /var/log on sysroot partition, which suggests that either switch_root and call to /sbin/init fails, or OpenRC fails on very early stage. The same result has been observed on a modified UBPorts kernel (currently in APKBUILD) and on faust98 kernel (see below), both compiled on GCC8 and GCC6.

If one tries to mount the system manually it reboots after populating /dev message:


# mount /dev/block/sda41p2 /sysroot
# mount -t proc proc /sysroot/proc
# mount -t sysfs sys /sysroot/sys
# chroot /system 
# touch .....runlevel
# /etc/init.d/devfs start
# ls /dev
adnc0               cluster1_freq_min   hwrng               ion-test            mapper              ram0                sda1                sdc                 tty12               tty31               tty50               ttyGS3              v4l- subdev6         video141
adnc1               cluster1_num_max    i2c-0               january             media0              ram1                sda2                seiren              tty13               tty32               tty51               ttySAC1             v4l-subdev7         video142
adnc2               cluster1_num_min    i2c-1               kmem                mem                 ram10               sda21               sg0                 tty14               tty33               tty52               ttySAC4             v4l-subdev8         video150
adnc3               console             i2c-10              kmsg                memory_throughput   ram11               sda22               sg1                 tty15               tty34               tty53               uhid                v4l-subdev9         video152
adnc4               cpu_dma_latency     i2c-11              log_events          mobicore            ram12               sda23               sg2                 tty16               tty35               tty54               uinput              vcs                 video50
adnc5               device_throughput   i2c-12              log_main            mobicore-user       ram13               sda24               sg3                 tty17               tty36               tty55               umts_boot0          vcs1                video51
alarm               display_throughput  i2c-13              log_radio           modem_br            ram14               sda25               sg4                 tty18               tty37               tty56               umts_dm0            vcsa                video6
android_adb         dm-0                i2c-14              log_system          mtp_usb             ram15               sda26               sg5                 tty19               tty38               tty57               umts_ipc0           vcsa1               video7
android_ssusbcon    dm-1                i2c-15              loop-control        muic_device         ram2                sda27               shm                 tty2                tty39               tty58               umts_ipc1           vga_arbiter         video8
ashmem              erandom             i2c-2               loop0               multipdp            ram3                sda28               snd                 tty20               tty4                tty59               umts_loopback       video101            video9
battery_device      fb0                 i2c-3               loop1               net                 ram4                sda29               spi_boot_link       tty21               tty40               tty6                umts_rfs0           video102            watchdog
binder              fb1                 i2c-4               loop2               network_latency     ram5                sda3                stderr              tty22               tty41               tty60               umts_router         video110             watchdog0
bus_throughput      fd                  i2c-5               loop3               network_throughput  ram6                sda30               stdin               tty23               tty42               tty61               urandom             video111             xt_qtaguid
bus_throughput_max  fimg2d              i2c-6               loop4               null                ram7                sda31               stdout              tty24               tty43               tty62               usb_accessory       video112              zero
cam_throughput      frandom             i2c-7               loop5               p61                 ram8                sda32               stmvl6180_ranging   tty25               tty44               tty63               v4l-subdev0         video120
charger_device      full                i2c-8               loop6               panic_msg           ram9                sda33               tspdrv              tty26               tty45               tty7                v4l-subdev1         video121
cluster0_freq_max   fuse                i2c-9               loop7               pn544               random              sda41               tty                 tty27               tty46               tty8                v4l-subdev10        video122
cluster0_freq_min   gps                 iio:device0         m2m1shot_jpeg       port                rfkill              sda42               tty0                tty28               tty47               tty9                v4l-subdev2         video130
cluster0_num_max    gpu_freq_max        iio:device1         m2m1shot_scaler0    ppp                 rtc0                sda43               tty1                tty29               tty48               ttyGS0              v4l-subdev3         video131
cluster0_num_min    gpu_freq_min        input               m2m1shot_scaler1    psaux               s5p-smem            sda44               tty10               tty3                tty49               ttyGS1              v4l-subdev4         video132
cluster1_freq_max   haptic_device       ion                 mali0               ptmx                sda                 sdb                 tty11               tty30               tty5                ttyGS2              v4l-subdev5         video140
# openrc 
 * Mounting security filesystem ... [ ok ]
 * Mounting debug filesystem ... [ ok ]
 * Mounting config filesystem ... [ ok ]
 * Mounting fuse control filesystem ... [ ok ]
 * Mounting SELinux filesystem ... [ ok ]
 * Starting udev ... [ ok ]
 * Generating a rule to create a /dev/root symlink ... [ ok ]
 * Populating /dev with existing devices through uevents ... [ ok ]

Development notes

Kernels

There are several candidate kernels for the port:

  1. Official kernel sources
    1. Android branch. This branch seem to contain the very first kernel used for the earliest FlymeOS 4.x ROM. It is reported to be uncomplete, in particular, it misses Meizu proprietary sources for power management.
    2. Ubuntu branch. This branch seem to contain kernel actually used in more recent official Android releases (3.10.100) at least till commit f866ad068f11fb5e68ff87901346483945972ae9. After that Ubuntu-specific patches as well as generic bugfixes come.
    3. Android 7 kernel, not released. Kernels from previous two links were only used in very early official ROMs. Later kernel sources were not realeased. There is a Github issue requesting the release. Meizu is known to respond positively to such issues.
  2. Unofficial sources
    1. UBPorts kernel. Based on Meizu Pro 5 branch. Contains Ubuntu Touch fixes and ports, mainly Android binder and anbox-specific patches.
    2. faust93's kernel. Kernel used in at least two unofficial Android roms. This kernel, probably based on CM14.1, seems to be most up to date candidate, but contains a lot of patches from assorted sources and may be not very stable


See also

Initial merge request