[DEV] Kernel 4.4 & Android 8.0 Oreo

Search This thread

decatf

Senior Member
Dec 27, 2011
649
2,666
Kernel v4.4
and
Android Open Source Project 8.0
Oreo

for
Samsung Galaxy Tab 10.1
(p4wifi / GT-P7510)
(p4 / GT-P7500)
(p4tmo / SGH-T859)

Screenshot_20171106-130841.pngScreenshot_20171106-152838.jpg


I have ported this device to Android Linux kernel v4.4. This is the official Android kernel for Oreo. This ROM requires a completely new kernel and recovery. Read everything before use.


Recovery - TWRP BigSys
  • TWRP BigSys will use a different partition layout in order to have a larger system partition size.
  • Flashing TWRP-Bigsys with odin/heimdall will overwrite the cache partition. Format the cache partition it in recovery after flashing with odin/heimdall.
    Partition layout:
    Code:
    Before:
        [  system (578MB)  |  cache (448MB)  |  data (16GB/32GB)  |         hidden / preload (300MB)          ]
    After:
        [           system (1026MB)          |  data (16GB/32GB)  |  recovery extra (16MB) |   cache (284MB)  ]
  • TWRP BigSys is not compatible with any ROM before Oreo.
  • BigSys partitioning is based on BigPart for Motorola Xoom.


Kernel - Linux v4.4

This is based on the official Android common kernel. The drivers and platform specific parts ported from the original 3.1.10 kernel.

Working
Code:
Tegra 2 platform
  Downstream video/avp
  Dynamic voltage and frequency scaling
  USB (ConfigFS)
   - no host mode
Voltage Regulators / Battery / Charger
  tps6586x
  stmpe811
  max17042
  p4_battery
  nct1008
Display Panel
  cmc623
Touch Digitizer
  mxt1386
Audio
  wm8994
  3.5mm jack
  voodoo sound driver
Wifi
  bcm4330
Bluetooth
  bcm4330
GPS
  bcm4751
Sensors
  mpu3050: gyroscope
  kxtf9: accelerometer
  ak8975: compass
  bh1721fvc: light sensor
Haptics
  isa1200
Misc
  Samsung misc partition. (Stores reboot mode and proprietary control bits)
  Samsung LPM (off mode charging)
Will not work
Code:
3G/Cellular modem
  xmm6260
  tegra usb phy hsic
   - No mainline kernel driver for this USB interface
Cameras / Flash
  s5k5ccgx
  s5k5bbgx
   - Incompatible camera stack 
HDMI
  sii9234
Samsung 30-pin connector
  keyboard dock, dongles, accessories
Functional differences
Code:
Enable force usb charging at kernel boot (rather than android init).
Add haptic vibration strength.


ROM - Android 8.0 Oreo
The ROM is AOSP based.
It is one ROM and recovery for p4wifi (GT-P7510), p4 (GT-P7500), and p4tmo (SGH-T859) since 3G/cellular will not work in the kernel. There is no difference between the two devices other than the cellular modem.

Customizations:
  • Advanced reboot menu
  • NEON emulation
  • Apollo music app

Working / Not working:
  • See the list under the kernel section.


First Install
  1. Backup all data to a location off the device.
  2. Install and boot into TWRP BigSys
  3. Format system partition
    - Wipe > Advanced Wipe > Check "System" > Swipe to Wipe
  4. Reboot to TWRP BigSys
  5. Install ROM
    - (optional) Install GApps
    - (optional) Install root
  6. See post #2 on how to report problems
Updating
  1. Install ROM

Downloads


Known Issues
Known kernel 4.4 issues:
  • ak8975 compass orientation not reporting data
    - test: CPU-z sensors tab shows no data
  • Wifi chip/firmware crash:
    - Connection drops and will not reconnect.
    - Low reproducabiliy.
    - Bug is known to occur on all tested bcmdhd drivers except stock ICS and espresso10 bcmdhd driver.
    - Workaround: Turn off wifi. Turn on wifi.

    [*]Battery drain in power off:
    - Device is not actually powering off.
    - Low reproducabiliy.
    - Possible causes:
    - tps6586x regulator does not power off (due to i2c transfer errors).
    - Hard lock up when CPU1 is offline and wifi sdio bus is on.
    - host1x syncpt stuck.​
    - test1:
    - Proper power off: Press power button for 2 seconds to power on.
    - Improper power off: Press power button for 8 seconds to power on.​
    - test2: Reboot to recovery hangs after OS shutdown instead of rebooting to recover.


Other known issues:
  • Android OS stuck at boot logo:
    - Cause 1: The HIDL HALs not starting properly
    - Cause 2: System services die and loop forever
    - Workaround: Reboot device


FAQ

Will X feature work?
- I have ported everything I can to the new kernel. Anything not mentioned is not going to work.

3G / Cellular?
- The Tegra USB driver in mainline kernel does not support the USB interface which connects the modem.

Camera?
- The camera devices are not working on the mainline kernel. The camera blob hasn't worked right since Lollipop anyways.

Can the old 3.1.10 kernel be used on Oreo?
- The old kernel is not working on Oreo.

Can the 4.4 kernel be used on previous ROMs?
- No.

Will this kernel work on Galaxy Tab 8.9?
- No.

How to return to stock partition layout.
  1. Install a non-BigSys TWRP.
  2. Format system and cache partition.
  3. Reboot to TWRP

Change Log
Code:
20181011
 - android-8.1.0_r48
 - Linux 4.4.160

20180814
 - android-8.1.0_r42
 - Linux 4.4.147

20180416
 - android-8.1.0_r19
 - Linux 4.4.128
 - Disable Android Go configuration
 - Add back cache partition
 - Fix a potential issue blocking wifi suspend
 - Fix an issue with audio not working after suspend
 - Fix bluetooth gpios
 - Correct a voltage regulator configuration

20180316
 - android-8.1.0_r16
 - webview 65.0.3325.144
 - Signature Spoofing
 - Linux 4.4.121
 - mainline mfd/m8994 driver

20180213
 - Fix SOC (core) process ID 2 initialization
 - Add BFQ iosched

20180206
 - android-8.1.0_r10
 - Linux 4.4.115
 - webview 64.0.3282.123

20180110
 - android-8.1.0_r6
 - Linux 4.4.111
 - Night Light feature
 - Android Go configuration
 - Fix DVFS issues
 - Fix 3.5mm headphone plug issues

20171117
 - android-8.0.0_r28
 - Linux 4.4.98
 - local_manifest changes:

    device/samsung/p4-common
    1095462 p4-common: init: set schedutil rate limit to 30000us
    5153c33 Revert "p4-common: init: interactive governor"
    0b90b12 Revert "power: enable interactive and interactive boost"
    8489850 Revert "p4-common: set interactive governor permissions"
    a95ade0 Revert "power: set interactive governor target loads"
    d557892 configstore: set vsync phase offsets
    881361f p4-common: disable samsung hwc fix
    3f1308f p4-common: sched fifo on UI and RenderThreads
    260c9e9 p4-common: overlay: change recents thumbnail svelte to limit cache
    acfcdcd power: set interactive governor target loads
    221576e p4-common: set interactive governor permissions
    c8d553b power: enable interactive and interactive boost
    ba7e0f6 p4-common: init: interactive governor
    e6b1d5c Revert "p4-common: disable wifi direct"
    3b2e521 Revert "hwc: move eglswapbuffers from blob into hwc wrapper"
    5075a0b hwc: move eglswapbuffers from blob into hwc wrapper

    frameworks/base
    53cc0b0 hwui: don't use eglSwapBuffersWithDamageKHR

    vendor/decatf
    a4bef77 set_rt_prios.sh: Move mmc0/dhd_dpc priority into kernel
    88a52a6 set_rt_prios.sh: lower wifi task priority and nice value
    40db629 Add set_rt_prios.sh

20171109
 - Fix CMC623F initialization
20171107
 - Support more eMMC chips for BigSys

Acknowledgments
  • mainlane for donating a device after my original tablet broke.
  • digetx - downstream tegra video driver, Tegra USB ConfigFS, various work on Tegra devices in mainline.
  • BigPart developers for devising this method of partitioning.

Donate


XDA:DevDB Information
Kernel 4.4 & Android 8.0 Oreo, ROM for the Samsung Galaxy Tab 10.1

Contributors
decatf
Source Code: https://github.com/decatf/

ROM OS Version: 8.x Oreo
ROM Kernel: Linux 4.x
Based On: AOSP

Version Information
Status: Alpha

Created 2017-10-15
Last Updated 2018-10-11
 
Last edited:

decatf

Senior Member
Dec 27, 2011
649
2,666
Error reporting guide:

Saying "it doesn't work" will not get your problem solved. Save and upload the system logs from your device so that I can see what happening on your device.

How to save system logs from within Android:
  1. Root the device.
  2. Install SysLog.
  3. Reboot the system.
  4. Reproduce the problem.
  5. Open Syslog app and save the Kernel Log and Main Log.
  6. Send me the log files stored in /sdcard/Syslog.
    Share the files on Google Drive or another similar service.
    Then PM me a link to the files. Please describe exactly what the issue is.

The kernel log from the previous boot is stored in memory. If the device or kernel crashes then retrieve the previous kernel log from recovery.
How to retrieve the previous kernel log in recovery:
  1. Advanced
  2. File Manager
  3. Navigate to /proc/last_kmsg
  4. Copy File
  5. Navigate to /sdcard/
  6. Select Current Folder
  7. Swipe to Confirm

Getting logs though ADB:
 
Last edited:

Pixeldreamscape

New member
Mar 1, 2017
2
0
Add feature to new kernel

Would it be possible to add in the kernel the neccessary things for pelya usb keyboard. Google search for pelya usb keyboard and there is a github with all the code needed to be inserted into the kernel to make the usb keyboard work.
 

decatf

Senior Member
Dec 27, 2011
649
2,666
Can I flash this rom on over the existing 20171005 version? Thanks.

Yes. It is the same ROM. Only the kernel is different.

This not meant for regular use. It only posted in order to get kernel logs and feedback on the issues in the first post. I will not maintain this kernel for regular use.
 
Last edited:

dookie23

Senior Member
Jul 6, 2010
296
377
HTC Dragon
Google Nexus 4
Yes. It is the same ROM. Only the kernel is different.

This not meant for regular use. It only posted in order to get kernel logs and feedback on the issues in the first post. I will not maintain this kernel for regular use.

Hi @decatf,

Thanks very much for doing this. Attached are the logs. The processor has no problem switching to different clock frequencies.
 

Attachments

  • 2017-10-17_19.34.zip
    1.7 KB · Views: 389
  • clk_summary.txt
    10.4 KB · Views: 116
  • Screenshot_20171017-194155.png
    Screenshot_20171017-194155.png
    71.9 KB · Views: 2,343
  • Like
Reactions: decatf

mistersixt

Senior Member
Jun 17, 2011
461
209
System was booting fine with 3.18 on my P4, please find the output of cmdline and clk_summary attached.

Kind regards, mistersixt.
 

Attachments

  • cmdline.txt
    887 bytes · Views: 110
  • clk_summary.txt
    10.4 KB · Views: 54
  • Like
Reactions: decatf

DokanCalp

Member
Dec 1, 2015
15
3
It has an issue rendering text, but nothing a reboot can't fix, aside that it's working fine.
I cann't upload files, so I'll send you a PM with syslogs.
Thanks for your time.
 
  • Like
Reactions: decatf

tiberian41

Senior Member
Jun 14, 2011
69
15
Hi decatf. I tried testing the kernel when you first posted it but I couldn't get past boot loops. After restoring a nandroid back up, I follwed thw instructions for a clean install with the following esult:

Backup all data to a location off the device.
Install and boot into TWRP BigSys
Format system partition
- Wipe > Advanced Wipe > Check "System" > Swipe to Wipe
Reboot to TWRP BigSys
Install ROM
- (optional) Install GApps
- (optional) Install root

E1001: Failed to update system image.
Updater process ended with ERROR:7
Error installing zip file '/sdcard/aosp-8.0-p4wifi-20171106.zip'
 

decatf

Senior Member
Dec 27, 2011
649
2,666
Hi decatf. I tried testing the kernel when you first posted it but I couldn't get past boot loops. After restoring a nandroid back up, I follwed thw instructions for a clean install with the following esult:

Backup all data to a location off the device.
Install and boot into TWRP BigSys
Format system partition
- Wipe > Advanced Wipe > Check "System" > Swipe to Wipe
Reboot to TWRP BigSys
Install ROM
- (optional) Install GApps
- (optional) Install root

E1001: Failed to update system image.
Updater process ended with ERROR:7
Error installing zip file '/sdcard/aosp-8.0-p4wifi-20171106.zip'

Get the recovery log:
- Advanced > Copy Log
 
Last edited:

decatf

Senior Member
Dec 27, 2011
649
2,666
Many thanks decatf

Your device has a different eMMC chip and partition locations than my device. I had not expected this. The BigSys partitioning is only coded to work when it sees the expected partition layout to convert.

It only means that I need to write some code to handle whatever different eMMC chips there are. So you'll have to wait for now until that's done.
 

tiberian41

Senior Member
Jun 14, 2011
69
15
OK, cool. Thanks very much decatf. :good:

Your device has a different eMMC chip and partition locations than my device. I had not expected this. The BigSys partitioning is only coded to work when it sees the expected partition layout to convert.

It only means that I need to write some code to handle whatever different eMMC chips there are. So you'll have to wait for now until that's done.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 39
    Kernel v4.4
    and
    Android Open Source Project 8.0
    Oreo

    for
    Samsung Galaxy Tab 10.1
    (p4wifi / GT-P7510)
    (p4 / GT-P7500)
    (p4tmo / SGH-T859)

    Screenshot_20171106-130841.pngScreenshot_20171106-152838.jpg


    I have ported this device to Android Linux kernel v4.4. This is the official Android kernel for Oreo. This ROM requires a completely new kernel and recovery. Read everything before use.


    Recovery - TWRP BigSys
    • TWRP BigSys will use a different partition layout in order to have a larger system partition size.
    • Flashing TWRP-Bigsys with odin/heimdall will overwrite the cache partition. Format the cache partition it in recovery after flashing with odin/heimdall.
      Partition layout:
      Code:
      Before:
          [  system (578MB)  |  cache (448MB)  |  data (16GB/32GB)  |         hidden / preload (300MB)          ]
      After:
          [           system (1026MB)          |  data (16GB/32GB)  |  recovery extra (16MB) |   cache (284MB)  ]
    • TWRP BigSys is not compatible with any ROM before Oreo.
    • BigSys partitioning is based on BigPart for Motorola Xoom.


    Kernel - Linux v4.4

    This is based on the official Android common kernel. The drivers and platform specific parts ported from the original 3.1.10 kernel.

    Working
    Code:
    Tegra 2 platform
      Downstream video/avp
      Dynamic voltage and frequency scaling
      USB (ConfigFS)
       - no host mode
    Voltage Regulators / Battery / Charger
      tps6586x
      stmpe811
      max17042
      p4_battery
      nct1008
    Display Panel
      cmc623
    Touch Digitizer
      mxt1386
    Audio
      wm8994
      3.5mm jack
      voodoo sound driver
    Wifi
      bcm4330
    Bluetooth
      bcm4330
    GPS
      bcm4751
    Sensors
      mpu3050: gyroscope
      kxtf9: accelerometer
      ak8975: compass
      bh1721fvc: light sensor
    Haptics
      isa1200
    Misc
      Samsung misc partition. (Stores reboot mode and proprietary control bits)
      Samsung LPM (off mode charging)
    Will not work
    Code:
    3G/Cellular modem
      xmm6260
      tegra usb phy hsic
       - No mainline kernel driver for this USB interface
    Cameras / Flash
      s5k5ccgx
      s5k5bbgx
       - Incompatible camera stack 
    HDMI
      sii9234
    Samsung 30-pin connector
      keyboard dock, dongles, accessories
    Functional differences
    Code:
    Enable force usb charging at kernel boot (rather than android init).
    Add haptic vibration strength.


    ROM - Android 8.0 Oreo
    The ROM is AOSP based.
    It is one ROM and recovery for p4wifi (GT-P7510), p4 (GT-P7500), and p4tmo (SGH-T859) since 3G/cellular will not work in the kernel. There is no difference between the two devices other than the cellular modem.

    Customizations:
    • Advanced reboot menu
    • NEON emulation
    • Apollo music app

    Working / Not working:
    • See the list under the kernel section.


    First Install
    1. Backup all data to a location off the device.
    2. Install and boot into TWRP BigSys
    3. Format system partition
      - Wipe > Advanced Wipe > Check "System" > Swipe to Wipe
    4. Reboot to TWRP BigSys
    5. Install ROM
      - (optional) Install GApps
      - (optional) Install root
    6. See post #2 on how to report problems
    Updating
    1. Install ROM

    Downloads


    Known Issues
    Known kernel 4.4 issues:
    • ak8975 compass orientation not reporting data
      - test: CPU-z sensors tab shows no data
    • Wifi chip/firmware crash:
      - Connection drops and will not reconnect.
      - Low reproducabiliy.
      - Bug is known to occur on all tested bcmdhd drivers except stock ICS and espresso10 bcmdhd driver.
      - Workaround: Turn off wifi. Turn on wifi.

      [*]Battery drain in power off:
      - Device is not actually powering off.
      - Low reproducabiliy.
      - Possible causes:
      - tps6586x regulator does not power off (due to i2c transfer errors).
      - Hard lock up when CPU1 is offline and wifi sdio bus is on.
      - host1x syncpt stuck.​
      - test1:
      - Proper power off: Press power button for 2 seconds to power on.
      - Improper power off: Press power button for 8 seconds to power on.​
      - test2: Reboot to recovery hangs after OS shutdown instead of rebooting to recover.


    Other known issues:
    • Android OS stuck at boot logo:
      - Cause 1: The HIDL HALs not starting properly
      - Cause 2: System services die and loop forever
      - Workaround: Reboot device


    FAQ

    Will X feature work?
    - I have ported everything I can to the new kernel. Anything not mentioned is not going to work.

    3G / Cellular?
    - The Tegra USB driver in mainline kernel does not support the USB interface which connects the modem.

    Camera?
    - The camera devices are not working on the mainline kernel. The camera blob hasn't worked right since Lollipop anyways.

    Can the old 3.1.10 kernel be used on Oreo?
    - The old kernel is not working on Oreo.

    Can the 4.4 kernel be used on previous ROMs?
    - No.

    Will this kernel work on Galaxy Tab 8.9?
    - No.

    How to return to stock partition layout.
    1. Install a non-BigSys TWRP.
    2. Format system and cache partition.
    3. Reboot to TWRP

    Change Log
    Code:
    20181011
     - android-8.1.0_r48
     - Linux 4.4.160
    
    20180814
     - android-8.1.0_r42
     - Linux 4.4.147
    
    20180416
     - android-8.1.0_r19
     - Linux 4.4.128
     - Disable Android Go configuration
     - Add back cache partition
     - Fix a potential issue blocking wifi suspend
     - Fix an issue with audio not working after suspend
     - Fix bluetooth gpios
     - Correct a voltage regulator configuration
    
    20180316
     - android-8.1.0_r16
     - webview 65.0.3325.144
     - Signature Spoofing
     - Linux 4.4.121
     - mainline mfd/m8994 driver
    
    20180213
     - Fix SOC (core) process ID 2 initialization
     - Add BFQ iosched
    
    20180206
     - android-8.1.0_r10
     - Linux 4.4.115
     - webview 64.0.3282.123
    
    20180110
     - android-8.1.0_r6
     - Linux 4.4.111
     - Night Light feature
     - Android Go configuration
     - Fix DVFS issues
     - Fix 3.5mm headphone plug issues
    
    20171117
     - android-8.0.0_r28
     - Linux 4.4.98
     - local_manifest changes:
    
        device/samsung/p4-common
        1095462 p4-common: init: set schedutil rate limit to 30000us
        5153c33 Revert "p4-common: init: interactive governor"
        0b90b12 Revert "power: enable interactive and interactive boost"
        8489850 Revert "p4-common: set interactive governor permissions"
        a95ade0 Revert "power: set interactive governor target loads"
        d557892 configstore: set vsync phase offsets
        881361f p4-common: disable samsung hwc fix
        3f1308f p4-common: sched fifo on UI and RenderThreads
        260c9e9 p4-common: overlay: change recents thumbnail svelte to limit cache
        acfcdcd power: set interactive governor target loads
        221576e p4-common: set interactive governor permissions
        c8d553b power: enable interactive and interactive boost
        ba7e0f6 p4-common: init: interactive governor
        e6b1d5c Revert "p4-common: disable wifi direct"
        3b2e521 Revert "hwc: move eglswapbuffers from blob into hwc wrapper"
        5075a0b hwc: move eglswapbuffers from blob into hwc wrapper
    
        frameworks/base
        53cc0b0 hwui: don't use eglSwapBuffersWithDamageKHR
    
        vendor/decatf
        a4bef77 set_rt_prios.sh: Move mmc0/dhd_dpc priority into kernel
        88a52a6 set_rt_prios.sh: lower wifi task priority and nice value
        40db629 Add set_rt_prios.sh
    
    20171109
     - Fix CMC623F initialization
    20171107
     - Support more eMMC chips for BigSys

    Acknowledgments
    • mainlane for donating a device after my original tablet broke.
    • digetx - downstream tegra video driver, Tegra USB ConfigFS, various work on Tegra devices in mainline.
    • BigPart developers for devising this method of partitioning.

    Donate


    XDA:DevDB Information
    Kernel 4.4 & Android 8.0 Oreo, ROM for the Samsung Galaxy Tab 10.1

    Contributors
    decatf
    Source Code: https://github.com/decatf/

    ROM OS Version: 8.x Oreo
    ROM Kernel: Linux 4.x
    Based On: AOSP

    Version Information
    Status: Alpha

    Created 2017-10-15
    Last Updated 2018-10-11
    11
    Hi decatf,

    will there be an update in the future? Last release was back in April. Just wondering... or did your last 10.1 die and the project is EOL?

    Thanks and kind regards,

    mistersixt.

    I didn't think anybody was really using the Oreo ROM since the UI is so slow on this device. The next version of Android is out which means Google will soon stop providing updates to Oreo. I'll update this ROM a few more times until the last version of Oreo. That will be the end of Android ROMs from me.

    Android 9 won't work on this device. The framework has changed too much since Android 4.0 ICS. The ancient Nvidia graphics stack can't be made to run on it. I wasn't able to hack it to work.
    7
    I've posted an 8.1 ROM. Do a full wipe when coming from 8.0.

    There are no changes with regards to the recovery/install issues.
    7
    April update is posted.
    Changes:
    - android-8.1.0_r19
    - Linux 4.4.128
    - Add back cache partition
    - Fix a potential issue blocking wifi suspend
    - Fix an issue with audio not working after suspend
    - Fix bluetooth gpios
    - Correct a voltage regulator configuration
    - Disable Android Go configuration

    This brings back the cache partition by placing cache in the remaining unused space of the hidden/preload partition. See the first post for the partition layout. Flashing TWRP-Bigsys with odin/heimdall will overwrite the cache partition. Format the cache partition it in recovery after flashing with odin/heimdall.
    7