🐥

Petalinux 2024.2でBusyboxを1.37にする

2025/01/11に公開

内容

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