2013-01-16 22 views
0

我不知道該怎麼辦。我覺得我已經做好了一切準備。我試圖從Android使用LiME捕捉內存圖像。如果我做了以下...arm-eabi-gcc:嘗試設置LiME時找不到命令

$ cd $my_android_ndk_path/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/ 
    $ make ARCH=arm CROSS_COMPILE=arm-eabi- modules_prepare 

返回

make: *** No rule to make target `modules_prepare'. Stop. 

如果我從我的內核源代碼(在那裏我的.config所在地)鍵入相同的命令 $讓ARCH =手臂CROSS_COMPILE =路徑/到/ android_ndk /工具鏈/臂-Linux的androideabi-4.4.3 /預建/ Linux的86/bin中/臂eabi- modules_prepare

它返回

make: /path/to/android_ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-eabi-gcc: Command not found 
    CHK  include/linux/version.h 
    make[1]: `include/asm-arm/mach-types.h' is up to date. 
    CHK  include/linux/utsrelease.h 
    SYMLINK include/asm -> include/asm-arm 
    CC  kernel/bounds.s 

我相信我的目錄是正確的。有沒有人知道我可能做錯了什麼。我沒有使用任何特定的工具ndk。我剛剛解壓縮了ndk和sdk,並且安裝了JDK。一切都應該工作,但事實並非如此。

+0

順便說一下......我顯然沒有在「/ path/to/android_ndk /」中輸入......這只是爲了幫助你的眼睛 –

+0

你會考慮改變問題標題嗎?它似乎沒有特別描述這個問題。 – alkalinity

+0

是的....只要我能弄清楚在哪裏做的 –

回答

0

modules_prepare是一個內核準備程序。它的目的是確保有足夠的頭文件存在,隨後可以針對該內核源代碼樹構建內核模塊。你看,內核有一些自動生成的文件,並且至少沒有運行modules_prepare,內核模塊編譯將不可能。

爲此,當您從內核樹運行modules_prepare時,這是一個正確的操作。從交叉編譯器運行它毫無意義,因爲它不明白你想要做什麼。

我會建議你讓你的生活更輕鬆添加交叉編譯的路徑像這樣:

PATH=$PATH:$my_android_ndk_path/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/ 
cd <kernel directory> 
make ARCH=arm CROSS_COMPILE=arm-eabi- modules_prepare 

所以這說... modules_prepare只是在準備建立一個模塊的第一步。如果你正在嘗試構建一個內核模塊 (LiME?我不知道那是什麼) 那麼你需要follow the steps for building a kernel module

編輯:

現在我知道什麼內核模塊正在構建(石灰取證),我可以看到它的SVN sources。 Makefile預計你正在爲本地計算機構建,而不是交叉編譯。

更改如下:

default: 
     $(MAKE) -C /lib/modules/$(KVER)/build M=$(PWD) modules 

default: 
     $(MAKE) -C <your Android kernel> ARCH=arm CROSS_COMPILE=arm-eabi- M=$(PWD) modules 

這將有可能讓你進一步。

+0

我接受了您的建議並將其添加到我的路徑中。你是對的。這很容易。然而,我仍然堅持我的問​​題。我正在按照pdf安裝一步一步的進行,我仍然得到'make:arm-eabi-gcc:Command not found「錯誤,pdf文件在這裏,如果有人有時間查看,安裝頁面長1頁。 http://code.google.com/p/lime-forensics/downloads/detail?name=LiME_Documentation_1.1.pdf&can=2&q= –

+0

我用更多的信息更新了答案,現在確定了內核模塊。 – alkalinity

+0

謝謝當編譯LiME的時候,這實際上會幫助我,但編譯Lime並不是我的錯誤發生的地方,如果沒有閱讀pdf教程,很難解釋,我將繼續嘗試並找出答案。 。 –

1

你檢查過你的arm-eabi-gcc(command:file/arm-eabi-gcc)編譯器和你的機器(32或64位)之間的兼容性嗎? 如果您的arm-eabi-gcc是3​​2位機器兼容的,爲防止在64位機器中出現像「make:arm-eabi-gcc:Command not found」這樣的錯誤,您必須安裝軟件包「ia32-libs」(命令:sudo apt-get install ia32-libs)。

相關問題