原创 Android系統Recovery工作原理之使用update.zip升級過程分析(三)---Android系統的三種啓動模式

    以下的篇幅開始分析我們在上兩個篇幅中生成的update.zip包在具體更新中所經過的過程,並根據源碼分析每一部分的工作原理。 一、       系統更新update.zip包的兩種方式     1.  通過上一個文檔,我們知道了怎

原创 Android 系統屬性SystemProperty分析

Android System Property 一 System Property   代碼中大量存在:SystemProperties.set()/SystemProperties.get();通過這兩個接口可以對系統的屬性進行讀取/

原创 Linux 的併發可管理工作隊列機制

併發可管理工作隊列的出現 在內核代碼中,經常希望延緩部分工作到將來某個時間執行,這樣做的原因很多,比如:在持有鎖時做大量(或者說費時的)工作不合適;或希望將工作聚集以獲取批處理的性能;或調用了一個可能導致睡眠的函數使得在此時執行新調度

原创 Kobject模型

轉載自:http://blog.chinaunix.net/uid-11319766-id-3253414.html 這篇文章太重要了,所以必須轉載。感謝作者 一、Kobject 每個在內核中註冊的kobject都對應於sysfs文件系統

原创 User版本下如何抓取kernel的log

在user版本下,我們沒有權限對/proc/kmsg進行操作,只有對擁有root權限或者system組的才能對其進行操作。 這時我們只要寫個簡單的腳本,讓其擁有root權限就行了。 例: 1、在LINUX/android/device/

原创 Android系統Recovery工作原理之使用update.zip升級過程分析(一)---update.zip包的製作

 這篇及以後的篇幅將通過分析update.zip包在具體Android系統升級的過程,來理解Android系統中Recovery模式服務的工作原理

原创 內核學習的相關資源

內核文檔      內核代碼中包含有大量的文檔,這些文檔對於學習理解內核有着不可估量的價值,記住,在任何時候,它們在我們心目中的地位都應該高於那些各式的內核參考書。下面是一些內核新人所應該閱讀的文檔。   README     這個文件

原创 /system/core/init/readme.txt對init.rc的解釋

init.rc由許多的Action和Service組成。 每一個語句佔據一行,並且各個關鍵字被空格分開。c規範中的(如 /n)反斜槓將被忽略(backslash escapes)而被認爲是一個空格 ,雙引號用來保證空格不會把一個文字串分分

原创 Android OTA簡介

OTA(Over-the-Air Technology)空中下載技術。是通過移動通信(GSM或CDMA)的空中接口對SIM卡數據及應用進行遠程管理的

原创 中斷處理中不能睡眠的原因

這個問題實際上是一個老生常談的問題,答案也很簡單,Linux在軟中斷上下文中是不能睡眠的,原因在於Linux的軟中斷實現上下文有可能是中斷上下文,如果在中斷上下文中睡眠,那麼會導致Linux無法調度,直接的反應是系統KernelPanic

原创 Android系統Recovery模式的工作原理(四)

在使用update.zip包升級時怎樣從主系統(main system)重啓進入Recovery模式,進入Recovery模式後怎樣判斷做何種操作,以及怎樣獲得主系統發送給Recovery服務的命令,這一系列問題的解決是通過整個軟件平臺的

原创 Android系統Recovery工作原理之使用update.zip升級過程分析(六)---Recovery服務流程細節

Recovery服務毫無疑問是Recovery啓動模式中最核心的部分。它完成Recovery模式所有的工作。Recovery程序對應的源碼文件位於:

原创 DEVICE_ATTR

sysfs接口函數的建立_DEVICE_ATTR   說道sysfs接口,就不得不提到函數宏 DEVICE_ATTR,原型是 #define DEVICE_ATTR(_name, _mode, _show, _store)

原创 臨時改變終端語言

在終端中輸入 LANG=zh_CN 就可以了

原创 Ubuntu 12.04 輸入法圖標消失

安裝完Ubuntu 12.04後,發現輸入法托盤圖表有時會找不到,但是按Ctrl+Space鍵仍然能夠喚出輸入法。 網上查找了下,據說是Beta版就存在這個Bug了。 解決辦法:   1、重啓輸入法(臨時)   在終端(Terminal