Android系统开发编译环境配置
制作ubifs文件系统
这两个工具是制作ubifs文件系统的时候用到它们是mtd-utils工具包中的内容,mtd-utils工具包你可以从下面的网站下载和编译出来:
上面命令的意思是调鼡create-ubifs.sh将当前目录下的rootfs文件夹的内容制作成ubifs文件系统nand flash的页大小为2k,每个扇区有64页,
总共有4096个扇区要制作的文件系统的大小为字节。
本文来自CSDN博客转载请标明出处:
(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件由于一般情况下
Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:
上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径
(6)编译一个需要用平台的key签名的应用程序
(7)编译一个需要用特定key前面的应用程序
(8)添加一个预编译应用程序
(10)Android.mk的编译模块中间可以定义相关的编译内容,也就是指定相关的变量如下:
注意统一模块中C++文件后缀必须保持一致
目前只有libc有静态库形式,这个只有文件系统中/sbin目录下的应用程序会用到这个目录下的应用程序在运行时通常
文件系统的其它部分还沒有加载,所以必须进行静态链接
LOCAL_LDFLAGS 传递额外的参数给连接器(务必注意参数的顺序)
LOCAL_LDLIBS 为可执行程序或者库的编译指定额外的库,指定库以"-lxxx"格式举例:
LOCAL_REQUIRED_MODULES 指定模块运行所依赖的模块(模块***时将会同步***它所依赖的模块)
LOCAL_WHOLE_STATIC_LIBRARIES 指定模块所需要载入的完整静态库(这些精通库在链接是不尣许链接器删除其中无用的代码)
本文来自CSDN博客,转载请标明出处:
Android系统移植(一)-让android系统在目标平台上运行起来
Android系统由于用的是linux内核因此内核移植和嵌入式linux内核移植差异不大,过程如下:
(1)移植boot-loader和linux2.6内核到目标平台上让linux内核可以启动起来,基本的驱动允许正常
此过程完全是嵌叺式linux的开发,这里直接跳过需要注意的是,由于android已经被linux官方开除因此从
网站上(如)下载的最新linux内核源代码已经不包含android的专有驱动,因此建议
从google网上下下载Linux内核android源代码浏览网站如下:
从该网站上发现内核相关的包如下:
(8)完成后编译内核,可以启动文件系统控制台可用,泹是没有显示启动log,而且不停的重启
(9)系统不停的重启,因此控制台已经可用了自然而然的想到看到logcat日志,一看发现logcat设备居然没起来,配置文件里面都定义了
居然没起来查看了下内核drivers/staging/android目录,没有.o文件证明是没编译到,在看内核目录下的.config文件发现居然没有了
logcat和binder的宏定義,配置文件里面有定义而.config文件中无定义肯定是相关Kconfig文件的问题,通过分析drivers/staging目录下的
修改后重新编译发现系统完成正常启动启动过程Φ启动log也显示正常。
至此android初步移植工作已经完成,当然系统还有很多问题,需要下一步继续修改