2017-10-17 78 views
0

我試圖構建我的主機系統體系結構(x86_64)的目標體系結構中的所有配方,以便能夠在x86_64環境中安裝這些RPM。在生成的RPM中控制體系結構

爲此,我只需設置MACHINE=genericx86-64並構建;但是,由此產生的RPM似乎將其架構設置爲core2_64。我想這與運行bitbake時報告的TUNE_FEATURES="m64 core2"有關(見下文)。

我該如何確保這些RPM最終爲x86_64,以便我的主機(RHEL7)接受它們?

Build Configuration: 
BB_VERSION  = "1.34.0" 
BUILD_SYS   = "x86_64-linux" 
NATIVELSBSTRING = "universal-4.8" 
TARGET_SYS  = "x86_64-poky-linux" 
MACHINE   = "genericx86-64" 
DISTRO   = "generic-panel" 
DISTRO_VERSION = "0.7" 
TUNE_FEATURES  = "m64 core2" 
TARGET_FPU  = "" 

# rpm -i xxx.core2_64.rpm 
package xxx.core2_64 is intended for a different architecture 

$ uname -a 
Linux localhost 3.10.0-693.2.2.el7.x86_64 #1 SMP Sat Sep 9 03:55:24 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux 
+0

我可以建議不要這樣做嗎?即使您將RPM轉化爲rpm接受的內容,RPM也不能保證與RHEL(或您使用Yocto創建的任何其他發行版)兼容或安全。 – jku

+0

@jku感謝你的擡頭。是什麼讓他們不適合使用RHEL?另外,你有任何建議的替代品? – aerkenemesis

+0

嗯,我並不是說它肯定無法工作,但軟件包會對操作系統和其他軟件包做出假設。無法保證即使Yocto和RHEL使用的軟件包名稱也匹配(因此您的軟件包可能依賴於在RHEL上找不到的軟件包,因爲名稱不同),更不用說軟件包的功能了。這是兩個不同的操作系統碰巧使用相同的封裝格式的問題。 – jku

回答

1

的解決方案是修改DEFAULTTUNE變量,所以我剛添加DEFAULTTUNE_genericx86-64 = "x86-64"到我local.conf