Kexec, ram_console and future development

Surge1223

Recognized Contributor
Nov 6, 2012
2,603
7,394
0
Florida
So there are a lot of us on nexus, this is our best opportunity to work together and fix Kexec for arm. I suppose hardboot has already been shown to work on arm but as far as normal Kexec I have not seen this work yet..(unless someone has an example?)

I have a Kexec tree started for both hard and softboot kexec, but I want to get ram console working first. I added back the ram console and persistent ram but last_kmsg still isnt showing up...though pstore still works I guess. Anyone able to enable ram_console and last kmsg? Ram_console is being a pain for me, not showing iomem.

As for current nexus issues, video, LED, sound etc I would be more than happy to contribute to solving these issues if anyone has a start already please post a dev related discussion for it, if not I will eventually start this.
 

npjohnson

Senior Member
May 3, 2014
1,451
2,034
143
St. Augustine, FL
So there are a lot of us on nexus, this is our best opportunity to work together and fix Kexec for arm. I suppose hardboot has already been shown to work on arm but as far as normal Kexec I have not seen this work yet..(unless someone has an example?)

I have a Kexec tree started for both hard and softboot kexec, but I want to get ram console working first. I added back the ram console and persistent ram but last_kmsg still isnt showing up...though pstore still works I guess. Anyone able to enable ram_console and last kmsg? Ram_console is being a pain for me, not showing iomem.

As for current nexus issues, video, LED, sound etc I would be more than happy to contribute to solving these issues if anyone has a start already please post a dev related discussion for it, if not I will eventually start this.
Whilst I've never done kexec hardboot stuff, I did get a kexec port running for chipset 3 model Intel series laptops (E6420 in specific), and got the trackpad working again after softboot (just a matter of inserting correct device ID's and their related calls, easily found on ALPS code repository). But that was all x86 stuff, never messed with ARM implementations, if you'd be willing to help catch me up to speed on ARM specifics, I'd love to help. I took a look at your Kexec source for the S4, but when I laid eyes on it, it was way beyond me by that point XD.

Also, what exactly are the perks of using softboot/regular kexec as opposed to hardboot? It seems easier to implement, and equally as successful (based on my limited knowledge).

On the subject of LED, if your interested in how to communicate with it, I'd contact either Franco or the Light Flow developer, both seem to have the correct idea in progress.

The screen issues are a wide variation of problems from my understanding, one being that adaptive brightness dims the pixels, and changes the RGB profile, causing the green hue many users are seeing (the most common problem, and the one I have on my device), so it seems like something that /should/ be as simple as editing kernel sources and disabling the change in RGB profile. Though, this would be way easier if we still had XPosed, which honestly, was perfect for situations just like this edit.

Nice to see an actual central starting place for Nexus 6 development. :p
 
  • Like
Reactions: the_rooter

Surge1223

Recognized Contributor
Nov 6, 2012
2,603
7,394
0
Florida
Whilst I've never done kexec hardboot stuff, I did get a kexec port running for chipset 3 model Intel series laptops (E6420 in specific), and got the trackpad working again after softboot (just a matter of inserting correct device ID's and their related calls, easily found on ALPS code repository). But that was all x86 stuff, never messed with ARM implementations, if you'd be willing to help catch me up to speed on ARM specifics, I'd love to help. I took a look at your Kexec source for the S4, but when I laid eyes on it, it was way beyond me by that point XD.

Also, what exactly are the perks of using softboot/regular kexec as opposed to hardboot? It seems easier to implement, and equally as successful (based on my limited knowledge).

On the subject of LED, if your interested in how to communicate with it, I'd contact either Franco or the Light Flow developer, both seem to have the correct idea in progress.

The screen issues are a wide variation of problems from my understanding, one being that adaptive brightness dims the pixels, and changes the RGB profile, causing the green hue many users are seeing (the most common problem, and the one I have on my device), so it seems like something that /should/ be as simple as editing kernel sources and disabling the change in RGB profile. Though, this would be way easier if we still had XPosed, which honestly, was perfect for situations just like this edit.

Nice to see an actual central starting place for Nexus 6 development. :p
Hey thanks, I was able to fix LEDs, testing latest edits for last_kmsg now...

About soft vs hard Kexec, its not a difference in functionality, its just principle I guess lol. Bringing the drivers back in a coherent state has to be possible....also for hardboot I'm having a hell of a time determining where to set the hardboot page address...I guess I've been on locked down devices too long.
 

ryanbg

Inactive Recognized Developer
Jan 3, 2008
855
1,734
0
movr0.com
As an update I have reserved space for ram console. And natively added kexec in...next is to test kexec hardboot and hopefully get some sort of multirom/safestrap solution going (I'm more familiar with building safestrap)
Great work, glad to see you found the right range to dial in for memory reservation.
 

Surge1223

Recognized Contributor
Nov 6, 2012
2,603
7,394
0
Florida
You do realize that ram_console has been replaced by pstore filesystem and you can find the kmsg from last boot in /sys/fs/pstore/console-ramoops (or wherever you mount the pstore fs), right?
Yeah, I'm not a fan of pstore, I care about more than oops. Last kmsg was much better (especially for android). It's unfortunate so much of persistent ram code was moved to pstore, I see you have multirom going.. Did you post the hardboot patch yet? Id be interested in seeing how you did it.
 
Last edited:

Tasssadar

Inactive Recognized Developer
Dec 31, 2010
818
6,126
0
Brno
tasssadar.github.com
Yeah, I'm not a fan of pstore, I care about more than oops. Last kmsg was much better (especially for android). It's unfortunate so much of persistent ram code was moved to pstore, I see you have multirom going.. Did you post the hardboot patch yet? Id be interested in seeing how you did it.
What *more* are you talking about? As far as I can tell, pstore contains exactly the same information as ram_console did - kmesg from previous boot. In addition to that, I think I also seen it have another file specifically for last *failed* boot (like after kernel panic), can't confirm that right now though.

I will release the kexec-hardboot patch once MultiROM for shamu goes stable, I don't want kernel devs to merge potentially buggy versions of the patch.
 

Surge1223

Recognized Contributor
Nov 6, 2012
2,603
7,394
0
Florida
What *more* are you talking about? As far as I can tell, pstore contains exactly the same information as ram_console did - kmesg from previous boot. In addition to that, I think I also seen it have another file specifically for last *failed* boot (like after kernel panic), can't confirm that right now though.

I will release the kexec-hardboot patch once MultiROM for shamu goes stable, I don't want kernel devs to merge potentially buggy versions of the patch.
My pstore console-ramoops certainly doesn't show as much information as the last kmsg I'm used to, and even with early printk I still don't see the boot chain execution from last boot.

This could be on me missing some parameters or such but I thought I had read the documentation on pstore thoroughly .. Maybe I'll give it another read though. So since your testing kexec, do you see kexec execution info/debug messages from previous boot in your console-ramoops currently?
 
Last edited:

Tasssadar

Inactive Recognized Developer
Dec 31, 2010
818
6,126
0
Brno
tasssadar.github.com
To me it looks about the same as other Nexus devices, if you're coming from something else then yeah, other devices might have more debugging logs enabled. This is how last part of console-ramoops looks after kexec:

Code:
[   92.405394] multirom: Booting ROM euphoria...
[   92.593884] type=1400 audit(1425901674.604:20): avc: denied { write } for pid=3783 comm="app_process32_o" name="[email protected]@boot.art" dev="dm-0" ino=791524 scontext=u:r:shell:s0 tcontext=u:object_r:dalvikcache_data_file:s0 tclass=file permissive=0
[   92.622067] type=1400 audit(1425901674.634:21): avc: denied { getattr } for pid=3784 comm="busybox" path="/dev/kmem" dev="tmpfs" ino=8956 scontext=u:r:init:s0 tcontext=u:object_r:kmem_device:s0 tclass=chr_file permissive=1
[   92.753169] init: untracked pid 3780 exited with status 89
[   92.797384] multirom: No need to update trampoline.
[   92.846391] multirom: Loading kexec:
[   92.846407] multirom:     /data/media/0/multirom/kexec
[   92.846416] multirom:     --mem-min=0x20000000
[   92.846426] multirom:     --boardname=shamu
[   92.846435] multirom:     --load-hardboot
[   92.846445] multirom:     /zImage
[   92.846453] multirom:     --initrd=/initrd.img
[   92.846464] multirom:     --dtb
[   92.846476] multirom:     --command-line=console=null androidboot.hardware=shamu msm_rtb.filter=0x37 ehci-hcd.park=3 utags.blkdev=/dev/block/platform/msm_sdcc.1/by-name/utags utags.backup=/dev/block/platform/msm_sdcc.1/by-name/utagsBackup coherent_pool=8M vmalloc=400M androidboot.bootdevice=msm_sdcc.1 androidboot.serialno=ZX1G4295T7 androidboot.baseband=mdm androidboot.mode=normal androidboot.device=shamu androidboot.hwrev=0x83A0 androidboot.radio=0x7 androidboot.powerup_reason=0x00004000 androidboot.
[   92.846489] multirom:     bootreason=reboot androidboot.write_protect=0 restart.download_mode=0 androidboot.fsg-id= androidboot.secure_hardware=1 androidboot.cid=0xDE androidboot.wifimacaddr=F8:CF:C5:D7:4C:D3 androidboot.btmacaddr=F8:CF:C5:D7:4C:D2 mdss_mdp.panel=1:dsi:0:qcom,mdss_dsi_mot_smd_596_QHD_dualmipi0_cmd_v0 androidboot.bootloader=0x7105 androidboot.carrier= androidboot.hardware.sku=XT1100 mrom_kexecd=1
[   92.944507] type=1400 audit(1425901674.954:22): avc: denied { syslog_read } for pid=3782 comm="multirom" scontext=u:r:init:s0 tcontext=u:r:kernel:s0 tclass=system permissive=1
[   92.949654] multirom: MultiromSaysNextBootShouldBeSecondMagic108
[   92.949667] multirom: Saving multirom status
[   92.972965] init: untracked pid 3783 exited with status 0
[   92.973342] SysRq : Emergency Remount R/O
[   92.976418] EXT4-fs (mmcblk0p38): re-mounted. Opts: (null)
[   92.980614] EXT4-fs (mmcblk0p26): re-mounted. Opts: (null)
[   92.985943] EXT4-fs (dm-0): re-mounted. Opts: (null)
[   92.990139] Emergency Remount complete
[   93.081991] CFG80211-ERROR) wl_cfg80211_disconnect : Reason 3
[   93.086620] dhd_prot_flow_ring_delete sending FLOW RING Delete req msglen 40 
[   93.086848] dhd_bus_flow_ring_delete_response :Flow Delete Response 41 
[   93.086927] CFG80211-ERROR) wl_is_linkdown : Link down Reason : WLC_E_LINK
[   93.086944] link down if wlan0 may call cfg80211_disconnected. event : 16, reason=2 from c8:3a:35:10:7c:88
[   93.089100] CFG80211-ERROR) wl_is_linkdown : Link down Reason : WLC_E_DEAUTH
[   93.089627] CFG80211-ERROR) wl_is_linkdown : Link down Reason : WLC_E_DEAUTH
[   93.090388] cfg80211: Calling CRDA for country: CN
[   93.096568] wl_android_wifi_off in
[   93.097488] dhd_bus_devreset: == Power OFF ==
[   93.097845] dhd_dpc_kill: tasklet disabled
[   93.172861] IRQ39 no longer affine to CPU2
[   93.215166] msm_pcie_disable: msm_pcie_disable: PCIe: Assert the reset of endpoint of RC0.
[   93.220062] dhd_bus_devreset:  WLAN OFF Done
[   93.220082] wifi_platform_set_power = 0
[   93.220098] brcm_wlan_power Enter: power off
[   93.224642] dhd_prot_ioctl : bus is down. we have nothing to do
[   93.224668] dhd_ndo_remove_ip: ndo ip addr remove failed, retcode = -1
[   93.224681] dhd_inet6_work_handler: Removing host ip for NDO failed -1
[   93.226922] dhd_prot_ioctl : bus is down. we have nothing to do
[   93.226949] CFG80211-ERROR) wl_cfgvendor_lstats_get_info : error (-1) - size = 44
[   93.257305] dhd_ioctl_entry: Interface is down 
[   93.260342] dhd_prot_ioctl : bus is down. we have nothing to do
[   93.260351] dhd_prot_ioctl : bus is down. we have nothing to do
[   93.260359] dhd_aoe_hostip_clr failed code -1
[   93.260366] aoe_update_host_ipv4_table failed
[   93.292694] dhd_ioctl_entry: Interface is down 
[   93.295087] dhd_ioctl_entry: Interface is down 
[   93.377992] 
[   93.377992] Dongle Host Driver, version 1.201.31 (r)
[   93.377992] Compiled in drivers/net/wireless/bcmdhd on Mar  6 2015 at 12:49:43
[   93.378005] wl_android_wifi_on in
[   93.378012] wifi_platform_set_power = 1
[   93.378019] brcm_wlan_power Enter: power on
[   93.547264] mdss_fb_release_all: try to close unopened fb 1! from kexec
[   93.547455] mdss_fb_release_all: unknown process kexec pid=3782 mfd->ref=0
[   93.584891] dhd_bus_devreset: == Power ON ==
[   93.584939] msm_pcie_enable: msm_pcie_enable: PCIe: Assert the reset of endpoint of RC0.
[   93.606532] msm_pcie_enable: msm_pcie_enable: PCIe RC0 PHY is ready!
[   93.625051] msm_pcie_enable: msm_pcie_enable: PCIe: Release the reset of endpoint of RC0.
[   93.654061] mdss_dsi_panel_off: ctrl=eb01f810 ndx=0
[   93.656139] msm_pcie_enable: msm_pcie_enable: PCIe RC0 link initialized
[   93.656559] dhd_bus_devreset: dhdpcie_bus_clock_start OK
[   93.658841] DHD: dongle ram size is set to 786432(orig 786432) at 0x180000
[   93.659864] dhdpcie_download_code_file: download firmware /vendor/firmware/fw_bcmdhd.bin
[   93.748649] dhdpcie_bus_write_vars: Download, Upload and compare of NVRAM succeeded.
[   93.796703] mdss_dsi_panel_off: ctrl=ea1a0010 ndx=1
[   93.803032] mdss_mdp_mixer_free: called with ref_cnt=0
[   93.805070] Starting new kernel
[   93.805085] Disabling non-boot CPUs ...
[   93.805241] BUG: scheduling while atomic: kexec/3782/0x00000002
[   93.805261] CPU: 1 PID: 3782 Comm: kexec Tainted: G        W    3.10.40-g15096bd-00002-g2a9d605 #2
[   93.805327] [<c010c83c>] (unwind_backtrace+0x0/0x11c) from [<c0109c6c>] (show_stack+0x10/0x14)
[   93.805371] [<c0109c6c>] (show_stack+0x10/0x14) from [<c0a26c10>] (__schedule_bug+0x44/0x60)
[   93.805414] [<c0a26c10>] (__schedule_bug+0x44/0x60) from [<c0a2fa80>] (__schedule+0x70/0x77c)
[   93.805434] [<c0a2fa80>] (__schedule+0x70/0x77c) from [<c0a2e3e8>] (schedule_timeout+0x28/0x26c)
[   93.805455] [<c0a2e3e8>] (schedule_timeout+0x28/0x26c) from [<c0a2f8a0>] (wait_for_common+0x11c/0x164)
[   93.805492] [<c0a2f8a0>] (wait_for_common+0x11c/0x164) from [<c017e5e0>] (flush_work+0xd4/0xfc)
[   93.805517] [<c017e5e0>] (flush_work+0xd4/0xfc) from [<c0a245c8>] (workqueue_cpu_down_callback+0x80/0x9c)
[   93.805549] [<c0a245c8>] (workqueue_cpu_down_callback+0x80/0x9c) from [<c01884a4>] (notifier_call_chain+0x40/0x68)
[   93.805584] [<c01884a4>] (notifier_call_chain+0x40/0x68) from [<c0168014>] (__cpu_notify+0x28/0x44)
[   93.805607] [<c0168014>] (__cpu_notify+0x28/0x44) from [<c0a1fe90>] (_cpu_down+0x74/0x2c0)
[   93.805629] [<c0a1fe90>] (_cpu_down+0x74/0x2c0) from [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec)
[   93.805654] [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec) from [<c01b3ff8>] (kernel_kexec+0x44/0x74)
[   93.805676] [<c01b3ff8>] (kernel_kexec+0x44/0x74) from [<c0178910>] (SyS_reboot+0x174/0x1f4)
[   93.805705] [<c0178910>] (SyS_reboot+0x174/0x1f4) from [<c0106240>] (ret_fast_syscall+0x0/0x30)
[   93.806169] BUG: scheduling while atomic: kexec/3782/0x00000002
[   93.806184] CPU: 1 PID: 3782 Comm: kexec Tainted: G        W    3.10.40-g15096bd-00002-g2a9d605 #2
[   93.806203] [<c010c83c>] (unwind_backtrace+0x0/0x11c) from [<c0109c6c>] (show_stack+0x10/0x14)
[   93.806222] [<c0109c6c>] (show_stack+0x10/0x14) from [<c0a26c10>] (__schedule_bug+0x44/0x60)
[   93.806243] [<c0a26c10>] (__schedule_bug+0x44/0x60) from [<c0a2fa80>] (__schedule+0x70/0x77c)
[   93.806262] [<c0a2fa80>] (__schedule+0x70/0x77c) from [<c0a2e3e8>] (schedule_timeout+0x28/0x26c)
[   93.806281] [<c0a2e3e8>] (schedule_timeout+0x28/0x26c) from [<c0a2f8a0>] (wait_for_common+0x11c/0x164)
[   93.806310] [<c0a2f8a0>] (wait_for_common+0x11c/0x164) from [<c0183520>] (kthread_park+0x60/0x7c)
[   93.806338] [<c0183520>] (kthread_park+0x60/0x7c) from [<c018ac1c>] (smpboot_park_threads+0x54/0x74)
[   93.806358] [<c018ac1c>] (smpboot_park_threads+0x54/0x74) from [<c0a1fed0>] (_cpu_down+0xb4/0x2c0)
[   93.806378] [<c0a1fed0>] (_cpu_down+0xb4/0x2c0) from [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec)
[   93.806395] [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec) from [<c01b3ff8>] (kernel_kexec+0x44/0x74)
[   93.806413] [<c01b3ff8>] (kernel_kexec+0x44/0x74) from [<c0178910>] (SyS_reboot+0x174/0x1f4)
[   93.806431] [<c0178910>] (SyS_reboot+0x174/0x1f4) from [<c0106240>] (ret_fast_syscall+0x0/0x30)
[   93.806517] BUG: scheduling while atomic: kexec/3782/0x00000002
[   93.806530] CPU: 1 PID: 3782 Comm: kexec Tainted: G        W    3.10.40-g15096bd-00002-g2a9d605 #2
[   93.806549] [<c010c83c>] (unwind_backtrace+0x0/0x11c) from [<c0109c6c>] (show_stack+0x10/0x14)
[   93.806567] [<c0109c6c>] (show_stack+0x10/0x14) from [<c0a26c10>] (__schedule_bug+0x44/0x60)
[   93.806587] [<c0a26c10>] (__schedule_bug+0x44/0x60) from [<c0a2fa80>] (__schedule+0x70/0x77c)
[   93.806606] [<c0a2fa80>] (__schedule+0x70/0x77c) from [<c0a2e3e8>] (schedule_timeout+0x28/0x26c)
[   93.806626] [<c0a2e3e8>] (schedule_timeout+0x28/0x26c) from [<c0a2f8a0>] (wait_for_common+0x11c/0x164)
[   93.806656] [<c0a2f8a0>] (wait_for_common+0x11c/0x164) from [<c01ba530>] (__stop_cpus+0x48/0x60)
[   93.806678] [<c01ba530>] (__stop_cpus+0x48/0x60) from [<c01ba8a8>] (stop_cpus+0x2c/0x44)
[   93.806699] [<c01ba8a8>] (stop_cpus+0x2c/0x44) from [<c01ba9c8>] (__stop_machine+0xb8/0xd4)
[   93.806719] [<c01ba9c8>] (__stop_machine+0xb8/0xd4) from [<c0a1fef4>] (_cpu_down+0xd8/0x2c0)
[   93.806740] [<c0a1fef4>] (_cpu_down+0xd8/0x2c0) from [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec)
[   93.806757] [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec) from [<c01b3ff8>] (kernel_kexec+0x44/0x74)
[   93.806776] [<c01b3ff8>] (kernel_kexec+0x44/0x74) from [<c0178910>] (SyS_reboot+0x174/0x1f4)
[   93.806794] [<c0178910>] (SyS_reboot+0x174/0x1f4) from [<c0106240>] (ret_fast_syscall+0x0/0x30)
[   93.809304] PCIe shared addr read took 56383 usec before dongle is ready
[   93.809337] DMA RX offset from shared Area 0
[   93.809345] bus->txmode_push is set to 0
[   93.809372] ring_info_raw: 56 
[   93.809382] e8 96 23 00 b8 99 23 00 60 9a 23 00 08 9b 23 00 
[   93.809477] 14 9b 23 00 00 00 00 00 00 00 00 00 00 00 00 00 
[   93.809569] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
[   93.809662] 00 00 00 00 2a 00 00 00 
[   93.809712] max H2D queues 42
[   93.810056] dhd_bus_start: Initializing 42 flowrings
[   93.810415] dhd_bus_cmn_writeshared:
[   93.810428]   0000: 00 60 40 2b 00 00 00 00 
[   93.810438] dhd_bus_cmn_writeshared:
[   93.810448]   0000: 00 80 40 2b 00 00 00 00 
[   93.810458] dhd_bus_cmn_writeshared:
[   93.810467]   0000: 00 c0 40 2b 00 00 00 00 
[   93.810603] dhd_bus_cmn_writeshared:
[   93.810613]   0000: 00 a0 40 2b 00 00 00 00 
[   93.810622] dhd_bus_cmn_writeshared:
[   93.810632]   0000: 00 90 40 2b 00 00 00 00 
[   93.810642] dhd_bus_cmn_writeshared:
[   93.810651]   0000: 00 30 41 2b 
[   93.810660] dhd_bus_cmn_writeshared:
[   93.810669]   0000: 08 00 00 00 
[   93.812344] IRQ200 no longer affine to CPU1
[   93.812364] IRQ203 no longer affine to CPU1
[   93.816168] BUG: scheduling while atomic: kexec/3782/0x00000002
[   93.816187] CPU: 0 PID: 3782 Comm: kexec Tainted: G        W    3.10.40-g15096bd-00002-g2a9d605 #2
[   93.816209] [<c010c83c>] (unwind_backtrace+0x0/0x11c) from [<c0109c6c>] (show_stack+0x10/0x14)
[   93.816230] [<c0109c6c>] (show_stack+0x10/0x14) from [<c0a26c10>] (__schedule_bug+0x44/0x60)
[   93.816250] [<c0a26c10>] (__schedule_bug+0x44/0x60) from [<c0a2fa80>] (__schedule+0x70/0x77c)
[   93.816269] [<c0a2fa80>] (__schedule+0x70/0x77c) from [<c0167fe0>] (cpu_hotplug_begin+0x50/0x5c)
[   93.816289] [<c0167fe0>] (cpu_hotplug_begin+0x50/0x5c) from [<c0a1fe7c>] (_cpu_down+0x60/0x2c0)
[   93.816310] [<c0a1fe7c>] (_cpu_down+0x60/0x2c0) from [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec)
[   93.816328] [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec) from [<c01b3ff8>] (kernel_kexec+0x44/0x74)
[   93.816345] [<c01b3ff8>] (kernel_kexec+0x44/0x74) from [<c0178910>] (SyS_reboot+0x174/0x1f4)
[   93.816362] [<c0178910>] (SyS_reboot+0x174/0x1f4) from [<c0106240>] (ret_fast_syscall+0x0/0x30)
[   93.816710] BUG: scheduling while atomic: kexec/3782/0x00000002
[   93.816726] CPU: 0 PID: 3782 Comm: kexec Tainted: G        W    3.10.40-g15096bd-00002-g2a9d605 #2
[   93.816745] [<c010c83c>] (unwind_backtrace+0x0/0x11c) from [<c0109c6c>] (show_stack+0x10/0x14)
[   93.816764] [<c0109c6c>] (show_stack+0x10/0x14) from [<c0a26c10>] (__schedule_bug+0x44/0x60)
[   93.816785] [<c0a26c10>] (__schedule_bug+0x44/0x60) from [<c0a2fa80>] (__schedule+0x70/0x77c)
[   93.816803] [<c0a2fa80>] (__schedule+0x70/0x77c) from [<c0a2e3e8>] (schedule_timeout+0x28/0x26c)
[   93.816820] [<c0a2e3e8>] (schedule_timeout+0x28/0x26c) from [<c0a2f8a0>] (wait_for_common+0x11c/0x164)
[   93.816839] [<c0a2f8a0>] (wait_for_common+0x11c/0x164) from [<c017e5e0>] (flush_work+0xd4/0xfc)
[   93.816858] [<c017e5e0>] (flush_work+0xd4/0xfc) from [<c0a245c8>] (workqueue_cpu_down_callback+0x80/0x9c)
[   93.816879] [<c0a245c8>] (workqueue_cpu_down_callback+0x80/0x9c) from [<c01884a4>] (notifier_call_chain+0x40/0x68)
[   93.816899] [<c01884a4>] (notifier_call_chain+0x40/0x68) from [<c0168014>] (__cpu_notify+0x28/0x44)
[   93.816917] [<c0168014>] (__cpu_notify+0x28/0x44) from [<c0a1fe90>] (_cpu_down+0x74/0x2c0)
[   93.816934] [<c0a1fe90>] (_cpu_down+0x74/0x2c0) from [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec)
[   93.816952] [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec) from [<c01b3ff8>] (kernel_kexec+0x44/0x74)
[   93.816971] [<c01b3ff8>] (kernel_kexec+0x44/0x74) from [<c0178910>] (SyS_reboot+0x174/0x1f4)
[   93.816990] [<c0178910>] (SyS_reboot+0x174/0x1f4) from [<c0106240>] (ret_fast_syscall+0x0/0x30)
[   93.817167] BUG: scheduling while atomic: kexec/3782/0x00000002
[   93.817181] CPU: 0 PID: 3782 Comm: kexec Tainted: G        W    3.10.40-g15096bd-00002-g2a9d605 #2
[   93.817199] [<c010c83c>] (unwind_backtrace+0x0/0x11c) from [<c0109c6c>] (show_stack+0x10/0x14)
[   93.817217] [<c0109c6c>] (show_stack+0x10/0x14) from [<c0a26c10>] (__schedule_bug+0x44/0x60)
[   93.817236] [<c0a26c10>] (__schedule_bug+0x44/0x60) from [<c0a2fa80>] (__schedule+0x70/0x77c)
[   93.817254] [<c0a2fa80>] (__schedule+0x70/0x77c) from [<c0a2e3e8>] (schedule_timeout+0x28/0x26c)
[   93.817271] [<c0a2e3e8>] (schedule_timeout+0x28/0x26c) from [<c0a2f8a0>] (wait_for_common+0x11c/0x164)
[   93.817292] [<c0a2f8a0>] (wait_for_common+0x11c/0x164) from [<c0183520>] (kthread_park+0x60/0x7c)
[   93.817312] [<c0183520>] (kthread_park+0x60/0x7c) from [<c018ac1c>] (smpboot_park_threads+0x54/0x74)
[   93.817332] [<c018ac1c>] (smpboot_park_threads+0x54/0x74) from [<c0a1fed0>] (_cpu_down+0xb4/0x2c0)
[   93.817352] [<c0a1fed0>] (_cpu_down+0xb4/0x2c0) from [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec)
[   93.817369] [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec) from [<c01b3ff8>] (kernel_kexec+0x44/0x74)
[   93.817386] [<c01b3ff8>] (kernel_kexec+0x44/0x74) from [<c0178910>] (SyS_reboot+0x174/0x1f4)
[   93.817404] [<c0178910>] (SyS_reboot+0x174/0x1f4) from [<c0106240>] (ret_fast_syscall+0x0/0x30)
[   93.817438] BUG: scheduling while atomic: kexec/3782/0x00000002
[   93.817452] CPU: 0 PID: 3782 Comm: kexec Tainted: G        W    3.10.40-g15096bd-00002-g2a9d605 #2
[   93.817470] [<c010c83c>] (unwind_backtrace+0x0/0x11c) from [<c0109c6c>] (show_stack+0x10/0x14)
[   93.817490] [<c0109c6c>] (show_stack+0x10/0x14) from [<c0a26c10>] (__schedule_bug+0x44/0x60)
[   93.817510] [<c0a26c10>] (__schedule_bug+0x44/0x60) from [<c0a2fa80>] (__schedule+0x70/0x77c)
[   93.817529] [<c0a2fa80>] (__schedule+0x70/0x77c) from [<c0a2e3e8>] (schedule_timeout+0x28/0x26c)
[   93.817548] [<c0a2e3e8>] (schedule_timeout+0x28/0x26c) from [<c0a2f8a0>] (wait_for_common+0x11c/0x164)
[   93.817566] [<c0a2f8a0>] (wait_for_common+0x11c/0x164) from [<c01ba530>] (__stop_cpus+0x48/0x60)
[   93.817584] [<c01ba530>] (__stop_cpus+0x48/0x60) from [<c01ba8a8>] (stop_cpus+0x2c/0x44)
[   93.817602] [<c01ba8a8>] (stop_cpus+0x2c/0x44) from [<c01ba9c8>] (__stop_machine+0xb8/0xd4)
[   93.817620] [<c01ba9c8>] (__stop_machine+0xb8/0xd4) from [<c0a1fef4>] (_cpu_down+0xd8/0x2c0)
[   93.817638] [<c0a1fef4>] (_cpu_down+0xd8/0x2c0) from [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec)
[   93.817655] [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec) from [<c01b3ff8>] (kernel_kexec+0x44/0x74)
[   93.817672] [<c01b3ff8>] (kernel_kexec+0x44/0x74) from [<c0178910>] (SyS_reboot+0x174/0x1f4)
[   93.817689] [<c0178910>] (SyS_reboot+0x174/0x1f4) from [<c0106240>] (ret_fast_syscall+0x0/0x30)
[   93.817736] IRQ39 no longer affine to CPU2
[   93.819113] BUG: scheduling while atomic: kexec/3782/0x00000002
[   93.819128] CPU: 0 PID: 3782 Comm: kexec Tainted: G        W    3.10.40-g15096bd-00002-g2a9d605 #2
[   93.819147] [<c010c83c>] (unwind_backtrace+0x0/0x11c) from [<c0109c6c>] (show_stack+0x10/0x14)
[   93.819170] [<c0109c6c>] (show_stack+0x10/0x14) from [<c0a26c10>] (__schedule_bug+0x44/0x60)
[   93.819191] [<c0a26c10>] (__schedule_bug+0x44/0x60) from [<c0a2fa80>] (__schedule+0x70/0x77c)
[   93.819210] [<c0a2fa80>] (__schedule+0x70/0x77c) from [<c0a2e3e8>] (schedule_timeout+0x28/0x26c)
[   93.819229] [<c0a2e3e8>] (schedule_timeout+0x28/0x26c) from [<c0a2f8a0>] (wait_for_common+0x11c/0x164)
[   93.819334] [<c0a2f8a0>] (wait_for_common+0x11c/0x164) from [<c014a5b0>] (msm_rpm_wait_for_ack+0x54/0x108)
[   93.819373] [<c014a5b0>] (msm_rpm_wait_for_ack+0x54/0x108) from [<c041db38>] (rpm_vreg_send_request+0x44/0xa0)
[   93.819397] [<c041db38>] (rpm_vreg_send_request+0x44/0xa0) from [<c041df78>] (rpm_vreg_aggregate_requests+0x1a0/0x2cc)
[   93.819417] [<c041df78>] (rpm_vreg_aggregate_requests+0x1a0/0x2cc) from [<c041e644>] (rpm_vreg_set_voltage_corner+0x128/0x198)
[   93.819437] [<c041e644>] (rpm_vreg_set_voltage_corner+0x128/0x198) from [<c0419700>] (_regulator_do_set_voltage+0x128/0x3e8)
[   93.819457] [<c0419700>] (_regulator_do_set_voltage+0x128/0x3e8) from [<c0419a7c>] (regulator_set_voltage+0xbc/0xec)
[   93.819488] [<c0419a7c>] (regulator_set_voltage+0xbc/0xec) from [<c07b9e84>] (update_vdd+0xe0/0x2b8)
[   93.819512] [<c07b9e84>] (update_vdd+0xe0/0x2b8) from [<c07ba1b8>] (unvote_vdd_level+0x60/0x98)
[   93.819532] [<c07ba1b8>] (unvote_vdd_level+0x60/0x98) from [<c07bab7c>] (clk_set_rate+0x18c/0x1f4)
[   93.819565] [<c07bab7c>] (clk_set_rate+0x18c/0x1f4) from [<c0705460>] (update_l2_bw+0x8c/0xdc)
[   93.819647] [<c0705460>] (update_l2_bw+0x8c/0xdc) from [<c0705a78>] (msm_cpufreq_cpu_callback+0xd4/0x124)
[   93.819667] [<c0705a78>] (msm_cpufreq_cpu_callback+0xd4/0x124) from [<c01884a4>] (notifier_call_chain+0x40/0x68)
[   93.819687] [<c01884a4>] (notifier_call_chain+0x40/0x68) from [<c0168014>] (__cpu_notify+0x28/0x44)
[   93.819706] [<c0168014>] (__cpu_notify+0x28/0x44) from [<c0168044>] (cpu_notify_nofail+0x8/0x14)
[   93.819726] [<c0168044>] (cpu_notify_nofail+0x8/0x14) from [<c0a1ff54>] (_cpu_down+0x138/0x2c0)
[   93.819745] [<c0a1ff54>] (_cpu_down+0x138/0x2c0) from [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec)
[   93.819765] [<c01682cc>] (disable_nonboot_cpus+0x6c/0xec) from [<c01b3ff8>] (kernel_kexec+0x44/0x74)
[   93.819782] [<c01b3ff8>] (kernel_kexec+0x44/0x74) from [<c0178910>] (SyS_reboot+0x174/0x1f4)
[   93.819802] [<c0178910>] (SyS_reboot+0x174/0x1f4) from [<c0106240>] (ret_fast_syscall+0x0/0x30)
[   93.820348] Bye!
BTW, serial console via headphones jack also works on Nexus 6, that's what I used most of the time. You just have to build/get the HW and forcefully enable the console in kernel, since whoever made the bootloader for Nexus 6 was a very evil kind of person.
 
  • Like
Reactions: r3pwn and Surge1223

r3pwn

Inactive Recognized Developer
Jul 11, 2012
1,745
2,046
0
Lakeland, FL
r3pwn.com

Tasssadar

Inactive Recognized Developer
Dec 31, 2010
818
6,126
0
Brno
tasssadar.github.com
I'm pretty sure (on the Nexus 7 2013, at least) there is a "fastboot oem uart-on" command. Does this not work with the Nexus 6?
Oh, there is "fastboot oem config console true" (and bunch of other options, see "fastboot oem config"), thanks. Didn't know about "fastboot oem help", gonna remember that for next time. Still don't think bootloader should even do this kind of stuff though.
 

r3pwn

Inactive Recognized Developer
Jul 11, 2012
1,745
2,046
0
Lakeland, FL
r3pwn.com
Oh, there is "fastboot oem config console true" (and bunch of other options, see "fastboot oem config"), thanks. Didn't know about "fastboot oem help", gonna remember that for next time. Still don't think bootloader should even do this kind of stuff though.
I don't even have a Nexus 6. :p
If you get me an aboot dump, I'll check to see if there are any other relatively interesting commands (if you want, that is).
 

calebcabob

Senior Member
Jul 14, 2013
1,477
2,251
0
Massachusetts
Hey, I hope you don't mind me asking about this here. I owned Samsung devices for years, so I sorta recognized the OP;)

I'm just wondering if anyone here might be able to tell me why my ROM/kernel won't generate a last_kmsg. No matter what, it's just never created. HTC M9 - CM12.1 based.

Is it possible that I'm missing a module in the kernel?
 

Attachments