如何在运行时获取 rootfs 构建时间戳?
How to get rootfs build timestamp at runtime?
出于版本识别目的,我希望能够检索指示根文件系统映像构建时间的时间戳。它需要在运行时在板上本身可以检索。
我正在使用 Ångström 发行版,分支 angstrom-v2013.12-yocto1.5,它使用 OpenEmbedded 构建 rootfs(根文件系统)。
内核是为这块板单独构建的,所以我不能使用 uname -v
来达到这个目的,因为它只读出内核构建时间戳,而不是 rootfs 构建时间戳。
是否将 rootfs 构建时间戳添加到 rootfs 映像的某个位置,以便在运行时检索它?
BitBake makes it easy to use Python code in variable expansion with
the following syntax:
VARIABLE = "${@python-command}"
This gives huge flexibility to the user, as can be seen in the following example:
DATE = "${@time.strftime('%Y%m%d',time.gmtime())}"
This results in the
DATE variable containing today's date.
构建图像时,/etc/timestamp、Example HERE
中存储了一个时间戳
rootfs_update_timestamp () {
date "+%m%d%H%M%Y" >${IMAGE_ROOTFS}/etc/timestamp
}
你可以看看这个实现日期和时间并将文件放入 rootfs 的方法
DESCRIPTION = "Simple helloworld application"
SECTION = "hio-version"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r0"
DEPENDS = "core-image-minimal"
SRC_URI = "file://version "
S = "${WORKDIR}"
INSANE_SKIP_${PN} = "installed-vs-shipped"
FILES_${PN} += " /"
do_install() {
echo "------------------------"
echo "------------------------"
#version
#echo hio-board-dl-v1.00 > ${WORKDIR}/version
#date >> ${WORKDIR}/version
#install -m 0644 ${WORKDIR}/version ${D}/
date_version_1=hio-board-dl-
date_version_2=$(date "+%Y%m%d%H%M%S")
date_version_3=-R1.00
echo $date_version_1$date_version_2$date_version_3 > ${WORKDIR}/version
install -m 0644 ${WORKDIR}/version ${D}/
}
是的,默认情况下 /etc/timestamp 包含 rootfs 构建时间。
出于版本识别目的,我希望能够检索指示根文件系统映像构建时间的时间戳。它需要在运行时在板上本身可以检索。
我正在使用 Ångström 发行版,分支 angstrom-v2013.12-yocto1.5,它使用 OpenEmbedded 构建 rootfs(根文件系统)。
内核是为这块板单独构建的,所以我不能使用 uname -v
来达到这个目的,因为它只读出内核构建时间戳,而不是 rootfs 构建时间戳。
是否将 rootfs 构建时间戳添加到 rootfs 映像的某个位置,以便在运行时检索它?
BitBake makes it easy to use Python code in variable expansion with the following syntax:
VARIABLE = "${@python-command}"
This gives huge flexibility to the user, as can be seen in the following example:
DATE = "${@time.strftime('%Y%m%d',time.gmtime())}"
This results in the DATE variable containing today's date.
构建图像时,/etc/timestamp、Example HERE
中存储了一个时间戳rootfs_update_timestamp () {
date "+%m%d%H%M%Y" >${IMAGE_ROOTFS}/etc/timestamp
}
你可以看看这个实现日期和时间并将文件放入 rootfs 的方法
DESCRIPTION = "Simple helloworld application"
SECTION = "hio-version"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r0"
DEPENDS = "core-image-minimal"
SRC_URI = "file://version "
S = "${WORKDIR}"
INSANE_SKIP_${PN} = "installed-vs-shipped"
FILES_${PN} += " /"
do_install() {
echo "------------------------"
echo "------------------------"
#version
#echo hio-board-dl-v1.00 > ${WORKDIR}/version
#date >> ${WORKDIR}/version
#install -m 0644 ${WORKDIR}/version ${D}/
date_version_1=hio-board-dl-
date_version_2=$(date "+%Y%m%d%H%M%S")
date_version_3=-R1.00
echo $date_version_1$date_version_2$date_version_3 > ${WORKDIR}/version
install -m 0644 ${WORKDIR}/version ${D}/
}
是的,默认情况下 /etc/timestamp 包含 rootfs 构建时间。