Lichee(两) 在sun4i_crane该平台下编译
#!/bin/bash
set -e
buildroot/scripts/common.sh $@
也就是说。在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就会马上退出。
BR_DIR = buildroot
PLATFORM = sun4i_crane
cd ${BR_DIR} && ./build.sh -p ${PLATFORM}
if [ -x ./scripts/build_${PLATFORM}.sh ]; then
./scripts/build_${PLATFORM}.sh $MODULE
else
……
fi
export PATH=${CUR_DIR}/output/external-toolchain/bin:$PATH
if [ ! -e output/external-toolchain ];then
cd output
tar -jxf ../dl/arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
mv arm-2010.09 external-toolchain
fi
export PATH=${BR_OUT_DIR}/external-toolchain/bin:$PATH
cd ${KERN_DIR} && ./build.sh -p ${PLATFORM} -v ${VENDOR}
.........
if [ -x ./scripts/build_${PLATFORM}.sh ]; then
./scripts/build_${PLATFORM}.sh $MODULE
else
printf "\nERROR: Invalid Platform\n"
show_help
exit 1
fi
.........
小贴士:
因为比較关键,接下来通篇分析build_kernel()这个函数
build_kernel()
{
#假设没有配置过kernel 就运行cp arch/arm/configs/sun4i_crane_defconfig .config,就使用预设的配置
if [ ! -e .config ]; then
echo -e "\n\t\tUsing default config... ...!\n"
cp arch/arm/configs/sun4i_crane_defconfig .config
fi #编译standby模块
build_standby
#指定buildroot的工具链来make uImage
make ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} -j8 uImage modules update_kern_ver if [ -d output ]; then
rm -rf output
fi
mkdir -p $LICHEE_MOD_DIR #通过 buildroot/output/external-toolchain/bin/arm-none-linux-gnueabi-objcopy 命令生成 bImage文件
${OBJCOPY} -R .note.gnu.build-id -S -O binary vmlinux output/bImage
cp -vf arch/arm/boot/[zu]Image output/
cp .config output/ #拷贝重要文件夹下的模块文件*.ko 到 ${LICHEE_MOD_DIR} lichee/modules文件夹
for file in $(find drivers sound crypto block fs security net -name "*.ko"); do
cp $file ${LICHEE_MOD_DIR}
done
cp -f Module.symvers ${LICHEE_MOD_DIR}
#cp -f modules.* ${LICHEE_MOD_DIR} #copy bcm4330 firmware and nvram.txt
cp drivers/net/wireless/bcm4330/firmware/bcm4330.bin ${LICHEE_MOD_DIR}
cp drivers/net/wireless/bcm4330/firmware/bcm4330.hcd ${LICHEE_MOD_DIR}
cp drivers/net/wireless/bcm4330/firmware/nvram.txt ${LICHEE_MOD_DIR}/bcm4330_nvram.txt
cp drivers/net/wireless/bcm4330/firmware/mw269v3_fw.bin ${LICHEE_MOD_DIR}
cp drivers/net/wireless/bcm4330/firmware/mw269v3_nvram.txt ${LICHEE_MOD_DIR}
cp drivers/net/wireless/rtxx7x/RT2870STA.dat ${LICHEE_MOD_DIR}
cp drivers/net/wireless/rtxx7x/RT2870STACard.dat ${LICHEE_MOD_DIR}
}
echo "build uboot for ${PLATFORM}"
cd ${U_BOOT_DIR} && ./build.sh -p sun4i -v ${VENDOR}
make distclean && make -j4 sun4i CROSS_COMPILE=arm-none-linux-gnueabi-
else
make distclean && make -j4 $PLATFORM CROSS_COMPILE=arm-none-linux-gnueabi-
fi
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Lichee(两) 在sun4i_crane该平台下编译的更多相关文章
- WebKit 在 Windows 平台下编译小结
虽然WebKit 已经越来越多的被广大程序员接受,但其编译过程却非常之痛苦.下面将我编译WebKit 代码的经验与大家分享. 1) 获取WebKit 源代码 WebKit 源代码是使用Subversi ...
- xsocks 64位平台下编译问题小记
1.src/common/public.h uint32_t lpParameter 改为 void* lpParameter; 2.SocksMgr.cpp DWORD WINAPI CSocksM ...
- 实用图像处理入门 - 2 - Windows平台下编译openCV
标签中的部分 font-family: 华文细黑; font-size: 26px; font-weight: bold; color: #611427; margin-top:40px; } h2 ...
- 在MAC平台下编译Ngnix ,由于MD5算法不能编译通过 解决办法
近期想学习Ngnix 代码,前些日子,对”自己下手狠一次“, 买了MAC 本. 所以想在Mac 上编译,是必须的,不然对不起自己的内心. 不巧遇到了MD5算法编译的问题 src/core/ngx_cr ...
- Linux下编译静态MinGW环境,编译windows平台Qt程序(使用MXE)
参考链接: MXE.>大多数程序都是在windows平台下开发的程序.windows 在现实中也是绕不过的一个系统平台,做为受过几年VC,MFC”虐待”的程序员,在做为一个程序员之前是一位Lin ...
- Windows下编译objective-C
Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode 目录 ...
- DevEco Device Tool 2.1 Beta1 的Hi3861在Windows平台的编译体验
DevEco Device Tool迎来了2.1 Beta1,其中的亮点之一是:支持Hi3861开发板的源码在Windows平台编译.带着浓厚的兴趣,第一时间做了一次体验. 首先在官网下载" ...
- 009全志R16平台tinav3.0下编译不过的问题
009全志R16平台tinav3.0下编译不过的问题 2018/11/13 11:39 版本:V1.0 开发板:SC3817R SDK:tina v3.0 1.01原始编译全志r16平台tinav3. ...
- windows平台下安装、编译、使用mongodb C++ driver
本博客将记录在Win8.1 ,VS2013环境下编译.配置mongodb C++ driver的流程. 1.下载预备 下载Boost:http://sourceforge.net/projects/b ...
随机推荐
- 编译x64的应用,要在pro文件里配置
在pro中使用:contains(QMAKE_TARGET.arch, x86_64) { TYPE = 64 QTDIR = C:/Qt/5.5/msvc2013_64} else { ...
- [置顶] strcpy和memcpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点. strcpy提供了字符串的复制.即strcpy只用于字符串复制,并且它不仅复制字符串内容,还会复制字符串的结束符. 已知strcpy函数 ...
- Mac下添加java环境变量
2015年4月22号更新: 发现一个坑:最近发现有同事按照本文方式配置jdk环境变量一直不成功,后来发现他是使用了“Oh-My-Zsh”,配置文件的路径不是/etc/profile或~/.bash_p ...
- BAPI总的数据库提交和回滚
BAPI事物中的数据提交和回滚必须通过调用SAP标准业务对象BAPI SERVICE(对象类型SAP0001)的BAPI方法bapiservic.transactioncommit和bapiservi ...
- vc 按钮自绘
按钮自绘,将按钮区域分成三部分,左边.右边.中间都由贴图绘制,可用于手动进度条按钮,或者左右选择项按钮 cpp代码部分: // LRSkinButton.cpp : implementation fi ...
- hdu 4055 Number String(有点思维的DP)
Number String Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- ORACLE 更改username
曾经一直常常改动oracle的用户password,但非常少改动username的. 曾经仅仅能创建一个用户1.然后将用户2数据导入到用户1.然后经用户1删掉,这样很麻烦并且耗时,今天就整理了下怎样改 ...
- OMR数据查询
查询 1.查询所有的. var query = from p in _Context.Info select p; var query = _Context.Info; 2.单条件查询 等值查 var ...
- 查看进程所用的内存(使用GetWindowThreadProcessId取得进程ID,OpenProcess打开进程和GetProcessMemoryInfo取得内存信息)
// function GetProcessMemorySize(_sProcessName: string; var _nMemSize: Cardinal): Boolean; var l_nWn ...
- span标签可以使用hide()方法隐藏吗?
/获取li下的span var $span = $('ul.selector li span'); //span对象隐藏 $span.hide(); //或者 $span.css('display', ...