学习《Android源代码情景分析》第二章goldfish编译出现的问题和解决方法

在学习Android源代码情景分析第二章goldfish编译时出现的问题和解决方法

造成这些问题打主要原因是内核版本没有选择2.6,而使用的是goldfish3.4,而是对这些问题解决并分享给大家,希望能帮到大家

1.make menuconfig 进入界面


在Enable loadable module supprot选择false,这里按下N就可以,这个表示将编译到模块的方式编译,这里是要编译到内核,故不选择(选择有×,不选择没有×)。

2.选择Device Drivers进入界面


这里选择我们自己定义模块,Fake Register Driver,选中出现×。

3.init_MUTEX这个函数中内核2.6.16之后被废弃,这里用以下代码代替

改进:把init_MUTEX(&(dev->sem));

            改成

            sema_init(&(dev->sem),1);


4.linux/proc_fs.h中struct proc_dir_entry 没有owner这个成员变量(proc_fs.h在kernel/include/linux目录下)

改进:在linux/proc_fs.h中struct proc_dir_entry

            加入

            struct module *owner;


5.Kconfig的配置,这里我选择的是x86,这里只在drivers目录下的Kconfig中加入source "drivers/freg/Kconfig"




版权声明:本文为jian55661818原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。