arm-poky-linux

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

arm-poky-linux

Jump to solution
3,751 Views
luoyaojun
Contributor II

官方bitbake生成的新toolchain必须使用$CC来使用toolchain了? 无法再像老版本生成的toolchain一样直接使用arm-poky-linux-gnueabi-gcc -o a a.c来编译文件了?

另外: bitbake生成的toolchain无法用于编译buildroot? 有人成功使用arm-poky-linux-gnueabi-gcc编译过buildroot吗?在buildroot中正确配置了nxp的toolchain后报错:Unable to detect the toolchain sysroot, Buildroot cannot use this toolchain. 因为nxp的toolchain路径不符合buildroot要求。

Labels (3)
0 Kudos
1 Solution
3,537 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Yaojun,

首先,从yocto里导出来的tool chain是标准的编译工具链,只是在为了支持单机操作方式,在工具链中,都配置好一个环境配置脚本,只要在u-boot/kernel单机编译前,用source运行一下这个环境脚本,就给你配置好了。

其次,你要让buildroot找到编译的工具链路径,你要仔细地给bootroot配置一下,一般tool chain安装的路径都在/opt/下,路径配置对了,应该是没问题的。

【注释】

一般来说有些工程师不使用yocto,而要使用buildroot,可能是担心yocto编译时间太长,不方便。但是,如果你熟悉了yocto之后,速度也是非常快的。 以下给你参考:

1. 使用Yocto时,你可以这样做:

一般来说,rootfs编译一次就不用在编译了。对于移植来说,重要的是修改u-boot和device tree。

修改完u-boot和修改完device tree,可以这样做:

---bitabke u-boot-imx -f -c compile

---bitbake u-boot-imx -f -c deploy

---bitabke linux-imx -f -c compile

---bitbake linux-imx -f -c deploy

这样时间不长,你修改好的u-boot和device tree(包括内核)都会到image里,然后你就可以烧写了。

2. 单机模式

--按照linux文档(user's guide 或者porting guide)的方法,建立u-boot和kernel 源码路径。

--导出来编译工具链

--修改u-boot、deivce tree做移植。

用传统方法编译u-boot和内核,单独编译dts,可以用make dtbs。

这样的话,过程就是这样的:

u-boot,dts,kernel用单机模式

rootfs用yocto编译一次即可。

Have a nice day!

B.R,

weidong

View solution in original post

0 Kudos
3 Replies
3,538 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hi Yaojun,

首先,从yocto里导出来的tool chain是标准的编译工具链,只是在为了支持单机操作方式,在工具链中,都配置好一个环境配置脚本,只要在u-boot/kernel单机编译前,用source运行一下这个环境脚本,就给你配置好了。

其次,你要让buildroot找到编译的工具链路径,你要仔细地给bootroot配置一下,一般tool chain安装的路径都在/opt/下,路径配置对了,应该是没问题的。

【注释】

一般来说有些工程师不使用yocto,而要使用buildroot,可能是担心yocto编译时间太长,不方便。但是,如果你熟悉了yocto之后,速度也是非常快的。 以下给你参考:

1. 使用Yocto时,你可以这样做:

一般来说,rootfs编译一次就不用在编译了。对于移植来说,重要的是修改u-boot和device tree。

修改完u-boot和修改完device tree,可以这样做:

---bitabke u-boot-imx -f -c compile

---bitbake u-boot-imx -f -c deploy

---bitabke linux-imx -f -c compile

---bitbake linux-imx -f -c deploy

这样时间不长,你修改好的u-boot和device tree(包括内核)都会到image里,然后你就可以烧写了。

2. 单机模式

--按照linux文档(user's guide 或者porting guide)的方法,建立u-boot和kernel 源码路径。

--导出来编译工具链

--修改u-boot、deivce tree做移植。

用传统方法编译u-boot和内核,单独编译dts,可以用make dtbs。

这样的话,过程就是这样的:

u-boot,dts,kernel用单机模式

rootfs用yocto编译一次即可。

Have a nice day!

B.R,

weidong

0 Kudos
3,537 Views
18335964876
Contributor I

您好,可否分享一下arm-poky-linux-gnueabi-编译链的包呀,找了好久找不到这个编译链的安装包

0 Kudos
3,537 Views
luoyaojun
Contributor II

非常感谢您的回复。

新版本bitbake生成的toolchain在一个复杂的、有多个编译器的开发系统上似乎不是很友好,不如以前的方式(在要使用对应的交叉编译工具的时候直接通过宏指定)。

另外,我希望使用buildroot是因为uuu刷机工具可以直接烧录emmc.img。 而在bitbake中没有找到关于制作emmc.img的方法,而buildroot中有个genimage可以实现,所以才想未来使用nxp的toolchain+buildroot来制作rootfs(有一些系统命令或一些个性化定制增删可能需要多次修改文件系统)。关于emmc.img的疑问现在也没解决。详见:nxp uuu工具 

0 Kudos