|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
conf †
BBLAYERS ?= " \
${TOPDIR}/../meta-gplv2 \
${TOPDIR}/../poky/meta \
${TOPDIR}/../poky/meta-poky \
${TOPDIR}/../poky/meta-yocto-bsp \
${TOPDIR}/../meta-renesas/meta-rz-common \
${TOPDIR}/../meta-renesas/meta-rzg1 \
${TOPDIR}/../meta-openembedded/meta-oe \
${TOPDIR}/../meta-openembedded/meta-networking \ # <= 追加
${TOPDIR}/../meta-openembedded/meta-python \
${TOPDIR}/../meta-openembedded/meta-multimedia \
# Package Management configuration #PACKAGE_CLASSES ?= "package_rpm" PACKAGE_CLASSES ?= "package_deb" EXTRA_IMAGE_FEATURES ?= "debug-tweaks" EXTRA_IMAGE_FEATURES += "read-only-rootfs" # Enable wayland and disable x11 #DISTRO_FEATURES_append = " wayland" DISTRO_FEATURES_remove = " x11" #DISTRO_FEATURES_NATIVESDK_append = " wayland" DISTRO_FEATURES_NATIVESDK_remove = " x11" CIP_CORE = "1" CIP_MODE = "Bullseye" /* debian11ベース */ IS_RT_BSP = "1" /* PREEMPT_RT を有効に */ BB_NO_NETWORK = "0" /* 1 だと追加パッケージはダウンロードできないので0にする */ # INCOMPATIBLE_LICENSE = "GPLv3 GPLv3+" # GPLv3ソフトを含まない、を外す # gdb は GPLv3 なので INCOMPATIBLE_LICENSE をコメントアウトする # Configuration for USB 3.0 #MACHINE_FEATURES_append = " usb3" # hostname hostname_pn-base-files = "cat845" # local append (ebihara) PACKAGE_EXCLUDE += " packagegroup-core-ssh-dropbear" IMAGE_INSTALL_append = " nfs-utils" IMAGE_INSTALL_append = " openssh" IMAGE_INSTALL_append = " rsyslog rsync" IMAGE_INSTALL_append = " mtd-utils mtd-utils-jffs2" IMAGE_INSTALL_append = " strace gdbserver" IMAGE_INSTALL_append = " libasan" IMAGE_INSTALL_append = " procps" IMAGE_INSTALL_append = " sqlite3" IMAGE_INSTALL_append = " tree dosfstools psmisc bc curl" IMAGE_INSTALL_append = " ifupdown init-ifupdown update-rc.d perl-modules" IMAGE_INSTALL_append = " ntpdate" IMAGE_INSTALL_remove = " alsa-utils" IMAGE_INSTALL_remove = " connman connman-client connman-tools connman-tests connman-wait-online" DISTRO_FEATURES_remove = " connman" BAD_RECOMMENDATIONS += " connman" IMAGE_INSTALL_remove += " wpa-supplicant" BAD_RECOMMENDATIONS += " wpa-supplicant" # timezone IMAGE_INSTALL_append = " tzdata" DEFAULT_TIMEZONE = "Asia/Tokyo" conf/local.conf に なにも append せずデフォルト状態で bitbake core-image-bsp する場合に限り BB_NO_NETWORK = "1" /* 1 だと追加パッケージはダウンロードできないので0にする */ としてオフラインでビルドできる。conf/local.conf をいじるならば "0" とする。 いちど bitbake を通した後に INCOMPATIBLE_LICENSE = "GPLv3 GPLv3+" を変更するとエラーだらけになって失敗する。 overlay-rootfs †yoctoでrootfsを構築後に入れ替えたい(上書きしたい)ファイルを my-overlay ディレクトリにまとめておく。
$ cd $WORK ( $ cd ~/yocto と同義) $ cat meta-renesas/meta-rz-common/recipes-core/images/core-image-bsp.bbappend MY_OVERLAY_DIR = "${TOPDIR}/../my-overlay"
do_copy_overlay() {
echo "Running overlay copy"
cp -a ${MY_OVERLAY_DIR}/* ${IMAGE_ROOTFS}/
echo "ttySC10" >> ${IMAGE_ROOTFS}/etc/securetty
echo "172.16.1.4:/home /media/nfs nfs noauto,ro 0 0" >> ${IMAGE_ROOTFS}/etc/fstab
echo "/dev/mmcblk0p1 /boot auto noauto,ro 0 0" >> ${IMAGE_ROOTFS}/etc/fstab
}
ROOTFS_POSTPROCESS_COMMAND += "do_copy_overlay;"
$ cd $WORK ( $ cd ~/yocto と同義) & tar xvf my-overlay.tgz $ tree ../my-overlay/ my-overlay
|-- etc
| |-- default
| | `-- ssh
| |-- network
| | |-- if-pre-up.d
| | | `-- init-resolvconf
| | |-- if-up.d
| | | `-- eth0irq_affinity
| | `-- interfaces
| |-- rc.local
| |-- ssh
| | `-- sshd_config
| `-- udhcpc.d
| `-- 50default
|-- home
| `-- root
| |-- kernel_write.sh
| |-- setting.sh
| `-- update-rc.d
|-- media
| |-- mtd3
| |-- nfs
| |-- sd
| |-- sda1
| `-- sda2
|-- root -> home/root
`-- usr
|-- libexec
| `-- openssh
| `-- sshd_check_keys
|-- local
| `-- bin
| |-- dateset.sh
| `-- rommode
`-- sbin
$ bitbake -c clean core-image-bsp $ bitbake core-image-bsp 起動後に実機上で実行 †#!/bin/sh rommode rw cp update-rc.d /usr/sbin echo "[Install]" >> /lib/systemd/system/rc-local.service echo "WantedBy=multi-user.target" >> /lib/systemd/system/rc-local.service systemctl enable rc-local systemctl disable systemd-networkd systemctl unmask networking systemctl enable networking systemctl start networking sync rommode ro カスタムレイヤの追加 †yocto カスタムレイヤーの追加 $ cd work $ source poky/oe-init-build-env (buildに移動) $ bitbake-layers show-layers レイヤの確認 $ bitbake-layers create-layer ../meta-cat845 meta-cat845 が作られる kaihatsu@debian11:~/yocto_cat845_v307/build$ ls ../ build meta-cat845 meta-openembedded meta-renesas my-overlay extra meta-gplv2 meta-qt5 meta-virtualization poky $ bitbake-layers add-layer ../meta-cat845 $ bitbake-layers show-layers NOTE: Starting bitbake server... layer path priority ========================================================================== meta-gplv2 /home/kaihatsu/yocto_cat845_v307/build/../meta-gplv2 1 meta /home/kaihatsu/yocto_cat845_v307/build/../poky/meta 5 meta-poky /home/kaihatsu/yocto_cat845_v307/build/../poky/meta-poky 5 meta-yocto-bsp /home/kaihatsu/yocto_cat845_v307/build/../poky/meta-yocto-bsp 5 meta-rz-common /home/kaihatsu/yocto_cat845_v307/build/../meta-renesas/meta-rz-common 15 meta-rzg1 /home/kaihatsu/yocto_cat845_v307/build/../meta-renesas/meta-rzg1 15 meta-oe /home/kaihatsu/yocto_cat845_v307/build/../meta-openembedded/meta-oe 6 meta-python /home/kaihatsu/yocto_cat845_v307/build/../meta-openembedded/meta-python 7 meta-multimedia /home/kaihatsu/yocto_cat845_v307/build/../meta-openembedded/meta-multimedia 6 meta-cat845 /home/kaihatsu/yocto_cat845_v307/meta-cat845 6 レイヤの削除 †コマンドは無い。 build/conf/bblayers.conf から該当行を削除する 関連 †CAT845_yocto CAT845_yocto_sdwrite 自動リンク |