得到config之後,直接復制到你下載來的內核文件夾kernel下,更名為.config,打開終端,進入此目錄(假設你放在里你的home下,即~/kernel)運行make ARCH=arm menuconfig(ARCH=arm表示編譯的是arm平台的)
② android的linux內核設備文件放在哪裡
內核(是程序,軟體角度),設備文件(是物理設備,硬體角度)這是兩種不同概念。
一般設備文件(這兒指非外來設備)掛在/dev下,
/system/core/init/存放了關於初始化的很多配置。在文件devices.c中就包含了對添加設備的文件許可權的配置。在數組devperms中可以添加的設備進行許可權設置。
另外,也可以在/system/core/rootdir/init.rc中進行配置
③ android kernel menuconfig 有哪些可以打開的選項
ICS/GB版本請在alps代碼目錄下shell: ./mk ${project name} new /*在配置kernel前先保證new過,如果已經new過可以省卻這步。new後會在kenerl目錄下生成.config,該文件在make menuconfig會用到,如果不存在.config文件則所有的kernel配置都會恢復成默認的*/ cd kernel /*切換到kernel目錄 */ TARGET_PRODUCT=${project name} make menuconfig /*使用menuconfig配置,修改選項後保存退出,此時會在kernel目錄下重新生成.config文件 */ 將.config復制到mediatek/config/${project name}/autoconfig/kconfig/目錄下並重命名為project 重新new kernel和用./mk bootimage即可下載 ICS2以後的版本請在alps代碼目錄下shell: ./mk ${project name} new /*在配置kernel前先保證new過,如果已經new過可以省卻這步。new後會在kenerl目錄下生成.config,該文件在make menuconfig會用到,如果不存在.config文件則所有的kernel配置都會恢復成默認的*/ cd kernel /*切換到kernel目錄 */ TARGET_PRODUCT=${project name} make O=out menuconfig /* 如果出現../mediatek/build/kernel/Makefile找不到的錯誤,請用 TARGET_PRODUCT=${project name} KBUILD_OUTPUT_SUPPORT=yesmake O=out menuconfig 配置完後,new kernel,
④ 如何配置android的linux內核的無線網路配置部分
越來越多的人開始使用Linux,但是,目前主流的系統,對於一般用戶來說,Windows系統是大家所習慣使用的。那麼,在Linux操作系統下配置無線連接,是本文的重點介紹的內容。
在Fedora/Linux操作系統下的配置無線連接的方式和步驟基本上與乙太網連接的配置基本相同,不同點就是無線網路增加了SSID和密鑰的配置。
為Fedora/Linux操作系統建立xDSL撥號連接的步驟如下:
1.打開「c」工具(系統-管理-網路)。
2.選中「設備」面板,點擊「新建」。
3.在彈出的新窗口中選擇「無線連接」,點擊「前進」。
4.新出現在無線網卡列表中選擇你的無線網卡,如果沒有,則選擇「其它無線網卡」,點擊「前進」
◆說明:在安裝操作系統的過程中,系統會自動檢測並完成大多數無線網卡的配置,完成配置的網卡會出現在上述的設備列表中。對於沒有檢測到、無法完成配置以及之後添加的無線網卡,則可以通過選擇「其它無線網卡」,配置無線連接就完成了。
5.如果上一步選擇了「其它乙太網卡」,則會出現「選擇乙太網適配器」窗口,從中選擇你的無線網卡型號,並將它分配給指定的設備(eth0表示第一塊網卡,eth1為第二塊,依次類推),然後點擊「前進」。
6.在「配置無線連接窗口」,根據實現情況完成配置,然後點擊「前進」。
7.Linux操作系統下,在「配置網路設置」窗口,根據實際情況為網路介面配置好IP地址及DNS,完成後點擊「前進」。
8.出現「創建無線連接」頁面,點擊「應用」。
9.新添加的網路連接會出現在「網路配置」工具的設備列表中,點擊菜單「文件-保存」即完成了連接的創建。
網路連接添加完成之後,連接則會出現在設備列表中。從設備列表中選擇某個連接,然後點擊「編輯」即可打開連接配置窗口。
◆提示:為了使用方便,可以在連接配置窗口中勾選「當計算機啟動時激活設備」,點擊「確定」,這樣做可以避免每次計算機啟動之後都要人為的激活設備。
從設備列表中選中某個網路連接,還可以通過面板上的「激活」和「取消激活」按鈕更改介面狀態。
⑤ 安卓系統的內核怎樣查看,在系統的哪個文件夾
內核在設置裡面查看更多,用RE管理器進SYSTEM文件夾,裡面的APP文件夾就是所有手機里的軟體,手機ROOT後可以刪除任意軟體,不過如果刪了系統文件會出問題
⑥ 安卓系統內核在哪個文件夾
內核掛載在安卓一個單獨的分區中,
而你看到的哪些文件夾裡面是沒有的。
打個比方說,內核相當於在C盤,
而你能看到的那些文件夾什麼的在D盤。
要提取內核,有兩種方法,一個是在電腦上用安卓廚房之類的軟體提取固件中的內核。
一個是在手機上利用終端模擬器使用linux的命令來提取。
⑦ Android中的.config文件在哪兒
得到config之後,直接復制到你下載來的內核文件夾kernel下,更名為.config,打開終端,進入此目錄(假設你放在里你的home下,即~/kernel)運行make
arch=arm
menuconfig(arch=arm表示編譯的是arm平台的)
⑧ 如何編譯android kernel
1.准備工作: (ubuntu1110 32位)
ubuntu等linuxOS,下載好eclipse,安裝好JDK, 安裝好android的SDK, 在eclipse中成功打開android 手機模擬器即OK。
2.初始化編譯環境 :
關注該網頁上的「installing required packages」,其中有的軟體包因為版本問題而安裝不上,不用管它,之後遇到錯誤再單獨解決。
3.下載內核源碼:
android 2.3 內核 下載需要等待一段時間。
4.下載交叉編譯器:
該步驟有可能耗費大量時間,依據網速不同,幾個小時到幾天不等,或許可以嘗試git clone 後面的地址只下載prebuilt/linux-x86/toolchain
5.設置參數以及編譯:
$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-
$ cd goldfish // 進入下載的源代碼目錄
$ git checkout <commit_from_first_step> //這個步驟我沒有做,不知道幹嘛用的
$ make goldfish_defconfig
$ make
6.報錯信息:
若有報錯說找不到 (arm-eabi-gcc command not found)等等,嘗試使用http://blog.csdn.net/davidbeckham2901/article/details/7397447 中說到的解決方案即可(即採用另外一個交叉編譯器)。
7.測試:
最後,測試一下剛才編譯的內核:emulator -avd myavd -kernel ~/goldfish/arch/arm/boot/zImageemulator若系統找不到,可以去android SDK中某文件夾找到,加入系統PATH即可。 -avd後面的參數 myavd即為模擬器的名字,這個我是在eclipse中的模擬器管理中新建的一個模擬器,用那個模擬器的名字即可。 -kernel後面的參數就找到剛才編譯出的內核的路徑。
若啟動模擬器失敗,可嘗試關閉後再啟動。第一次啟動模擬器時可能需要等待比較長的時間,3分鍾到15分鍾不等。
⑨ android系統內核文件在哪裡
re文件管理器,root以後可以改系統文件
⑩ 如何向android添加內核驅動模塊
1,同目錄下的makefile,如
#
# Makefile for instrial I/O Magnetometer sensors
#
obj-$(CONFIG_SENSORS_AK8975) += ak8975.o
obj-$(CONFIG_SENSORS_HMC5843) += hmc5843.o
2,同目錄下的kconfig
#
# Magnetometer sensors
#
comment "Magnetometer sensors"
config SENSORS_AK8975
tristate "Asahi Kasei AK8975 3-Axis Magnetometer"
depends on I2C
help
Say yes here to build support for Asahi Kasei AK8975 3-Axis
Magnetometer.
To compile this driver as a mole, choose M here: the mole
will be called ak8975.
3,總的config(配置變數為Y)
各項目配置文件的位置不同,
coffee:kernel/arch/arm/configs/M7023Q-debug-perf_defconfig
juice:common/customer/configs
配置信息如下:
# CONFIG_CFG80211 is not set
CONFIG_EXPERIMENTAL=y
CONFIG_LOCALVERSION="$(KERNEL_LOCAL_VERSION)-perf"
CONFIG_SWAP=y
CONFIG_ZRAM=m
CONFIG_SYSVIPC=y
CONFIG_SENSORS_AK8975=y
......
查看變數是否在編譯時配置成功:
out/target/proct/m7023q/obj/KERNEL_OBJ/include/generated/Autoconf.h
查找CONFIG_SENSORS_AK8975
若在編譯時有配置成功,將找到這一行:
#define CONFIG_SENSORS_AK8975 1
4、修改板級文件:
4.0及後續項目統一在:kernel/arch/arm/mach-msm/board-qrd7627a.c
注意juice中,很多配置(如tp)寫在kernel/arch/arm/mach-msm/board-msm7627a-io.c
在代碼中增加新模塊的內容,應該有兩處,第一處設置函數和結構體,第二處實際調用,注意引用上述第3步新增的編譯開關將代碼限制起來。
這些內容大多可以拷貝其它模塊,但是名字要和driver中的相同,注意要改的地方除了名字之外,還有中斷腳和I2C腳。其中固定模塊的中斷腳大部分時候不會改變(如tp就是int:48,reset:26),除非板子的datasheet特別註明才需要改變。但是I2C腳是會隨著slaver device的改變而改變的,需要查清楚。
配置platform_data:
一般需要初始化一個xxx_platform_data結構體(這個結構體的聲明應該讓驅動文件可視,probe中才知道去讀某個platformdata.yyy),並在i2c_board_info結構體中用.platform_data指向它,然後這個i2c_board_info將在板級文件中被注冊(作為函數i2c_register_board_info()的參數)。而這個.platform_data很有可能在驅動的probe函數中調用到,例如:
static struct msg2133_ts_platform_data msg2133_platformdata= {
.irq = 0,
.reset = GPIO_TP_RESET,
};
static struct i2c_board_info i2c_info_msg2133_dpt = {
I2C_BOARD_INFO("msg2133", 0x27),
.platform_data = &msg2133_platformdata,
};
i2c_info_msg2133_dpt.platform_data->irq = gpio_to_irq(GPIO_TP_INT);//結構體初始化的時候只能以常量賦值,因為此處需要做GPIO到irq的映射,所以要在此處賦值。
i2c_register_board_info(MSM_GSBI1_QUP_I2C_BUS_ID, &i2c_info_msg2133_dpt, 1);
在驅動的probe中:pdata =client->dev.platform_data;
...... = pdata.yyy; ......//(msg2133_ts_platform_data在該文件中可見)