这篇文章不涉及任何可以用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?什么鬼,下次要细细分析流程了?