Porting to Samsung Galaxy J6+ (J610F/J610G)



  • Hello, these days my friends & I are working with Samsung Galaxy J6+, provided following specification about it:

    Hardware :

    • SoC : Qualcomm Snapdragon 425 (Quad-core 1.4GHz Cortex A53)
    • RAM : 3GB/4GB
    • ROM : 32GB/64GB
    • 6" TFT LED Screen with 1480x720

    Platform :

    • Android Start with version 8.1, current have 9.0, will upgrade to 10
    • Kernel version : 3.18.71(Oreo)/3.18.120(Pie) ARCH: armhf

    Preparing Method :

    1. Use Halium-9 to Build the Halium-boot.img & System.img
    2. Let Phone go to Recovery (TWRP), and wipe everything
    3. Install UBports GSI installer : https://build.lolinet.com/file/halium/GSI/ubports_GSI_installer_v8.zip
    4. in Linux, convert the spread ext4 image from system.img to standard ext4 img, and copy into phone, replace /data/android-rootfs.img with it
    5. Install Halium-boot.img in boot partition
    6. Reboot and wait the Virtual Ethernet Link is up, set a random MAC address and SSH it into "phablet@10.15.19.82"
    • Listing Device Checking List : (WIP, updating when have process)

    Working:

    Not working:
    Actors: Manual brightness
    Actors: Notification LED
    Actors: Torchlight
    Actors: Vibration
    Camera: Flashlight
    Camera: Photo
    Camera: Video
    Cellular: Carrier info, signal strength
    Cellular: Data connection
    Cellular: Incoming, outgoing calls
    Cellular: MMS in, out
    Cellular: PIN unlock
    Cellular: SMS in, out
    Cellular: Change audio routings
    Cellular: Voice in calls
    Endurance: Battery lifetime > 24h from 100%
    Endurance: No reboot needed for 1 week

    • (Reboot once again after flashed)

    GPU: Boot into UI
    GPU: Video acceleration
    Misc: Anbox patches applied to kernel
    Misc: Battery percentage
    Misc: Offline charging
    Misc: Online charging
    [No support] Misc: Wirelss charging - only for devices that support it
    Misc: Recovery image
    Misc: Reset to factory defaults
    Misc: Shutdown / Reboot
    Network: Bluetooth
    Network: Flight mode
    Network: Hotspot
    [No support] (Network: NFC - disabled atm due to no middleware)
    Network: WiFi
    Sensors: Automatic brightness
    (Sensors: Fingerprint reader - disabled atm due to no middleware)
    Sensors: GPS
    Sensors: Proximity
    Sensors: Rotation
    Sensors: Touchscreen
    Sound: Earphones
    Sound: Loudspeaker
    Sound: Microphone
    Sound: Volume control
    USB: MTP access
    USB: RNDIS access
    USB: External monitor - only for devices that support it

    Please let me know if you have this phone and want to test it, many thanks!
    P.S. Galaxy J4+ can also use this.



  • @Kazuma Hello, in your post, it's not very clear what is working at this stage.



  • @libremax
    That what i though seeing this thred, seems all working when reading OP.

    @Kazuma
    At least, if everything's working, add :
    Not Working :
    Nothing

    Anyway, great work for the community.



  • Currently Progress :

    Armhf : Booted into halium-boot.img , every function is not tested and facing error...

    Arm64 : building required Halium-boot.img & system.img...



  • Hi all,

    Halium-9 has some special items :

    1. Seems Erfan's GSI only support ARM64 kernel & system, but I'm still trying if arm32 can do
    2. halium-install for halium-9 seems have problem while halium-7.1 didn't face before, so If anyone have faced before, let us know, thanks!
    3. in Halium-9, need use the halium-boot, not the hybris-boot


  • Decided to use Arm64 to do:

    Repo URL : https://gitlab.com/j6primelte-halium

    Thanks!



  • Status :(Sorry these days I'm out of work and didn't take care on this,sorry 🐖 )

    [Arm64]

    1. checked some folder can't mount , including /vendor, cause necessary library can't load.
    2. the lxc-checkconfig seems have some missing items
    3. Confirmed U5 version of samsung stock source have touch panel problem by recovery environment validated, so need to find another source to use.

    [arm32]

    1. AFAIK, if it boots, it'll reboot once for unknown reason...
    2. check /vendor is mounted (better than arm64 we found)
    3. seem someone in telegram group is booted into GUI with container started, but have many driver on phone equipped can't use.
      Need Verify :
      i. what the source (KT/DT/VT) he used
      ii. if source is used, what parts is he modified, and whether modified in source reflect on building, and verified it's really usable
      iii. need to check everything parts in test required item is okey...
      iv. if i~iii is ready, should let the issuer reply on Halium github with progress about arm32 things.