I.MX6 android shutdown 内核崩溃

简介: /**************************************************************************** * I.MX6 android shutdown 内核崩溃 * 说明: * 本文主要是记录解决I.MX6的关机会进入halt模式,导致内核崩溃。
/****************************************************************************
 *                  I.MX6 android shutdown 内核崩溃
 * 说明:
 *     本文主要是记录解决I.MX6的关机会进入halt模式,导致内核崩溃。
 *
 *                                        2016-3-24 深圳 南山平山村 曾剑锋
 ***************************************************************************/

一、参考文章:
    android 关机 流程分析 
        http://blog.chinaunix.net/uid-24227137-id-3248111.html

二、 现象:
    SysRq : Emergency Remount R/O
    EXT4-fs (mmcblk0p4): re-mounted. Opts: (null)
    EXT4-fs (mmcblk0p6): re-mounted. Opts: (null)
    Emergency Remount complete
    System halted.
    BUG: soft lockup - CPU#1 stuck for 23s! [Thread-88:3327]
    Modules linked in:
    
    Pid: 3327, comm:            Thread-88
    CPU: 1    Not tainted  (3.0.35 #617)
    PC is at machine_halt+0x8/0xc
    LR is at smp_send_stop+0x9c/0xc4
    pc : [<c004d7dc>]    lr : [<c0052f98>]    psr: 60000013
    sp : d0e53e88  ip : 00000000  fp : 78393c6c
    r10: 00000000  r9 : d0e52000  r8 : c004ca84
    r7 : 00000000  r6 : 4321fedc  r5 : 28121969  r4 : 4321fedc
    r3 : 00000001  r2 : 00000001  r1 : 00000000  r0 : 00000001
    Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    Control: 10c53c7d  Table: 24fa804a  DAC: 00000015
    
    PC: 0xc004d75c:
    d75c  e5843004 eaffffda eb01b99d e3500000 1affffed e5973004 e12fff33 e10f3000
    d77c  e3130080 1a000003 f1080080 eaffffd4 eb19c101 eaffffe0 e59f0018 e3a010fa
    d79c  eb0101fd f1080080 eaffffcd c06dccf4 c0a0ce64 c09886b4 c085477c e1a0200d

三、 解决方法:
    cat kernel/sys.c
    /*
     * Reboot system call: for obvious reasons only root may call it,
     * and even root needs to set up some magic numbers in the registers
     * so that some mistake won't make this reboot the whole machine.
     * You can also set the meaning of the ctrl-alt-del-key here.
     *
     * reboot doesn't sync: do that yourself before calling this.
     */
    SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd,
            void __user *, arg)
    {
        ......
        //if ((cmd == LINUX_REBOOT_CMD_POWER_OFF) && !pm_power_off)
        //    cmd = LINUX_REBOOT_CMD_HALT;
        ......
    }

 

目录
相关文章
|
3月前
|
Web App开发 小程序 前端开发
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
44 0
|
4月前
|
Linux Android开发
Android 正常运行所需的一系列 Linux 内核接口
Android 正常运行所需的一系列 Linux 内核接口
53 0
|
3天前
|
Linux 编译器 开发工具
Android内核的编译过程
Android内核的编译过程
|
5月前
|
缓存 算法 Java
Linux内核新特性年终大盘点-安卓杀后台现象减少的背后功臣MGLRU算法简介
MGLRU是一种新型内存管理算法,它的出现是为了弥补传统LRU(Least Recently Used)和LFU(Least Frequently Used)算法在缓存替换选择上的不足,LRU和LFU的共同缺点就是在做内存页面替换时,只考虑内存页面在最近一段时间内被访问的次数和最后一次的访问时间,但是一个页面的最近访问次数少或者最近一次的访问时间较早,可能仅仅是因为这个内存页面新近才被创建,属于刚刚完成初始化的年代代页面,它的频繁访问往往会出现在初始化之后的一段时间里,那么这时候就把这种年轻代的页面迁移出去
|
21天前
|
Linux Android开发
Android 内核关闭CAN 串口设备回显功能
Android 内核关闭CAN 串口设备回显功能
9 0
|
2月前
|
移动开发 监控 小程序
mPaaS 常见问题之Android 14uc内核不生效如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
25 0
|
存储 Linux Shell
【Android 逆向】Android 系统文件分析 ( /system/ 系统命令和系统应用数据目录 | /system/app/ 系统应用目录 | sys Linux 系统内核文件目录 )
【Android 逆向】Android 系统文件分析 ( /system/ 系统命令和系统应用数据目录 | /system/app/ 系统应用目录 | sys Linux 系统内核文件目录 )
392 0
【Android 逆向】Android 系统文件分析 ( /system/ 系统命令和系统应用数据目录 | /system/app/ 系统应用目录 | sys Linux 系统内核文件目录 )
|
6月前
|
编译器 Android开发
深度解读Android崩溃日志案例分析1:so崩溃
深度解读Android崩溃日志案例分析1:so崩溃
113 1
|
6月前
|
存储 Java Android开发
[√]android 崩溃排查
[√]android 崩溃排查
66 0
|
7月前
|
Android开发 C语言
[笔记]安卓 使用breakpad定位崩溃问题
[笔记]安卓 使用breakpad定位崩溃问题