blob: f4a96f41232c4ca51a23031b8b66a3355d3add33 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
DESCRIPTION = "Bootbin version string file"
SUMMARY = "The BIF file for bootbin requires a version file in a specific format"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
COMPATIBLE_MACHINE = "^$"
PACKAGE_ARCH = "${MACHINE_ARCH}"
BOOTBIN_VER_MAIN ?= ""
BOOTBIN_VER_FILE = "bootbin-version-header.txt"
BOOTBIN_VER_MAX_LEN = "36"
BOOTBIN_MANIFEST_FILE ?= "bootbin-version-header.manifest"
inherit deploy image-artifact-names
IMAGE_NAME_SUFFIX = ""
python do_configure() {
if not 'version' in locals():
version = d.getVar("MACHINE") + "-v" + d.getVar("BOOTBIN_VER_MAIN")
version += d.getVar("IMAGE_VERSION_SUFFIX")
if len(version) > int(d.getVar("BOOTBIN_VER_MAX_LEN")):
bb.fatal("version string too long")
with open(d.expand("${B}/${BOOTBIN_VER_FILE}"), "w") as f:
f.write(version.encode("utf-8").hex())
with open(d.expand("${B}/${BOOTBIN_MANIFEST_FILE}"), "w") as f:
f.write("* %s\n" % d.getVar('PN'))
f.write("VERSION: %s\n" % version)
f.write("PV: %s\n" % d.getVar('PV'))
f.write("XILINX_VER_MAIN: %s\n" % d.getVar('XILINX_VER_MAIN'))
f.write("XILINX_VER_UPDATE: %s\n" % d.getVar('XILINX_VER_UPDATE'))
f.write("XILINX_VER_BUILD: %s\n\n" % d.getVar('XILINX_VER_BUILD'))
}
do_install() {
install -d ${D}/boot
install -m 0644 ${B}/${BOOTBIN_VER_FILE} ${D}/boot/
}
do_deploy() {
install -m 0644 ${B}/${BOOTBIN_VER_FILE} ${DEPLOYDIR}/${IMAGE_NAME}.txt
ln -s ${IMAGE_NAME}.txt ${DEPLOYDIR}/${IMAGE_LINK_NAME}.txt
install -m 0644 ${B}/${BOOTBIN_MANIFEST_FILE} ${DEPLOYDIR}/${IMAGE_NAME}.manifest
ln -s ${IMAGE_NAME}.manifest ${DEPLOYDIR}/${IMAGE_LINK_NAME}.manifest
}
addtask deploy after do_compile
SYSROOT_DIRS += "/boot"
FILES:${PN} += "/boot/${BOOTBIN_VER_FILE}"
|