原创 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