403
回編集
編集の要約なし |
(→環境設定) |
||
(同じ利用者による、間の53版が非表示) | |||
= 参考 =
* https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html
* https://wiki.yoctoproject.org/wiki/Releases
= Yocto環境取得 =
<nowiki>
~/yocto$ git clone
~/yocto$
</nowiki>
== gitで通信できる場合 ==
<nowiki>
~/yocto/build$ bitbake-layers layerindex-fetch -b scarthgap meta-raspberrypi
</nowiki>
== gitで通信できない場合 ==
<nowiki>
~/yocto/poky$ git clone -b scarthgap https://git.yoctoproject.org/meta-raspberrypi
~/yocto/poky$ bitbake-layers add-layer meta-raspberrypi
</nowiki>
== layerの確認 ==
<nowiki>
bitbake-layers show-layers
</nowiki>
= 設定変更 =
~/yocto/build/conf/local.conf
MACHINE ?= "raspberrypi4-64"
</nowiki>
<nowiki>
DL_DIR ?= "${TOPDIR}/downloads"
</nowiki>
https://meta-raspberrypi.readthedocs.io/en/latest/ipcompliance.html
= ビルド =
core-image-base
== 最小構成 ==
<nowiki>
~/yocto/build$ bitbake core-image-minimal
</nowiki>
== X環境 ==
<nowiki>
~/yocto/build$ bitbake core-image-sato
</nowiki>
= SDカードへの書き込み =
<nowiki>
$ sudo bmaptool copy --bmap core-image-minimal-raspberrypi4-64.rootfs.wic.bmap core-image-minimal-raspberrypi4-64.rootfs.wic.bz2 /dev/SDX
</nowiki>
= QEMUを使用する場合 =
~/yocto/build/conf/local.conf
<nowiki>
MACHINE ?= "qemuarm64"
</nowiki>
<nowiki>
$ bitbake core-image-base
$ runqemu qemuarm64 nographic
</nowiki>
= SDK =
== ビルド ==
<nowiki>
~/yocto/build$ bitbake
</nowiki>
== インストール ==
<nowiki>
~/yocto/build/tmp/deploy/sdk/poky-glibc-x86_64-core-image-
</nowiki>
== 環境設定 ==
<nowiki>
$
</nowiki>
== 使用方法 ==
<nowiki>
</nowiki>
= デバッグ =
<nowiki>
git clone -b kirkstone https://git.openembedded.org/meta-openembedded
bitbake-layers add-layer meta-oe
bitbake-layers add-layer meta-python
</nowiki>
local.conf
<nowiki>
CORE_IMAGE_EXTRA_INSTALL += " python3 apache2 gdb gdbserver"
DISTRO_FEATURES += " debuginfod"
</nowiki>
=== debuginfod ===
local.conf
<nowiki>
gdb /bin/cat
</nowiki>
ホスト
<nowiki>
oe-debuginfod
</nowiki>
=== gdbserver ===
local.conf
<nowiki>
IMAGE_GEN_DEBUGFS = "1"
IMAGE_FSTYPES_DEBUGFS = "tar.bz2"
EXTRA_IMAGE_FEATURES:append = " tools-debug"
</nowiki>
<nowiki>
mkdir debugfs
cd debugfs
tar xjf build/tmp/deploy/images/qemuarm64/core-image-minimal-qemuarm64.rootfs.tar.bz2
tar xjf build/tmp/deploy/images/qemuarm64/core-image-minimal-qemuarm64.rootfs-dbg.tar.bz2
</nowiki>
<nowiki>
build-dir/tmp/sysrootfs/host/usr/bin/architecture/architecture-gdb
</nowiki>
<nowiki>
gdbserver localhost:1234 /bin/gzip -help
</nowiki>
<nowiki>
cd debugfs
aarch64-poky-linux-gdb
(gdb) set sysroot debugfs
(gdb) set substitute-path /usr/src/debug debugfs/usr/src/debug
(gdb) target remote IP-of-target:1234
</nowiki>
~/.gdbinit
<nowiki>
bitback bash
bitbake -c devshell bash
cd ..
scp packages-split/bash/bin/bash target:/bin/bash
cp -a packages-split/bash-dbg/* path/debugfs
</nowiki>
=== ターゲット上でのみデバッグ ===
local.conf
<nowiki>
EXTRA_IMAGE_FEATURES:append = " tools-debug"
IMAGE_INSTALL:append = " packagename-dbg"
EXTRA_IMAGE_FEATURES:append = " dbg-pkgs"
DEBUG_BUILD = "1"
</nowiki>
= USBブート =
local.conf
<nowiki>
CMDLINE_remove = "root=/dev/mmcblk0p2"
CMDLINE_append = "root=/dev/sda2"
</nowiki>
|