當前位置:首頁 » 編程軟體 » 將文件編譯進安卓系統內核

將文件編譯進安卓系統內核

發布時間: 2023-03-08 08:19:42

安卓手機內核怎麼刷入

  1. 刷手機內核步驟准備:

    1、首先要做好准備工作,確保手機已經安裝好驅動,將所有需要的東西都放好位置;

    2、將手機關機,按住音量上鍵不放同時還要將手機連接到電腦上,等待藍燈常亮(新安裝驅動第一次會運行系統會先安裝驅動,在插一遍),放手,藍燈不可以滅或者手機是充電模式,然後檢查驅動;

  2. 刷手機內核

    1、手機藍燈連接好以後回到電腦上win7系統(XP系統直接右擊滑鼠進DOS命令)安住鍵盤shift鍵不放,滑鼠移動到fastboo文件夾上右擊滑鼠,移動到在此處打開命令窗口,點擊進CMD命令

    2、在出現的命令窗口中輸入刷內核命令:fastboot flash boot ics8.elf,然後按回車鍵,這時會有一個進程;

    3、到這里大家回到fastboot就OK了,拔掉USB線開機,當指示燈亮並震動時按住住音量上鍵不放可以進Recovery模式。

  3. Recovery主界面中英文:

    1、reboot system now 重啟手機(刷機完畢選擇此項就能重新啟動系統);

    2、install zip from SDcard 從SDcard上安裝zip升級包(可以執行任意名稱的zip(ROM)包,不限制ROM包名稱);

    3、wipe data/factory reset 清除用戶數據並恢復出廠設置(刷機前必須執行的選項);

    4、wipe cache partition 清除系統緩存(刷機前執行)(系統出問題也可嘗試此選項,一般能夠解決);

    5、backup and restore 備份和還原系統(目前不支持);

    6、mounts and storage 掛載和存儲選項(目前支持USB掛載)。

② 如何添加iptables/netfilter模塊到安卓內核

所以要實現netfilter(iptables)就要從兩方面來著手:1)內核支持netfilter;2)用戶層的iptables配置命令。
1、編譯內核,支持netfilter
在宿主機上進入linux內核目錄,配置所需的內核模塊:cd/usr/SRC/linuxmakemenuconfig
選中如下內核選項:
Generalsetup---
[*]Sysctlsupport(在ROMFS文件系統中/proc/syS/Net/ipv4/出現ip_forward)
Networkingoptions---[*]NetworkPACketfiltering(replaceSIPchains)IP:NetfilterConfiguration---(全部選擇即可)
這樣在內核中就選擇支持了netfilter。接下來只需編譯並生成內核映像文件並燒寫到嵌入式系統即可。如果燒寫後重起成功進入Linux,則說明新的支持netfiter的內核已經正常運行。(注意,這里的內核選項只是一些支持netfilter/iptables的選項。這里假設原有內核已支持嵌入式系統的相關硬體,並能在嵌入式平台上運行)。
2、編譯生成iptables命令
iptables工具包可以免費從網上獲得。下載iptables工具包後,進入下載目錄,進行編譯生成可執行文件,編譯方法具體可以參考iptables目錄下的INSTALL文件:
cd/root/iptables
makeKERNEL_DIR=/usr/src/linux(指定內核目錄)
makeNO。SHARED_LIBS=1(靜態鏈接編譯生成可執行文件)
把生成的iptables可執行文件到ramdisk再下載到嵌入式系統中就可以運行。

③ 如何把應用程序app編譯進android系統

把安卓應用軟體安裝到安卓系統文件,即把安卓應用軟體放到系統根目錄system/app下 操作方法 :
准備工作:
一、開啟ROOT許可權。
ROOT方法:下載一鍵ROOT之類的軟體,根據操作步驟進行,就可以獲取ROOT許可權了。
二、安裝RE文件管理器。
清理系統自帶應用
(一)、用RE打開系統根目錄下的system/app,進行精簡系統自帶應用,注意,要對照一些總結可刪減程序的文件,以免刪錯了導致系統故障。
(二)、根目錄:preload目錄下,可能會有系統的預裝應用,不用的也可以全部刪掉。
移動APK到system/app 目錄:
一、移動apk:用RE管理器把要安裝的apk軟體移動到/system/app 目錄下。
在操作前,將/system/app 目錄掛載為可讀寫;
注意軟體名不要有中文 、空格及其他特殊字元等;
如果無法移動,顯示空間不足時,可以先移動到data/app/下,再移動到/system/app;
二、修改apk許可權: 對移動進來的apk軟體更改許可權,即改為:用戶許可權為 讀+寫,分組許可權為 讀,其他許可權為 讀。
三、提取 .so文件:用RE提取apk軟體中/lib/目錄下的所有 .so文件,將其移動到/system/lib中。
點擊apk軟體,用RE查看文件內容,即可找到 ,so文件。
四、修改 .so文件許可權:方法同上。
五、重啟手機。在此過程中,可能載入的時間稍長點,請耐心等待即可。

④ 怎樣編譯安卓內核

把ROM解壓出來,然後有很多文件夾,然後再進行編輯就可以了,可以根據自己的要求自己定製ROM

⑤ 為了能從sd卡啟動android系統,內核應該怎麼編譯

本人使用mini6410開發了一個sqlite資料庫的程序,在mini6410的linux系統下已經能夠成功運行了。因為Android使用的也是linux內核,所以我想當然的認為按照同樣的方法將程序移植到mini6410的android系統中也可以成功運行,但是當我運行程序的時候卻提示我不能找到可執行文件(xlisten-arm是交叉編譯出來的可執行文件):

/ # ./xlisten-arm
/system/bin/sh: ./xlisten-arm: not found

1.探索:

在網上搜索起初認為可能是庫文件的不全導致的,於是在查看可執行文件xlisten-arm所需要的動態鏈接庫:

執行語句:

# arm-linux-readelf -a ./xlisten-arm | grep "Shared"
0x00000001 (NEEDED) Shared library: [libsqlite3.so.0]
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libcrypt.so.1]
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libdl.so.2]
0x00000001 (NEEDED) Shared library: [libc.so.6]

知道所需的動態鏈接庫後,到android文件系統中去照著寫庫文件,在目錄/system/lib 中,果然缺少相應的庫文件,於是認為找到了我問題的根源所在,在復制相應庫文件的時候為了保留原來的屬性,還特意用了

#cp -a filename dir

誰知將這些庫都添加進去以後,仍然無濟於事!

看來不僅僅事庫文件缺失的問題了,而且一般來說,如果真的是因為缺少庫文件而導致的問題,終端會提示我們鏈接某庫文件時沒有找到該庫文件。

2.正確的解決方法:

將程序編譯的時候選擇靜態編譯,即使用選項 -static

我是對Makefile文件中的CFLAG變數進行修改

CFLAGS = -Wall

改為;

CFLAGS = -Wall -static

然而此時又出現問題了:

undefined reference to `pthread_mutex_*'

undefined reference to `dl*'

提示沒有定義這些函數,於是在包含的庫文件中添加了這兩個庫文件

在Makefile中,修改LIBS變數;

LIBS = -lsqlite3 -lm -lcrypt

改為:

LIBS = -lsqlite3 -lm -lcrypt -lpthread -ldl

然後進行交叉編譯,成功了!

編譯出來的可執行文件比較大,因為事靜態編譯的,我的有2M多,

拷貝到開發板的andriod系統中,

修改許可權:

#chmod 777 xlisten-arm

執行:

/ # ./xlisten-arm

OK!能夠正確的執行了!

⑥ andriod 源碼編譯時,如何添加一個可執行文件到文件系統中

是這樣的
1.進入你的android系統源碼的build/target/board/generic目錄下
2.把你的abc拷貝到 這個目錄下
3.編輯這個目錄下的vi AndroidBoard.mk這個文件
4.添加 PRODUCT_COPY_FILES += $(LOCAL_PATH)/abc:system/bin/abc

這樣在make源碼的時候,就可以自動進行這次拷貝了

⑦ 安卓編譯內核生成的是o文件嗎,然後再打包進boot.img

.o是中間文件,.ko是內核模塊
kernel是一個可執行的bzImage,簡單來講就是由.o鏈接生成的目標文件,不是像你說的那樣n多.o
.ko可以編譯進內核,也可以不編譯進內核,作為插件的形式存在
安裝內核的意思就是把內核到啟動分區,然後安裝內核模塊,以及一些其他的東西。。
每次開機直接把內核裝載到內存裡面去不就行了嗎,這也得先安裝才行不是。

⑧ 如何把ecryptfs編譯到內核中

下載內核源代碼: git clone http://android.googlesource.com/kernel/goldfish.git

git branch -a 顯示所有分支

選擇分支:
git checkout -b android-goldfish3.4
git checkout remotes/origin/android-goldfish3.4

配置交叉編譯環境:
工具包在 android源代碼目錄的 ./prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin,把它加進環境變數:
export PATH=$PATH:/xxxxxxx/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin
修改內核 主Makefile 文件:
ARCH ?= $(SUBARCH) 改為 ARCH ?= arm
下面的相應的改成 CROSS_COMPILE ?= arm-eabi-

make gold_armv7_defconfig 選擇配置文件

[這里可以使用make menuconfig 配置內核, 如果缺少包需要
sudo apt-get install libncurses5-dev
對於配置eCryptfs,需要
security options --> Enable accesskey retention support
--> ENCRYPTED KEYS
filesystem --> Miscellaneous filesystem --> eCryptfs ...layer
]

最後 make

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:741
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1005
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:712
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:874
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:773
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1120
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:346
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:224
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:910
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:869