lfs构建嵌入式Linux系统

embedded-lfs代表embedded linux from scratch,也就是从头构建一个嵌入式Linux系统,不过它与标准LFS没有太大关系,只是借用了LFS这个名称而已。要说构建嵌入式Linux系统,openembedded相关项目应该是最有名的,不过它做得太复杂,如果不出问题,用起来很方便,但是一旦出点问题,就不知怎么去搞了。玩了一次,总是出问题,让我很沮丧,后来在华清远见上课时,自己整了一个embedded-lfs。embedded-lfs非常简单,当然功能也要弱一些,对于只想玩玩的初学者还是有帮助的。

o 下载embedded-lfs
svn checkout embedded-lfs-read-only

o 创建一个名为xxxx_env.sh的脚本文件。
这里的xxxx代表板子的名称,比如为pxa300写的pxa300_env.sh内容如下:

unset TOOLCHAIN_PREFIX export BOARD_NAME=pxa300 export TOOLCHAIN=/usr/local/arm-linux-4.1.1   . env.sh arm $1 export CFLAGS=$CFLAGS" -mcpu=xscale -fno-strict-aliasing"

这里主要是设置板子的名称和工具链的位置,和一些额外的编译选项。有三个缺省的脚本文件:

openmoko_env.sh 为openmoko手机编译 pxa300_env.sh 为marvell的pxa300编译。 x86_env.sh 编译x86的版本,可以虚拟机里测试。

o 修改软件包配置文件

配置文件里的每一项描述一个软件包,同一个软件包可以有多个项,会自动合并起来。如zlib的描述:

[zlib] config-env = export CC=$(TARGET_CC) PREFIX=$(PREFIX) config-cmd = configure config-param= --prefix=$(PREFIX) --shared url =

config-env指定在configure之前要设置的环境变量。
config-cmd指定configure时执行的命令。
config-param指定configure时的参数。
url则是用来下载软件包的位置。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwpdyw.html