在 bitbake meta-toolchain 之后,安装工具链包的脚本位于
$ ls tmp/deploy/sdk/poky-eglibc-x86_64-arm-toolchain-1.4.1.sh
tmp/部署/sdk/poky-eglibc-x86_64-arm-toolchain-1.4.1.sh
为了安装它:
$ 源 poky-eglibc-x86_64-arm-toolchain-1.4.1.sh
[sudo] daiane 的密码:
输入 SDK 的目标目录(默认值:/opt/poky/1.4.1):
您即将把 SDK 安装到“/opt/poky/1.4.1”。继续[Y/n]?y
提取 SDK...完成
设置完毕...完成
SDK 已成功设置并可供使用。
$ 源/opt/poky/1.4.1/environment-setup-armv7a-vfp-neon-poky-linux-gnueabi
$ cd ~/test/
$ arm-poky-linux-gnueabi-gcc helloworld.c
$ ls
a.out helloworld.c
$./a.out
-bash:./a.out:无法执行二进制文件
$文件a.out
a.out:ELF 32 位 LSB 可执行文件,ARM,版本 1(SYSV),动态链接(使用共享库),适用于 GNU/Linux 2.6.16,没有被剥去
$ 源/opt/poky/1.4.1/environment-setup-armv7a-vfp-neon-poky-linux-gnueabi
$ cd linux-2.6-imx
$ git checkout remotes/origin/imx_3.0.35
$ export ARCH=arm
$导出CROSS_COMPILE = $TARGET_PREFIX
$ 取消设置 LDFLAGS
$ make imx6_defconfig
$ make uImage
确保 bin patch 上有可用的 mkimage(如果使用 u-boot 中的 mkimage,请导出其补丁)
或者,下载 ubuntu 包:
sudo apt-get 安装 uboot-mkimage
更新
您可能会发现以下错误:
OBJCOPY arch/arm/boot/zImage
内核:arch/arm/boot/zImage 已准备就绪
多个(或无)加载地址:
这与 uImages 不兼容
在命令行上指定 LOADADDR 来构建 uImage
make[1]: *** [arch/arm/boot/uImage] 错误 1
make: *** [uImage] 错误 2
这是关于 mkimage 缺少 LOADADDR 的问题,mkimage 使用该 LOADADDR 来生成具有正确偏移量的 uImage,并将其放置在正确的 LOADADDR 中。
地址值取决于您的硬件!并且它根据 imx6 的变化而不同。因此请注意您的正确价值是什么。
例如,如果您使用的机器在 yocto project/meta-fsl-arm 中受支持,您可以在文件conf/machine/include/imx-base.inc或此处在线找到与您的主板相关的值meta-fsl-arm - 包含 Freescale ARM 硬件支持元数据的层
它与变量中使用的值相同 UBOOT_ENTRYPOINT.
例如,在撰写本文时,对于 Freescale SABRE-SD 板,请查看 conf/machine/include/imx-base.inc
UBOOT_ENTRYPOINT_mx6 = "0x10008000"
因此构建命令将是:
$ make uImage LOADADDR=0x10008000
So, as a quick reference table, I point here the 3 most wanted make command lines:
imx28evk:
$ make LOADADDR=0x40008000
imx53qsb:
$ make LOADADDR=0x70008000
imx6qsabresd:
$ make LOADADDR=0x10008000
Update 2
构建基于自动工具包的包。例如
$ 源/opt/poky/1.4.1/environment-setup-armv7a-vfp-neon-poky-linux-gnueabi
$./configure${CONFIGURE_FLAGS}
$ make
$ make install
CONFIGURE_FLAGS 是取决于您自己的项目的变量。
(来自此处:无访问权限)
要完成编译内核的操作,您还需要:
(编译模块)
make modules LOADADDR=0x10008000
(安装模块)
使模块安装 INSTALL_MOD_PATH=$TARGETDIR
对于 3.10.17 您还需要:
make ARCH=arm imx6q-sabresd.dtb
那么您需要在 SD 上部署:
在启动分区中复制 uImage 和 .dtb
在 FS 中您需要复制模块 lib 目录、system.map 和 Uimage....
如果我做错了什么或者忘记了什么,请纠正我。
奥马尔
只需“git pull”。如果您在本地完成了一些提交,此命令实际上将创建一个“合并提交”。
好吧,也许这是一个简单的问题,但是我怎样才能同步内核的 git 克隆呢?
git pull [某事?]
谢谢
奥马尔
你好francpalm ,请考虑LeonardoSandovalGonzalez的回复。
如果您还有疑问,请在 imx-community 上创建一个新线程并分享您的任何日志消息。
文档上的评论必须经过批准(每条评论),因此我们可以更快、更轻松地关注线索,而不是回复文档的评论。
如果你愿意的话你可以在你的新帖子中提到我
fsl-image-test 应该包含该工具。要进行任何代码更改,您必须使用 git 或 quilt 创建补丁。一旦拥有它,您必须将其复制到 imx-test 配方所在的路径,并修改配方以将其包含在内。有几份文档解释了这一步骤。如果您要做多个补丁,最好的方法是创建一个新层(源上的新文件夹)或者从原始层分叉您自己的 git repo 并创建您想要的任何提交。我认为信息太多了,所以首先尝试第一个建议。
Leo
我解决了在没有命令源的情况下安装工具链的问题,只需使用以下命令执行脚本:
$ ./poky-eglibc-i686-arm-toolchain-1.4.2.sh
对于 memtool 问题,我没有烘焙 fsl-*image,而只烘焙了 core_image_base。
我将尝试烘焙fsl-image-test ,已经安装 memtool 是否正确?
我还有一个问题:我需要修改一些引脚/焊盘分配,我在文件中找到了宏:
构建/tmp/sysroots/imx6qsabresd/usr/src/kernel/arch/arm/mach-mx6/board-mx6q_sabresd.h
并在文件中:
/media/francesco/DATI/yocto-bsp/build/tmp/work/imx6qsabresd-poky-linux-gnueabi/linux-imx/3.0.35-r37.14/git/arch/arm/mach-mx6/board-mx6q_sabresd.h
修改正确的标题是什么?
谢谢!
Hi Francesco,
我不确定您在采购时遇到了什么错误。“memtool” 已在 /unit_tests 上安装(如果您已经烘焙了任何 fsl-* 图像)。小心使用该工具,你可以在任何地方进行 R/W ![]()
Leo
操作
http://git.freescale.com/git/cgit.cgi/imx/meta-fsl-bsp-release.git/
请与您当地的 FSL 代表联系。笑脸
您需要与当地的 FSL 代表联系。只有他可以启动该流程,让您可以访问 alpha 版本。
“FSL 已发布了仅支持 HFP 的 imx6 alpha 版本”!!!!!一切都会好起来的。基于这个 alpha 版本,我们可以做更多的移植。
你能帮我告诉我在哪里可以获得这个 alpha 版本吗?
太感谢了
“FSL 发布支持 hardFP 的分支”是什么意思?
计划是 meta-fsl-arm 在下一个稳定版本的代码冻结*之前*发布它,计划代码冻结时间为 9 月 6 日,下一个稳定版本的发布时间为 10 月的某个时间。
FSL 仅发布了支持 HFP 的 imx6 alpha 版本。我不知道飞思卡尔下次发布其他产品的官方日期。
我希望你明白 meta-fsl-arm 来自社区,而不是来自飞思卡尔。飞思卡尔在 meta-fsl-arm 上所做的工作是为了支持社区并为项目做出贡献。
Dear Daiane,
1,
今天跟随你们行会去测试下一个分支。
这是我的步骤:
$ ./repoinit -u https://github.com/Freescale/fsl-community-bsp-platform-b master(在我使用“-b dylan”之前)
$ ./repo同步
进入 source/meta-fsl-arm 目录:
$ git 分支
$ git checkout -b freescale/master-next -b master-next
(对吧?为什么有两个“-b”?)
然后,设置环境和bitbake fsl-image-test 。我花了几个小时来构建和安装。
除了“在我的 64 位 Ubuntu PC 上安装 apt-get install python 以完成编译”之外,一切顺利。
正如我所说,我想要的是支持 hardFP 的 imx6-linux-BSP。
当我下载主机时,我检查文件“imx-base.inc”,我没有看到任何关于“浮点设置”的功能,但我可以在 master-next 中找到它。
+# 浮点设置
+DEFAULTTUNE_mx6 ?= "cortexa9hf-neon"
+
是不是因为你评论说:“master-next 仍在测试中,尚未合并到 master 上”???
你能告诉我何时完成包含 hardFP 选项的 master-next 测试吗?
以及何时发布支持 hardFP 的分支。
2,
感谢您教我如何从图像中删除 PKG。
我仍在研究、理解并需要对“DISTRO_FEATURES”进行更多测试。
定制 rootfs 对我来说非常重要。对于我来说,使用 LTIB 工具很容易。
但是使用 YP 不容易定制 rootfs,例如,我需要将 gst-bad 插件添加到我的图像中。
我发现我必须在 local.conf 文件中列出许多字符串。或者使用 GUI hob 选择一些引用 gst-plugins-bad 的东西,
重建图像,hob GUI 显示一些错误 MSG 并且无法重建图像。
也许,我需要更多的测试和尝试,您能否分享更多关于定制 rootfs 的建议?
非常感谢
B.M.
Dear Daiane ,
感谢您的回复。
我现在将通过关注你的公会来测试它。
顺便说一句,使用 yocto 项目定制 rootfs 对我来说似乎并不容易。
YP 有其规则和细节。和 YP 相比,LTIB 是一个简单的工具(也许我已经熟悉它了)
还有一个问题,请问FSL什么时候发布支持hardFP的分支?
非常感谢
B.M.
谢谢:smileygrin:
1) 为了*删除* X11,您必须知道 poky.conf 发行版的默认设置是启用 wayland 和 x11。所以您需要使用另一个 DISTRO_FEATURE。最后,您将创建*您的*发行版来完成您的项目,但到目前为止,仅用于测试,您可以在 local.conf 上设置 DISTRO_FEATURE。
查找当前的 DISTRO_FEATURE:
$ bitbake -e | grep ^DISTRO_FEATURE
复制那个丑陋的字符串并*删除*你不想要的内容(wayland 和 x11)
将新字符串放在 local.conf 上。
2)为了下载 master-next,开始下载 master(repo init -u
然后转到 source/meta-fsl-arm 并:
$ git branch -a (查找 master-next 分支)
$ git checkout -b freescale/master-next -b master-next
然后您可以源设置-lalalalalal 构建和您的 bitbake 命令。
Dear DaianeAngolini
谢谢您的回复。您总是那么友善地询问所有问题。并且您有时间表的“计划”。
好的,我的项目是关于让 JAVA SE 在我们的imx6 Linux平台上运行。(并且我们与 Oracle 合作。Oracle 拥有“JAVA SE”的移植责任。)
但我们需要支持 hardFP 并在我们的 IMX6 bsp 中保持 hardFP 启用。(并且应该启用 openGL ES 和帧缓冲区,应该删除 X11!)
所以,当然毫无疑问。如果您能帮助我设置环境并测试 hardFP,那将是一件非常棒的事情,我非常高兴。
接下来我该怎么做?我需要为这个主题创建另一个帖子吗?
期待您的回复。
非常感谢你。
B.M.
meta-fsl-arm,*今天*是所有主板的 SFP,imx5、imx28、imx6。我们*目前*不支持硬 fp。
但是,如果你看一下 meta-fsl-arm 的 master-next 分支,你会看到这个提交meta-fsl-arm - Layer 包含 Freescale ARM 硬件支持元数据
这是仅包含对 imx6 的 hfp 支持的提交。它位于 master-next 上,因为它正在测试中。一旦测试通过,它将被合并到主版本上。
sfp/hfp 与 yocto 能做什么或不能做什么无关。meta-fsl-arm 使用来自 Freescale 的所有软件包,并且某些软件包仅以二进制文件形式提供。并且仅在最新的 imx6 上,这些包才以 hfp 和 sfp 的形式发布。
如果您想帮助测试(那就太好了)我可以帮助您设置环境。
Dear DaianeAngolini DaianeAngolini
这个任务教我如何使用创建的工具链来构建一些东西。
我可以问你一些关于 hardFP 的问题吗?
1,我可以认为这个工具链是基于硬浮点的吗?
应用程序“helloworld.c”并且构建的内核是基于hardFP的吗?
2,我已经完成了你写的主题“如何为i.MX6测试Yocto”。
我可以认为 yocto 项目中编译的所有“rootfs、kernel u-boot”都是基于 hardFP 的吗?
我说得对吗?纠正我?
我真正需要的是,我需要我的 IMX6 BSP 支持 hardFP。
据我所知,LTIB 仅支持 softFP 工具链。
您能否给我一些建议,如何让我的 IMX6 bsp 支持 hardFP 并保持 hardFP 启用?
非常感谢。
BM
毫无头绪,Leo。
找到原因了吗?sh 版本?
Leo
在 Fedora 17 x86_64 上,source poky-eglibc-x86_64-arm-toolchain-1.4.1.sh 不起作用。该脚本必须直接执行。我为此付出了惨痛的代价才明白这一点。
这是故意的。您无法在 i686 主机上运行 ARM 文件 ![]()
Diaiane,
上面的 Hello World 输出显示错误?
“ -bash:./a.out:无法执行二进制文件”
这是打字错误还是故意的?
Ad.