得到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在该文件中可见)