導航:首頁 > 源碼編譯 > 打開內核源碼日誌

打開內核源碼日誌

發布時間:2022-04-25 05:40:10

android 應用怎麼讀取內核日誌

本來以為就沒有辦法在應用程序這一層改系統時間了,後來在網上搜了好久,知道這個目的還是可以達到的。 第一個方法簡單點,不過需要在Android系統源碼的環境下用make來編譯: 1. 在應用程序的AndroidManifest.xml中的manifest節點中加入 android:sharedUserId="android.uid.system"這個屬性。 2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform這一行 3. 使用mm命令來編譯,生成的apk就有修改系統時間的許可權了。 第二個辦法麻煩點,不過不用開虛擬機跑到源碼環境下用make來編譯: 1. 同上,加入android:sharedUserId="android.uid.system"這個屬性。 2. 使用eclipse編譯出apk文件,但是這個apk文件是不能用的。 3. 用壓縮軟體打開apk文件,刪掉META-INF目錄下的CERT.SF和CERT.RSA兩個文件。 4. 使用目標系統的platform密鑰來重新給apk文件簽名。這步比較麻煩, 首先找到密鑰文件,在我的Android源碼目錄中的位置 是"build argetproctsecurity",下面的platform.pk8和platform.x509.pem 兩個文件。 然後用Android提供的Signapk工具來簽名,signapk的源代碼是 在"build oolssignapk"下, 用法為"signapk platform.x509.pem platform.pk8 input.apk output.apk", 文件名最好使用絕對路徑防止找不到,也可以修改源代碼直接使用。 這樣最後得到的apk和第一個方法是一樣的。 最後解釋一下原理,首先加入android:sharedUserId="android.uid.system"這個屬性。通過Shared User id,擁有同一個User id的多個APK可以配置成運行在同一個進程中。那麼把程序的UID配成android.uid.system,也就是要讓程序運行在系統進程中,這樣就有許可權來修改系統時間了。 只是加入UID還不夠,如果這時候安裝APK的話發現無法安裝,提示簽名不符,原因是程序想要運行在系統進程中還要有目標系統的platform key,就是上面第二個方法提到的platform.pk8和platform.x509.pem兩個文件。用這兩個key簽名後apk才真正可以放入系統進程中。第一個方法中加入LOCAL_CERTIFICATE := platform其實就是用這兩個key來簽名。這也有一個問題,就是這樣生成的程序只有在原始的Android系統或者是自己編譯的系統中才可以用,因為這樣的系統才可以拿到 platform.pk8和platform.x509.pem兩個文件。要是別家公司做的Android上連安裝都安裝不了。試試原始的Android 中的key來簽名,程序在模擬器上運行OK,不過放到G3上安裝直接提示"Package ... has no signatures that match those in shared user android.uid.system",這樣也是保護了系統的安全。

❷ 怎樣進入內核源代碼根目錄

先用cd 命令進入公共的目錄是/usr/src,進了這個目錄,你再具體找找,因為它視安裝路徑而定

linux 2.6內核源碼,應該用什麼工具打開

文本編輯器,比如記事本。

❹ 怎麼打開內核源碼中的bug調試開關

釋掉了。
在bsp目錄下Makefile、sysLib.c以及config.h文件定義都無效
請問像這樣在內核中的宏開關怎樣打開?或者可以打開嗎(不做大幅改動的情況下)?

ERF_DEBUG是個宏定義么?是變數還是代碼段?
把rfLib.c中有ERF_DEBUG部分的代碼貼出來看一下。
還可以搜索以下ERF_DEBUG在系統裡面是怎麼定義的。就是簡單的「#define ERF_DEBUG」,在rfLib.c文件該句定義被注釋掉了,後面的調試信息通過「#ifdef ERF_DEBUG」被關閉著,系統啟動過程中無法列印出來。我就是想知道怎樣或者在什麼位置可以定義「ERF_DEBUG」這個宏(內核源碼沒法改動)把由它控制關閉著

❺ linux內核源碼詳解

Linux的內核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統下,/usr/src/linux目錄下的東西就是內核源代碼。
對於源代碼的閱讀,要想比較順利,事先最好對源代碼的知識背景有一定的了解。對於linux內核源代碼來講,我認為,基本要求是:1、操作系統的基本知識; 2、對C語言比較熟悉,最好要有匯編語言的知識和GNU C對標准C的擴展的知識的了解。
另外在閱讀之前,還應該知道Linux內核源代碼的整體分布情況。我們知道現代的操作系統一般由進程管理、內存管理、文件系統、驅動程序、網路等組成。看一下Linux內核源代碼就可看出,各個目錄大致對應了這些方面。Linux內核源代碼的組成如下(假設相對於linux目錄):
arch 這個子目錄包含了此核心源代碼所支持的硬體體系結構相關的核心代碼。如對於X86平台就是i386。
include 這個目錄包括了核心的大多數include文件。另外對於每種支持的體系結構分別有一個子目錄。
init 此目錄包含核心啟動代碼。
mm 此目錄包含了所有的內存管理代碼。與具體硬體體系結構相關的內存管理代碼位於arch/-/mm目錄下,如對應於X86的就是arch/i386/mm/fault.c 。
drivers 系統中所有的設備驅動都位於此目錄中。它又進一步劃分成幾類設備驅動,每一種也有對應的子目錄,如音效卡的驅動對應於drivers/sound。
ipc 此目錄包含了核心的進程間通訊代碼。
moles 此目錄包含已建好可動態載入的模塊。
fs Linux支持的文件系統代碼。不同的文件系統有不同的子目錄對應,如ext2文件系統對應的就是ext2子目錄。
kernel 主要核心代碼。同時與處理器結構相關代碼都放在arch/-/kernel目錄下。
net 核心的網路部分代碼。裡面的每個子目錄對應於網路的一個方面。
lib 此目錄包含了核心的庫代碼。與處理器結構相關庫代碼被放在arch/-/lib/目錄下。
scripts 此目錄包含用於配置核心的腳本文件。
Documentation 此目錄是一些文檔,起參考作用。

❻ 如何查看跟蹤查看LINUX內核中的源碼

最近看LINUX書籍時,根據書中代碼找相應的函數或者結構定義相當吃力,根據網上資料按以下方法查找速度較快。
1.安裝ctags
在源代碼目錄下運行
ctags -R
這樣,會遞歸生成當前目錄下及其子目錄的tags文件。
2.使用VIM根據tags文件查找函數或結構定義。
1.在源碼目錄下查找
vi -t tagname
2.如果要在任意位置使用,則需要把該tags文件添加到~/.vimrc文件中
set tags=/home/money/sda8/2.6232/tags
3.如果要在代碼中實時跟蹤,則游標移動到函數名上,使用CTRL+]鍵,按CTRL+t可以返回。
如果要跟蹤系統函數,使用shift+K可以自動跳轉道游標所在函數的手冊。

❼ 如何查看 linux 內核源代碼

Linux的內核源代碼可以從很多途徑得到。一般來講,在安裝的linux系統下,/usr/src/linux目錄下的東西就是內核源代碼。

對於源代碼的閱讀,要想比較順利,事先最好對源代碼的知識背景有一定的了解。對於linux內核源代碼來講,我認為,基本要求是:1、操作系統的基本知識;2、對C語言比較熟悉,最好要有匯編語言的知識和GNU C對標准C的擴展的知識的了解。另外在閱讀之前,還應該知道Linux內核源代碼的整體分布情況。我們知道現代的操作系統一般由進程管理、內存管理、文件系統、驅動程序、網路等組成。看一下Linux內核源代碼就可看出,各個目錄大致對應了這些方面。Linux內核源代碼的組成如下(假設相對於linux目錄):

arch 這個子目錄包含了此核心源代碼所支持的硬體體系結構相關的核心代碼。如對於X86平台就是i386。

include 這個目錄包括了核心的大多數include文件。另外對於每種支持的體系結構分別有一個子目錄。

init 此目錄包含核心啟動代碼。

mm 此目錄包含了所有的內存管理代碼。與具體硬體體系結構相關的內存管理代碼位於arch/*/mm目錄下,如對應於X86的就是arch/i386/mm/fault.c 。

drivers 系統中所有的設備驅動都位於此目錄中。它又進一步劃分成幾類設備驅動,每一種也有對應的子目錄,如音效卡的驅動對應於drivers/sound。

ipc 此目錄包含了核心的進程間通訊代碼。

moles 此目錄包含已建好可動態載入的模塊。

fs Linux支持的文件系統代碼。不同的文件系統有不同的子目錄對應,如ext2文件系統對應的就是ext2子目錄。

kernel 主要核心代碼。同時與處理器結構相關代碼都放在arch/*/kernel目錄下。

net 核心的網路部分代碼。裡面的每個子目錄對應於網路的一個方面。

lib 此目錄包含了核心的庫代碼。與處理器結構相關庫代碼被放在arch/*/lib/目錄下。

scripts此目錄包含用於配置核心的腳本文件。

Documentation 此目錄是一些文檔,起參考作用。

俗話說:「工欲善其事,必先利其器」。 閱讀象Linux核心代碼這樣的復雜程序令人望而生畏。它象一個越滾越大的雪球,閱讀核心某個部分經常要用到好幾個其他的相關文件,不久你將會忘記你原來在干什麼。所以沒有一個好的工具是不行的。由於大部分愛好者對於Window平台比較熟悉,並且還是常用Window系列平台,所以在此我介紹一個Window下的一個工具軟體:Source Insight。這是一個有30天免費期的軟體,可以從www.sourcedyn.com下載。安裝非常簡單,和別的安裝一樣,雙擊安裝文件名,然後按提示進行就可以了。安裝完成後,就可啟動該程序。這個軟體使用起來非常簡單,是一個閱讀源代碼的好工具。它的使用簡單介紹如下:先選擇Project菜單下的new,新建一個工程,輸入工程名,接著要求你把欲讀的源代碼加入(可以整個目錄加)後,該軟體就分析你所加的源代碼。分析完後,就可以進行閱讀了。對於打開的閱讀文件,如果想看某一變數的定義,先把游標定位於該變數,然後點擊工具條上的相應選項,該變數的定義就顯示出來。對於函數的定義與實現也可以同樣操作。別的功能在這里就不說了,有興趣的朋友可以裝一個Source Insight,那樣你閱讀源代碼的效率會有很大提高的。怎麼樣,試試吧!

❽ 如何更方便的查看Linux內核代碼的更新記錄

在官方http://git.kernel.org/網站可以找到linux的各種git更新記錄,比如virt/kvm/kvm.git,通過這個鏈接,可以看到kvm的各種更新。
看我們重點關注的Linux 2.6內核的更新情況,我們知道Linux 2.6內核是由linus本人維護的,所以對應的git鏈接為:linux/kernel/git/torvalds/linux-2.6.git,從顯示來看,這個和另外一個鏈接linux/kernel/git/torvalds/linux.git已經沒有什麼差別,估計是因為linux 3.x版本的引入以及版本倉庫管理做了改進與優化,不過沒關系,不影響我們繼續了解這個官方web git庫。
首先,查找我們關注的對應版本,這在linux/kernel/git/torvalds/linux-2.6.git頁面上點擊tags鏈接即可進入到所有版本列表,http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tags,打開界面如下:

在這個頁面就能找到對應的版本,以2.6.38.8為例,對應的條目即為Linux 2.6.38-rc8:

這里有好幾個鏈接,不過點幾下會發現都鏈到同一處,所以我們直接看最快的路徑,shortlog和log,這兩個鏈接點開後顯示的都是修改日誌,只是shortlog顯示得比較緊湊而已。點開shortlog:

點擊第一個條目:
2011-03-08 Linus Torvalds Linux 2.6.38-rc8 v2.6.38-rc8 commit | commitdiff | tree | snapsho
的tree鏈接,在這里可以看到2.6.38.8的所有最終代碼,也就是和從http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.8.tar.bz2下載的代碼一致。
下面我們舉個示例,查看一下nmi到2.6.38.8這個版本為止都大致有什麼更新?
跟著「[linux/kernel/git/torvalds/linux-2.6.git] / arch / x86 / include / asm /」一路鏈接點一下來,到這里:

找到nmi.h文件(這個文件跟NMI相關)條目,點擊後面的history鏈接:

可以看到,從2008-10-23到當前版本的所有變動都有了。比如第一個條目2011-01-07有對nmi做修改提交,後面的commitdiff就是提交的更新內容,diff to current當然就不要了,因為自然是commitdiff一致,而其他條目則需要diff to current,因為它們的commitdiff是與後面一個版本的不同,而diff to current是針對Linux 2.6.38-rc8的不同;如果要看從2008-10-23到Linux 2.6.38-rc8的所有更新,只需點擊2008-10-23這個條目的diff to current鏈接即可。
上面示例比較簡單,我也說得比較粗糙,主要是由於裡面的鏈接非常的多,一個個描述起來比較麻煩,貼圖太多也只是浪費我個人網站的伺服器空間而已,最好的辦法是自己動手去點下鏈接,查看一下內容,幾個回合肯定就能摸索清楚個一二了。

❾ 如何查看SUSE Linux內核源碼

內核源代碼都是一樣的,只是每個不同的發行版編譯內核的時候參數和模塊不一樣。
內核源代碼在kernel.org上有

閱讀全文

與打開內核源碼日誌相關的資料

熱點內容
消費者生產者問題java 瀏覽:56
程序員筱柒顧默結婚的時候 瀏覽:572
安卓截長屏怎麼弄 瀏覽:472
優信辦理解壓手續怎麼那麼慢 瀏覽:602
私有雲伺服器一體機安全嗎 瀏覽:424
python的tk界面禁用滑鼠 瀏覽:179
怎麼看伺服器mac地址 瀏覽:287
安卓如何將圖鏡像翻轉 瀏覽:323
操作系統設計與實現pdf 瀏覽:544
長虹空調遙控什麼app 瀏覽:737
四軸外圓編程教程 瀏覽:943
vb在線編譯環境 瀏覽:881
編譯原理全書知識點總結 瀏覽:906
javaoa開發 瀏覽:882
單片機的用途和使用方法 瀏覽:948
程序員在新公司上班 瀏覽:433
發信如何設置伺服器 瀏覽:78
源代碼查詢加密數字 瀏覽:607
附帶編譯 瀏覽:113
海康螢石雲app怎麼回放 瀏覽:406