2017-07-27 35 views
0

最近我開始使用yocto-project爲樹莓-pi構建圖像。 我在我的ubuntu主機上的一個名爲yocto_project的目錄下克隆了poky和meta-raspberrypi。使用source oe-init-build-env rpi-build啓動構建。 我創建了rpi-basic-image的第一張圖片,這是一次成功的嘗試。爲RPi3構建一個yocto圖像

啓動RPi與圖像我得到了一個基於CLI的界面,但問題是很少有命令丟失。默認情況下知道所有軟件包都沒有與圖像結合,我們需要手動添加它,例如systemd。

如果我運行bitbake-layers show-recipes,我會列出所有可用於RPi的食譜。所以我在網上閱讀了一些文檔後添加了文字IMAGE_INSTALL_append = " systemd"來追加systemd。在此之後,我bitbake rpi-basic-image得到錯誤爲ERROR: Nothing RPOVIDES 'systemd' (but /path_to/rpi-basic-image.bb RDEPENDS on or otherwise requires it) ERROR: systemd was skipped: 'systemd' not in DISTRO_FEATURES ERROR: Required build target 'rpi-basic-image' has no buildable providers

不知道爲什麼我得到這個錯誤。如何解決它。我也必須使用build/local.conf手動添加這些軟件包/配方來獲取所有命令。 需要一個很好的解釋/指導。

回答

1

Selecting an Initialization Manager - Yocto Development Manual

DISTRO_FEATURES_append = " systemd" 
VIRTUAL-RUNTIME_init_manager = "systemd" 

您可以在local.conf設置這些變量。

+1

謝謝,這沒有給出錯誤。現在正在進行構建過程。 – user7345878

+0

如果在某種程度上仍存在sysvinit,那麼還需要鏈接'DISTRO_FEATURES_BACKFILL_CONSIDERED =「sysvinit」'這一行。 – h0ch5tr4355

+0

您也可以添加'VIRTUAL-RUNTIME_initscripts ='「'行,它會刪除/etc/init.d中的文件。 – PierreOlivier