🐥
Petalinux 2024.2でBusyboxを1.37にする
内容
petalinux 2024.2(AMD(Xilinx)Zynqの開発環境)ではbusyboxは1.36なんですが、比較的簡単にbusyboxを1.37にできたので記事にしてみます
動機
busybox 1.37にすると64bitのtime_tに対応できるのでbusyboxを使用しているコマンドについては2038年問題に対応できます
私の開発案件では2038年問題がひっかかりそうなのは、ほぼbusyboxのみ(シェルやデーモン等)でしたのでbusyboxさえ対応できればOKという感じです
作業内容
下記の二つが同じ感じなのでフォルダごと入れ替える
(openembedded-core-master(busyboxが1.37の時にgithubからダウンロードしました)
- {petalinux_project}\components\yocto\layers\poky\meta\recipes-core\busybox\
- \tmp\openembedded-core-master\meta\recipes-core\busybox\
{petalinux_project}\components\yocto\layers\poky\meta\conf\bitbake.confの下記の部分にUNPACKDIRの行を追加
STAMPCLEAN = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/*-*"
BASE_WORKDIR ?= "${TMPDIR}/work"
WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${PV}"
UNPACKDIR ??= "${WORKDIR}/"
T = "${WORKDIR}/temp"
D = "${WORKDIR}/image"![](https://storage.googleapis.com/zenn-user-upload/93c0acb921e0-20250111.png)
petalinux-build でビルドが通る
たしかbusybox 1.37はデフォルトでtime_t 64bitのConfigが有効になっていたと思います
以上、参考になれば幸いです
Discussion