这篇文章不涉及任何可以用apt-get补全的环境问题,假设已经拿到源码包,然后解开,主要分享一种解决问题的思路.
源码结构如下.
. ├── brandy │ ├── build.sh │ ├── gcc-linaro │ └── u-boot-2011.09 ├── buildroot │ ├── board │ ├── boot │ ├── CHANGES │ ├── Config.in │ ├── configs │ ├── COPYING │ ├── dl │ ├── docs │ ├── external-packages │ ├── fs │ ├── linux │ ├── Makefile │ ├── package │ ├── README │ ├── scripts │ ├── target │ └── toolchain ├── build.sh ├── clean.sh ├── linux-3.4 │ ├── android │ ├── arch │ ├── block │ ├── COPYING │ ├── CREDITS │ ├── crypto │ ├── Documentation │ ├── drivers │ ├── e_build.sh │ ├── firmware │ ├── fs │ ├── include │ ├── init │ ├── ipc │ ├── Kbuild │ ├── Kconfig │ ├── kernel │ ├── lib │ ├── MAINTAINERS │ ├── Makefile │ ├── mm │ ├── modules │ ├── net │ ├── output │ ├── README │ ├── REPORTING-BUGS │ ├── rootfs.cpio.gz │ ├── samples │ ├── scripts │ ├── security │ ├── sound │ ├── tinyandroid.tar.gz │ ├── tools │ ├── usr │ └── virt ├── README └── tools ├── daily_build ├── doc ├── pack └── tools_win
根据全志的惯例来说,先需要配置,然后编译,然后全部就完成了(如果是这么顺利的话,也没这篇文章了.)
配置(第二个应该选哪个我不是很懂,不过听说A20时候都是选dragonboard的,我就试试吧.):
然后开始编译,直接运行build.sh开始.
发生了第一个错误,找不到文件.
到目录下看看,是目录都没创建出来,还是其他原因呢?
发现他指向了一个不知道什么位置,看起来/disk3/kfb-share/a80应该对应我们的源码目录了,认为他可能是个关键字,搜索这个关键字.找到以下文件.
find . -type f | xargs grep kfb-share # 中间省略 ./linux-3.4/modules/rogue_km/binary_sunxi_android_release/config_kernel.mk # 中间省略
可见释放这份代码还没怎么检查过就拿来用了.替换到我们正确的目录.(你的跟我的不一定是一样的.)
然后删除刚才生成的所有文件(出于安全起见可以先挪到tmp目录,万一出错还可以挪回来,当tmp目录是回收站来用.),删除的目标是箭头所示的目录.
再来一次就编译成功了?
下一节再说怎么烧录测试下,估计还有很多BUG.或者很多需要修复的地方.
PS:这里明显看到什么exec format error?什么鬼,下次要细细分析流程了?