broadcom bcm963xx编译过程认识broadcom bcm963xx编译过程认识
一、通用编译步骤:
1,编译/删除 linux内核
make PROFILE=w150dv3 kernel/kernel_clean
2,编译/删除 用户空间
make PROFILE=w150dv3 userspace/userspace_clean
3,编译/删除 单个模块(httpd)
make -C userspace/private/apps/httpd/ make -C userspace/private/apps/httpd/
clean...
broadcom bcm963xx编译过程认识
一、通用编译步骤:
1,编译/删除 linux内核
make PROFILE=w150dv3 kernel/kernel_clean
2,编译/删除 用户空间
make PROFILE=w150dv3 userspace/userspace_clean
3,编译/删除 单个模块(httpd)
make -C userspace/private/apps/httpd/ make -C userspace/private/apps/httpd/
clean
make buildimage(生成image)
4,整体编译
make PROFILE=w150dv3 WL=IMPL10(指定无线编译模块)
了解了make过程后的提高效率的几点建议:
?编译同一个PROFILE时,第一次指定PROFILE=w150v3后,可以不用再输入如“make PROFILE=w150dv3 WL=IMPL10”编译了,可以直接输入"make",省略“PROFILE=w150d”; ?内核与用户空间分开编译(只修改了哪边就编译哪边)
第一次:make PROFILE=w150dv3 WL=IMPL10(整体编译)
在用户空间的修改(如修改了usb,http等应用):
第二次:make userspace(应用层编译)
设置了"make menuconfig"
第三次:make kernel(内核编译)
只针对一个应用的编译(如http 部分cgi)
第四次:make -C userspace/private/apps/httpd(只编译httpd)
?单独编译(kernel,userspace or httpd)后需要重新生成镜像
make buildimage
二、编译的一些细节(make脚本分析):
1,读入编译命令(PROFILE + make command) make all
make clean
make PROFILE=w150dv3 kernelbuild make PROFILE=w150dv3 userspace make PROFILE=w150dv3
make pROFILE=w150dv3 userspace_clean make PROFILE=w150dv3 clean
解析过程:
1,从make.common中解析PROFILE(编译分支)
?读出PROFILE=xxx 的参数
profile_defined_check:
检查PROFILE参数是否为空(通常是第一次编译时没有指定profile)
profile_changed_check:
判断PROFILE是否改变,若原来的profile为空,则写入profile(如w150dv3)到.last_profile;
若新的profile与lastprofile不一致,则提示rebuild。
若无参数(如直接make)
则读取.last_profile文件的内容,将其作为PROFILE的值。(无.last_profile则报错)
?读后面那个参数(如userspace)
makefile会根据读到的参数执行相应的makefile命令
2,下面说下各个参数执行的过程(省略一些检查的过程)
a,空(无参数)
默认会执行all
b,all
create_install kernelbuild modbuild kernelbuildlite fapbuild userspace
gdbserver vodsl hosttools buildimage
c,kernelbuild
d,kernel
create_install kernelbuild hosttools buildimage
e,userspace
create_install data-model
?create_install:装载安装目录
mkdir -p $(PROFILE_DIR)/fs.install/etc
mkdir -p $(INSTALL_DIR)/bin
mkdir -p $(INSTALL_DIR)/lib ?kernelbuild:编译内核
?modbuild:编译模块
?userspace:编译用户空间
?gdbserver:编译dgb服务器,用于调试
?hosttools:tools running on the host to build image编译(创建image需要的)工具
?buildimage:创建image镜像
?data-model:编译数据模块(userspace使用)
3,文件clean
?clean (总的clean)
target_clean bcmdrivers_clean data-model_clean userspace_clean kernel_clean
hosttools_clean voice_clean xchange_clean wlan_clean
?kernel_clean清除内核
?userspace_clean:清除userspace应用层
?target_clean:删除指定PRFILE目录下的一些镜像文件,如bcmw150dv3_fs_kernel等
?bcmdrivers_clean:清除驱动
本文档为【broadcom bcm963xx编译过程认识】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。