[KERNEL][N/O][F2FS][sdcardfs][MultiROM] jolla-kernel_bullhead_II-v28.0 [2017-12-16]

Search This thread

jollaman999

Senior Member
Aug 19, 2014
908
2,419
South Korea
github.com
Jolla,

I had a crash. Here is the multirom_log.txt http://pastebin.com/UTwjuZ93
I was able to boot into UberMallow fine, right on the first try, but after flashing the vendor image it failed to boot. Multirom shut down to prevent data corruption. I'm guessing this is a ROM vendor issue. UPDATE: MultiROM also crashed when I flashed EX kernel on a secondary ROM. multirom_log_kernel.txt attached as well.

-My experience with MultiROM so far, with PureNexus as primary-
*AICP: Managed to boot it after a reset, but it gets stuck at 'Finishing boot.' ROM problem i believe. Logs point to SystemUI and CMTE crashing.
*Omni: No luck.
*UberMallow: Boots right into it without any problem, but not after flashing the vendor image (or a different kernel). MultiROM crashes.
*Dirty Unicorns: Boots right into it without any problem, but not after flashing the vendor. It could be a problem with the vendor.zip that i'm flashing (PureNexus).

You should use stock vendor image for decrypt properly.
 
Last edited:
Jun 29, 2014
38
310
[Kernel Features!!]
- MultiROM support!! (Experimental)
- Included in Aroma Installer
- You can't set lock security settings in secondary ROMs (For prevent conflict with primary rom)
- When you select one of secondary ROM it will stop at Google logo. Just press the power button for a long time for reset.
Then secondary Rom will boot!
That's weird: maybe it's booting into the LG crash handler instead? Try: in drivers/power/reset/msm-poweroff.c
1) change the hardboot hook in drivers/power/reset/msm-poweroff.c to:
Code:
#ifdef CONFIG_KEXEC_HARDBOOT
static void msm_kexec_hardboot_hook(void)
{
	qpnp_pon_system_pwr_off(PON_POWER_OFF_WARM_RESET);
	__raw_writel(0x776655ff, restart_reason);
}
#endif
if that doesn't work, try
Code:
#ifdef CONFIG_KEXEC_HARDBOOT
static void msm_kexec_hardboot_hook(void)
{
	msm_restart_prepare("");
}
#endif
- It seems adbd not working properly in recovery and MultiROM selection screen.
I don't know about recovery, but ADBD not working in the selection screen is a known issue: I forgot to remove a line in multirom_adbd ( https://github.com/multirom-nexus6p/multirom/issues/1 ). Didn't bother fixing it since adbd on that screen is completely useless.
 
  • Like
Reactions: roofrider

jollaman999

Senior Member
Aug 19, 2014
908
2,419
South Korea
github.com
That's weird: maybe it's booting into the LG crash handler instead? Try: in drivers/power/reset/msm-poweroff.c
1) change the hardboot hook in drivers/power/reset/msm-poweroff.c to:
Code:
#ifdef CONFIG_KEXEC_HARDBOOT
static void msm_kexec_hardboot_hook(void)
{
	qpnp_pon_system_pwr_off(PON_POWER_OFF_WARM_RESET);
	__raw_writel(0x776655ff, restart_reason);
}
#endif
if that doesn't work, try
Code:
#ifdef CONFIG_KEXEC_HARDBOOT
static void msm_kexec_hardboot_hook(void)
{
	msm_restart_prepare("");
}
#endif

I don't know about recovery, but ADBD not working in the selection screen is a known issue: I forgot to remove a line in multirom_adbd ( https://github.com/multirom-nexus6p/multirom/issues/1 ). Didn't bother fixing it since adbd on that screen is completely useless.

Fixed in v6.0 official release. Coming soon.
 

jollaman999

Senior Member
Aug 19, 2014
908
2,419
South Korea
github.com
[bullhead-v6.0]

== Kernel ==
- Linux 3.10.98
- Revert "bullhead_defconfig: Enable FB_MSM_MDSS_HDMI_PANEL"
- Revert "bullhead_defconfig: Enable MODULES support"
- msm_hotplug, cpu, fingerprint: Turn on all of cpus when fingerprint working
(Fix fingerprint not working sometimes.)
- msm8992 initial overclocking

== AIO ==
- MultiROM: Fix kexec's wrong addresses (Now secondary roms are booting normally with their kernels.)
- MultiROM: Fix adbd closed issue
- MultiROM: Rebuild with recent cm-13.0 sources

== Recovery ==
- Fix adbd closed issue
- jolla-kernel_bullhead-v6.0 applied



※ MultiROM Attention ※
- Included in Aroma Installer
- You can't set lock security settings in secondary ROMs (For prevent conflict with primary rom)
- My kernel will not install in secondary roms. There will be no changes if you try installation. Same with some other kernels.
- If you use f2fs in main rom, you should make your own boot.img for secondary ROMs in flashable zip to use f2fs.
 

parthabhatta

Senior Member
Mar 29, 2008
1,372
241
Calcutta
LG G8X ThinQ
What is the best app for controlling the kernel as a whole? Will Kernel Aduitor work?

Edit : I have installed Kernel Auditor and Orion ROM as secondary ROM which boots. Everything is fine except few minor glitches.
1) In primary ROM I wish to reduce my speaker volume to anything between -15 to -20, but the slider moves to 0 and it says the setting is not available. Please tell me how can I keep the setting permannetly.
2) The second ROM Gapps is not getting installed. I used open Gapps micro. Which Gapps is advised for MultiROM?.
Thanks to Jolla for this MultiROM for which I waited since long.
 
Last edited:

Topse

Senior Member
Dec 3, 2013
403
746
Pforzheim
OnePlus 5T
Xiaomi Mi A2
Kernel will not be install properly in Second Rom. Installation seems working but nothing change.
And there is some bug. You will see my jolla-kernel always in Second Roms.

I'm using f2fs. You will modify your boot.img in your flashable rom zip file.
You will modify fstab.bullhead in boot.img. And change Kernel Image (zImage in this case) with my Image.gz-dtb.
Then repack boot.img and recompresss your Rom zip with modified boot.img.
You can do this with Android Image Kitchen tool.

Flash your modofied rom zip to Second Rom. Then it will boot.

Thanks for the explanation !
I modified the boot.img of Orion OS.
And flashed as secondary ROM.
Primary ROM Krexus with f2fs Data / Cache and LZ4 ramdisk.
Everything works :)

@ Parthabhatta I use Open Gapps Mini
 

Topse

Senior Member
Dec 3, 2013
403
746
Pforzheim
OnePlus 5T
Xiaomi Mi A2
Can you guys check if your secondary ROM boots after flashing vendor on it?
Did you flash Orion OS ?
It worked for me without flashing vendor.

Personally I faced two times issues flashing vendor as zip.
Once with my Nexus 9 and second with 5x.

That's the point why I only fastboot flash vendor. When it's necessary.

Sorry.....

Gesendet von meinem Nexus 5x mit Tapatalk
 

jollaman999

Senior Member
Aug 19, 2014
908
2,419
South Korea
github.com
While experimenting with MultiROM my device fails to recognise my PIN for my Primary ROM. Anybody with similar problem? And solution to this??

Reboot to recovery and open file manager.
Go to /data/system
Remove all of files start with locksettings.db~

Reboot your phone and locksettings will be reset.
 

Attachments

  • 1456932957927.jpg
    1456932957927.jpg
    79.7 KB · Views: 180
  • Like
Reactions: parthabhatta

roofrider

Senior Member
Jul 24, 2011
7,042
903
Bangalore, IN
Did you flash Orion OS ?
It worked for me without flashing vendor.

Personally I faced two times issues flashing vendor as zip.
Once with my Nexus 9 and second with 5x.

That's the point why I only fastboot flash vendor. When it's necessary.
Sorry.....
Gesendet von meinem Nexus 5x mit Tapatalk

I didn't try Orion yet. I don't get any errors if i don't flash vendor either but I thought it was kind of mandatory to flash vendor images on the new Nexus devices. Regardless, i don't think anything is wrong with BeansTown106's vendor.zip, it's recommended for use even by devs of other roms.

Many thanks for your help. However, does this mean that can happen at random at any point of time?

I have pattern and fingerprint enabled but never had this issue during reboots. Did this happen to you after restoring a backup? If so, then it is a known TWRP issue. I thought this was fixed with TWRP 3.0 but i'm not sure. Disable screen lock before taking a backup until this gets fixed.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 87
    [Kernel Features!!]
    - Android 8.x.x support
    - Android 7.x.x support
    - Linux 3.10.107
    - Protect ARP Spoofing attack!!
    - MultiROM support!!
    - multirom: Auto boot primary rom on password UI
    - Added fingerprint boost driver
    - leds-qpnp: Smooth pulsing LED for charging and notification
    - leds-qpnp, mdss: Adjust charging LED brightness based on mdss backlight value
    (If you adjust backlight brightness, LED's brightness will be change after replugged the cable.)
    - sdcardfs support!!
    - lazytime mount option support and enabled for ext4 and f2fs partitions!!
    (See the details: https://lwn.net/Articles/621046/)
    - GUI All-In-One Aroma installer applied
    - jolla-kernel Updater support
    - Improved msm_thermal
    - Fixed yellow screen!!
    - DoubleTap2Wake, DoubleTap2Sleep, Sweep2Wake, Sweep2Sleep
    - Screen Off Volume Control (Control the device's volume and tracks while screen turned off.)
    - Built with Linaro GCC 6.4.1
    - Applied some CAF patches
    - KSM (Kernel Samepage Merging) with suspend/resume support
    - Use LZ4 compressed ramdisk image
    - f2fs Support with recent stable branch patches
    - NTFS Support
    - exFAT Support
    - Using Android device as USB Keyboard/Mouse
    (See the details: https://play.google.com/store/apps/details?id=remote.hid.keyboard.client)
    - Using Android device as USB storage or CD-Rom/DriveDroid Support
    (About DriveDroid: https://play.google.com/store/apps/details?id=com.softwarebakery.drivedroid)
    - mdss KCAL Control
    - Dynamic Fsync support
    - Sound Control
    - Vibrator control
    - Use CUBIC for default TCP congestion control
    - Use BFQ for default I/O scheduler
    - Available TCP Congestion controls : cubic, reno, bic, cdg, westwood, highspeed, htcp, vegas, veno, scalable, lp. yeah, illinois
    - Available CPU governors : blu_active, despair, zzmoove, elementalx, wheatley, impulse, interactive, conservative, ondemand, userspace, powersave, bioshock, performance, relaxed
    - Available I/O schedulers : noop, deadline, row, cfq, bfq, test-iosched, fiops, sio, sioplus, zen, vr, maple

    + Plus: Various patches and upstream patches


    [Changeable tap counts DoubleTap2Wake]
    You can set tap counts of doubletap2wake.
    echo [tap_counts - 1] > /sys/android_touch/doubletap2wake
    Available values are 0 to 9.
    (0 will turn off the doubletap2wake.)

    If you set 'echo 2 > /sys/android_touch/doubletap2wake'
    Screen will turn on after 3 taps and you will tap 3 times in 300ms(100ms * tap counts).

    If you set 'echo 9 > /sys/android_touch/doubletap2wake'
    Screen will turn on after 10 taps and you will tap 3 times in 1000ms(100ms * tap counts).
    Try it! :)

    In Kernel Adiutor 'Half' is same as 'echo 1 > /sys/android_touch/doubletap2wake'. (Double taps)
    And 'Full' is 'echo 2 > /sys/android_touch/doubletap2wake' (Triple taps)


    [DoubleTap2Sleep on Status bar]
    If you double tap the screen at status bar location(top of the screen), it will turn off the screen.


    [Sweep2Sleep on Navigiation bar]
    If you swipe the screen at navigation bar location(bottom of the screen), it will turn off the screen.


    [Screen Off Volume Control]
    == For Volume Control ==
    If you sweep touchscreen up or down in SOVC_TIME_GAP (ms) time
    and detach your finger, volume will increase/decrease
    just one time.

    Otherwise if you sweep touchscreen up or down and hold your
    finger on touchscreen, volume will increase/decrease
    continuously based on SOVC_VOL_REEXEC_DELAY (ms) time.

    See the demo video
    http://tp.jollaman999.com/jolla-kernel_AIO-bullhead/Screen_Off_Volume_Control.mp4

    == For Track Control ==
    If you sweep touchscreen right to left in
    SOVC_TIME_GAP (ms) time, you can play next track.

    Otherwise if you sweep touchscreen left to right,
    you can play previous track.

    Also if you sweep touchscreen right or left and hold your
    finger on touchscreen, track will change
    continuously based on SOVC_TRACK_REEXEC_DELAY (ms) time.

    SOVC_TIME_GAP 250
    SOVC_VOL_REEXEC_DELAY 250
    SOVC_TRACK_REEXEC_DELAY 4000

    Thanks to @flar2 for prevent to sleep bullhead's touchscreen.


    == ARP Project ==
    ARP Spoofing Attack Protecting Project. Protect to update MAC address of the gateway.

    >> Currently implemented <<
    - arp_project: Ignore reply when request not proceeded or source IP is different with requested target IP.
    - arp_project: Ignore request when gateway update attempt detected from other hardware address.


    == MSM Thermal Tunable options ==
    Parameters are here '/sys/module/msm_thermal/parameters'

    [msm_thermal Tunable options]
    = poll_ms - msm_thermal will check the device's temperature every this milli seconds.
    = temp_threshold - Limit the frequency of LITTLE when the temp is reached to this value.
    = temp_big_threshold - Limit the frequency of big when the temp is reached to this value.
    = temp_big_off_threshold - Turn off the big cores when the temp is reached to this value.
    = temp_step_little - If 'temp_step_little = 4' and 'temp_threshold = 60', frequency will decrease like below.
    └─temp = 60 --> LITTLE's max frequency will decrease one step.
    └─temp = 62 --> LITTLE's max frequency will decrease one step.
    └─temp = 63 --> LITTLE's max frequency will decrease one step.
    └─temp = 64 --> LITTLE's max frequency will decrease two steps.
    └─temp = 65 --> LITTLE's max frequency will decrease two steps.
    └─temp = 68 --> LITTLE's max frequency will decrease three steps.
    = temp_step_big - If 'temp_step_big = 2' and 'temp_threshold = 60', frequency will decrease like below.
    └─temp = 60 --> big's max frequency will decrease one step.
    └─temp = 61 --> big's max frequency will decrease one step.
    └─temp = 62 --> big's max frequency will decrease two steps.
    └─temp = 63 --> big's max frequency will decrease two steps.
    └─temp = 64 --> big's max frequency will decrease three steps.
    = freq_step_little - Frequency decrease step for little.
    = freq_step_big - Frequency decrease step for big.
    = temp_count_max_little - If this value is 3, LITTLE's max frequency will decrease 1 to 3 steps.
    = temp_count_max_big - If this value is 5, big's max frequency will decrease 1 to 5 steps.



    [Installation Instructions]
    Just follow the aroma installer!
    (If you install this kernel from other kernel, please re-flash your rom without wipe than flash this kernel!)


    [Download]
    http://tp.jollaman999.com/jolla-kernel_AIO-bullhead/

    [Changelog]
    https://github.com/jollaman999/jolla-kernel_AIO/blob/bullhead/META-INF/com/google/android/aroma/changelog/en.txt

    [Thanks to..]
    The Linux Kernel Archives : https://www.kernel.org/
    LineageOS : https://github.com/LineageOS
    Developers : nkk71, zhuowei, HashBang173, TheScarastic, jaegeuk, Tasssadar, savoca, flar2, franciscofranco and all of commited in their sources & all of xda developers

    XDA:DevDB Information
    jolla-kernel_bullhead, Kernel for the LG Nexus 5X

    Contributors
    jollaman999
    Source Code: https://github.com/jollaman999/jolla-kernel_bullhead

    Kernel Special Features:

    Version Information
    Status: Stable
    Current Stable Version: II-v28.0
    Stable Release Date: 2017-12-16

    Created 2015-12-15
    Last Updated 2017-12-16
    23
    [bullhead-v21.0]

    [bullhead-v21.0]

    New updates for f2fs and sdcardfs with updated recovery!

    == Kernel ==
    - Built with Linaro gcc-linaro-6.3.1-2017.05-rc1
    - Applied timerfd, tty and net patches from Google android-3.10
    - sdcardfs: Applied lastest android-3.10 patches from Google android-3.10
    - f2fs: Appied linux-4.4.y stable branch patches from jaegeuk/f2fs-stable

    == AIO ==
    - f2fs-tools: Applied lastest dev branch patches from jaegeuk/f2fs-tools

    == Recovery ==
    - Built with lastest LineageOS sources
    - Update TWRP to AOSP 7.1.2
    - TWRP version up to 3.1.1
    - Appiled jolla-kernel_bullhead_II-v21.0


    * Android 7.x.x and Android O compatible.
    (WARNING: Android O is NOT OFFICIALLY SUPPORTED! USE WITH YOUR OWN RISK!)
    * If USB Keyboard application stopped at "Opening /dev/hidg0 and /dev/hidg1" message!
    Check root permission and download "SELinuxModeChanger_MOD" from Server Folder.
    http://tp.jollaman999.com/jolla-kernel_AIO-bullhead/SELinuxModeChanger_MOD/
    Change SELinux to Permissive then re-open USB Keyboard.
    Restore SELinux to Enforce after used USB Keyboard for security.
    * In my test, Bluetooth's aptX codec is only worked with LineageOS.
    22
    [I got a other 5X!]

    I changed my old tablet to other 5X.
    Now, I have two Nexus 5X!

    Now I can test new kernels in a convenient way.
    Hurray! :laugh:

    Thank you for all of who love my jolla-kernel!
    22
    [bullhead-v15.2]

    [bullhead-v15.2]

    == Kernel ==
    - mdss: Enable backlight dimmer by default
    - Revert "workqueue: make sure delayed work run in local cpu"
    - msm8992, msm_thermal: Restore poll-ms to 250
    - msm8992, msm_thermal: Get smooth performance in lower temperature
    - rmnet_data, ion, msm: Change %p to %pK (CAF)
    - ASoC: soc: prevent risk of buffer overflow (CAF)
    - ASoC: qdsp6v2: fix potential bug of infinite loop (CAF)
    - qcacld-2.0 (WLAN Driver): LA.BF64.1.2.3_rb1.8 from CAF

    == AIO ==
    - init.bullhead.rc: Reduce LITTLE's boost freq to 960MHz
    - init.bullhead.rc: Adjust hispeed load speedly

    == Recovery ==
    - Revert "gui: Actions: Toggle backlight on power key"
    (Can't turn on the screen after turned off.)
    - init.recovery.bullhead.rc: Reduce LITTLE's boost freq to 960MHz
    - init.recovery.bullhead.rc: Adjust hispeed load speedly
    22
    [bullhead-v8.0]

    == Kernel ==
    >> Common <<
    - Better performance and better battery
    - Source cleanup
    - Linux 3.10.103
    - Applied September patches
    - Built with with Linaro gcc 6.1.1-2016.08-rc2
    - mmc: disable crc check
    - block: Disable add_random
    - block: scheduler: add ZEN v2
    - block: zen: set fifo batch to 16 to reduce overload on eMMC and CPU
    - arp: Export arp_project's sysfs nodes and arp_print_info
    - arp: Remove already included line
    - arp, net/core: Fix exports
    - Revert "arp: Ignore reply when request not proceeded or sip is differ with requested tip"
    - arp: Remove time information
    - arp: Check 'print_arp_info' earlier
    - arp: Fix gateway detection
    - arp: Add ignore_gw_update_by_reply option
    - arp: Cleanup memcpy and useless variables in 'arp_print_info'
    - Remove power efficient workqueue
    - f2fs: Back to stable branch with lazytime patch
    - sovc: Add playing state notifier and cleanup *~tmp pointers + Fix some bugs
    - tcp_cubic: add SNMP counters to track how effective is Hystart
    - tcp_cubic: refine Hystart delay threshold
    - inet_diag: fix access to tcp cc information
    - tcp: add CDG congestion control
    - tcp: cdg: use div_u64()
    - tcp: add tcp_in_slow_start helper
    - tcp: do not slow start when cwnd equals ssthresh
    - tcp: Remove unnecessary arg from tcp_enter_cwr and tcp_init_cwnd_reduction
    - proc: Add jolla-kernel's version information
    - msm_thermal: Fix some wrong logics
    - msm_thermal: Decrease heat and increase device's performance
    - msm_thermal: Add 'freq_step' parameter
    - msm_thermal: Add debug options for core_control and freq_control

    == AIO ==
    - init.d: Remove old lines and add seclabel
    - aroma: Change N's name to Nougat and set as defult
    - Fix disable kcal and sovc not working issue.
    - updater-script: Remove 'jolla-kernel.prop' installation lines
    - Remove sepolicy patch
    - aroma: Add MultiROM license
    - aroma: license: ko: Remove '<U+FEFF>'.
    - multirom: Built with with Linaro gcc 6.1.1-2016.08-rc2

    == jolla-kernel Updater ==
    - Update libraries
    - Fix force close issues
    - Version up to v1.5

    == Recovery ==
    - Built with with Linaro gcc 6.1.1-2016.08-rc2
    - 3.0.2-2
    - init.recovery.bullhead.rc: Add power settings
    (When using recovery, device getting very hot cause default geoversnor is 'performance'.
    Also my board was broken when boot in to recovery mode for a long time.
    So change governor to 'interactive' and add power settings for safety.)
    - jolla-kernel_bullhead_II-v8.0 applied
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone