Open m-tmatma opened 5 years ago
raspberrypi3 meta-raspberrypiでuartコンソール
http://mickey-happygolucky.hatenablog.com/entry/2016/12/18/111911
次の行をlocal.confの先頭の方に追加する。
MACHINE ?= "raspberrypi3"
DL_DIR ?= "${HOME}/work/yocto/downloads"
ENABLE_UART = "1"
meta-rpi/conf/bblayers.conf-sample
${HOME}/poky-krogoth/meta \
${HOME}/poky-krogoth/meta-poky \
${HOME}/poky-krogoth/meta-openembedded/meta-oe \
${HOME}/poky-krogoth/meta-openembedded/meta-multimedia \
${HOME}/poky-krogoth/meta-openembedded/meta-networking \
${HOME}/poky-krogoth/meta-openembedded/meta-python \
${HOME}/poky-krogoth/meta-qt5 \
${HOME}/poky-krogoth/meta-raspberrypi \
${HOME}/rpi/meta-rpi \
export DL_DIR=${HOME}/poky/downloads
export MACHINE=raspberrypi3
source oe-init-build-env build-rpi
tsuchiyama@ubuntu1804:~/poky/build-rpi$ bitbake-layers show-layers
layer path priority
==========================================================================
meta /home/tsuchiyama/poky/meta 5
meta-poky /home/tsuchiyama/poky/meta-poky 5
meta-yocto-bsp /home/tsuchiyama/poky/meta-yocto-bsp 5
tsuchiyama@ubuntu1804:~/poky/build-rpi$ bitbake-layers show-layers
bitbake-layers remove-layer meta-yocto-bsp
bitbake-layers add-layer ../meta-openembedded/meta-oe
bitbake-layers add-layer ../meta-openembedded/meta-multimedia
bitbake-layers add-layer ../meta-openembedded/meta-python
bitbake-layers add-layer ../meta-openembedded/meta-networking
bitbake-layers add-layer ../meta-qt5
bitbake-layers add-layer ../meta-raspberrypi
bitbake meta-ide-support
export DL_DIR=${HOME}/poky/downloads
export MACHINE=raspberrypi3
source oe-init-build-env build-rpi
bitbake-layers show-layers
bitbake-layers remove-layer meta-yocto-bsp
bitbake-layers add-layer ../meta-openembedded/meta-oe
bitbake-layers add-layer ../meta-openembedded/meta-multimedia
bitbake-layers add-layer ../meta-openembedded/meta-python
bitbake-layers add-layer ../meta-openembedded/meta-networking
bitbake-layers add-layer ../meta-qt5
bitbake-layers add-layer ../meta-raspberrypi
bitbake-layers add-layer ../meta-rpi
ln -s ../downloads .
bitbake console-image
以下でもいいかも
ln -s ${DL_DIR}
git clone https://github.com/jumpnow/meta-rpi.git
https://media.readthedocs.org/pdf/meta-raspberrypi/latest/meta-raspberrypi.pdf https://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/tree/docs/layer-contents.md
2.1 Supported Machines
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+
yocto Releases https://wiki.yoctoproject.org/wiki/Releases
git clone -b sumo git://git.yoctoproject.org/poky
cd poky
git clone -b sumo git://git.openembedded.org/meta-openembedded
git clone -b sumo git://git.yoctoproject.org/meta-raspberrypi
git clone -b sumo git://github.com/meta-qt5/meta-qt5.git
git clone -b sumo https://github.com/jumpnow/meta-rpi.git
export DL_DIR=${HOME}/downloads
export MACHINE=raspberrypi3
source oe-init-build-env build-rpi
rm -rf downloads
ln -sf ${DL_DIR}
bitbake-layers show-layers
bitbake-layers remove-layer meta-yocto-bsp
以下を実行すると MACHINE=raspberrypi3 is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.
のエラーが出る。
bitbake-layers add-layer ../meta-openembedded/meta-oe
bitbake-layers add-layer ../meta-openembedded/meta-multimedia
bitbake-layers add-layer ../meta-openembedded/meta-python
bitbake-layers add-layer ../meta-openembedded/meta-networking
bitbake-layers add-layer ../meta-qt5
bitbake-layers add-layer ../meta-raspberrypi
bitbake-layers add-layer ../meta-rpi
thud (2.6)
git clone -b thud git://git.yoctoproject.org/poky
cd poky
git clone -b thud git://git.openembedded.org/meta-openembedded
git clone -b thud git://git.yoctoproject.org/meta-raspberrypi
git clone -b thud git://github.com/meta-qt5/meta-qt5.git
git clone -b thud https://github.com/jumpnow/meta-rpi.git
export DL_DIR=${HOME}/downloads
export MACHINE=raspberrypi3
source oe-init-build-env build-rpi
mkdir -p ${DL_DIR}
ln -sf ${DL_DIR}
bitbake-layers show-layers
bitbake-layers remove-layer meta-yocto-bsp
bitbake-layers add-layer ../meta-openembedded/meta-oe
bitbake-layers add-layer ../meta-openembedded/meta-multimedia
bitbake-layers add-layer ../meta-openembedded/meta-python
bitbake-layers add-layer ../meta-openembedded/meta-networking
bitbake-layers add-layer ../meta-qt5
bitbake-layers add-layer ../meta-raspberrypi
bitbake-layers add-layer ../meta-rpi
bitbake console-image
ビルドエラー
~/poky/build-rpi$ bitbake console-image
Parsing recipes: 100% |##################################################################################| Time: 0:05:05
Parsing of 2279 .bb files complete (0 cached, 2279 parsed). 3247 targets, 136 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'libomxil' (but /home/tsuchiyama/poky/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb DEPENDS on or otherwise requires it)
libomxil was skipped: because it has a restricted license not whitelisted in LICENSE_FLAGS_WHITELIST
NOTE: Runtime target 'omxplayer' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['omxplayer', 'libomxil']
ERROR: Required build target 'console-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['console-image', 'omxplayer', 'libomxil']
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
以下かな? https://lists.yoctoproject.org/pipermail/yocto/2017-August/037439.html
以下を実施
bitbake console-basic-image
bitbake-layers remove-layer meta-yocto-bsp を実行しないでみる
git clone -b thud git://git.yoctoproject.org/poky
cd poky
git clone -b thud git://git.openembedded.org/meta-openembedded
git clone -b thud git://git.yoctoproject.org/meta-raspberrypi
git clone -b thud git://github.com/meta-qt5/meta-qt5.git
git clone -b thud https://github.com/jumpnow/meta-rpi.git
export DL_DIR=${HOME}/downloads
export MACHINE=raspberrypi3
source oe-init-build-env build-rpi
mkdir -p ${DL_DIR}
ln -sf ${DL_DIR}
bitbake-layers show-layers
bitbake-layers add-layer ../meta-openembedded/meta-oe
bitbake-layers add-layer ../meta-openembedded/meta-multimedia
bitbake-layers add-layer ../meta-openembedded/meta-python
bitbake-layers add-layer ../meta-openembedded/meta-networking
bitbake-layers add-layer ../meta-qt5
bitbake-layers add-layer ../meta-raspberrypi
bitbake-layers add-layer ../meta-rpi
bitbake console-image
tsuchiyama@ubuntu1804:~/poky/build-rpi$ bitbake console-image
Parsing recipes: 100% |##########################################| Time: 0:05:10
Parsing of 2280 .bb files complete (0 cached, 2280 parsed). 3248 targets, 137 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'libav' (but /home/tsuchiyama/poky/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb DEPENDS on or otherwise requires it)
ffmpeg PROVIDES libav but was skipped: because it has a restricted license not whitelisted in LICENSE_FLAGS_WHITELIST
NOTE: Runtime target 'omxplayer' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['omxplayer', 'libav']
ERROR: Required build target 'console-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['console-image', 'omxplayer', 'libav']
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
bitbake console-basic-image
が失敗
ERROR: console-basic-image-1.0-r0 do_rootfs: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/tsuchiyama/poky/build-rpi/tmp/work/raspberrypi3-poky-linux-gnueabi/console-basic-image/1.0-r0/temp/log.do_rootfs.22930
ERROR: Task (/home/tsuchiyama/poky/meta-rpi/images/console-basic-image.bb:do_rootfs) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3833 tasks of which 5 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/home/tsuchiyama/poky/meta-rpi/images/console-basic-image.bb:do_rootfs
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
tsuchiyama@ubuntu1804:~/poky/build-rpi$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 8191396 0 8191396 0% /dev
tmpfs 1642604 1568 1641036 1% /run
/dev/sda1 384529880 52606184 312320960 15% /
tmpfs 8213008 0 8213008 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 8213008 0 8213008 0% /sys/fs/cgroup
/dev/loop1 13312 13312 0 100% /snap/gnome-characters/103
/dev/loop3 14848 14848 0 100% /snap/gnome-logs/37
/dev/loop0 144384 144384 0 100% /snap/gnome-3-26-1604/70
/dev/loop2 2432 2432 0 100% /snap/gnome-calculator/180
/dev/loop5 3840 3840 0 100% /snap/gnome-system-monitor/51
/dev/loop4 35584 35584 0 100% /snap/gtk-common-themes/319
/dev/loop6 89088 89088 0 100% /snap/core/4917
tmpfs 1642600 28 1642572 1% /run/user/121
tmpfs 1642600 40 1642560 1% /run/user/1000
/dev/sr0 83904 83904 0 100% /media/tsuchiyama/VBox_GAs_6.0.41
/dev/loop7 93312 93312 0 100% /snap/core/6531
/dev/loop8 13312 13312 0 100% /snap/gnome-characters/139
/dev/loop9 2304 2304 0 100% /snap/gnome-calculator/260
/dev/loop10 3840 3840 0 100% /snap/gnome-system-monitor/57
/dev/loop11 14976 14976 0 100% /snap/gnome-logs/45
/dev/loop12 36224 36224 0 100% /snap/gtk-common-themes/1198
/dev/loop13 144128 144128 0 100% /snap/gnome-3-26-1604/82
git clone https://gitlab.linphone.org/BC/public/meta-bc.git
IMAGE_INSTALL_append = " linphone"
LICENSE_FLAGS_WHITELIST = "commercial"
BB_ENV_EXTRAWHITE += "JAVA_HOME"
BBMASK += "/path/to/poky/sources/meta-bc/linphone/libav/libav_%.bbappend"
raspberrypi ビルド方法
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm