blob: 2e10253e9029a08405c2c7429afcf236f78b75d2 [file] [log] [blame]
Patrick Williams864cc432023-02-09 14:54:44 -06001SUMMARY = "Installation scripts and binaries for the Raspberry Pi 4 EEPROM"
2DESCRIPTION = "This repository contains the rpi4 bootloader and scripts \
3for updating it in the spi eeprom"
4LICENSE = "BSD-3-Clause & Broadcom-RPi"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=f546ed4f47e9d4c1fe954ecc9d3ef4f3"
6
7SRC_URI = " \
8 git://github.com/raspberrypi/rpi-eeprom.git;protocol=https;branch=master \
Patrick Williams864cc432023-02-09 14:54:44 -06009"
10
Patrick Williams44b3caf2024-04-12 16:51:14 -050011SRCREV = "36e58db5c2a2656e553441f4f48f32227809105d"
12PV = "v.2024.02.16-2712"
Patrick Williams864cc432023-02-09 14:54:44 -060013
14S = "${WORKDIR}/git"
15
16RDEPENDS:${PN} += " \
17 coreutils \
18 python3 \
19 python3-pycryptodomex \
20 openssl \
21 xxd \
22 pciutils \
23"
24
25inherit python3native
26
27do_install() {
28 install -d ${D}${bindir}
29
30 # install executables
31 install -m 0755 ${S}/tools/vl805 ${D}${bindir}
32 install -m 0755 ${S}/rpi-eeprom-update ${D}${bindir}
33 install -m 0755 ${S}/rpi-eeprom-config ${D}${bindir}
34 install -m 0755 ${S}/rpi-eeprom-digest ${D}${bindir}
35
36 # copy firmware files
Patrick Williams44b3caf2024-04-12 16:51:14 -050037 install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/default
38 install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/latest
39 install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/default
40 install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/latest
Patrick Williams864cc432023-02-09 14:54:44 -060041
Patrick Williams44b3caf2024-04-12 16:51:14 -050042 install -m 644 ${S}/firmware-2711/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/default
43 install -m 644 ${S}/firmware-2711/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/latest
44 install -m 644 ${S}/firmware-2712/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/default
45 install -m 644 ${S}/firmware-2712/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/latest
Patrick Williams864cc432023-02-09 14:54:44 -060046
Patrick Williams44b3caf2024-04-12 16:51:14 -050047 ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/critical
48 ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/stable
49 ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/beta
50 ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/critical
51 ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/stable
52 ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/beta
Patrick Williams864cc432023-02-09 14:54:44 -060053
54 # copy default config
55 install -d ${D}${sysconfdir}/default
56 install -D ${S}/rpi-eeprom-update-default ${D}${sysconfdir}/default/rpi-eeprom-update
57}
58
Patrick Williams44b3caf2024-04-12 16:51:14 -050059FILES:${PN} += "${base_libdir}/firmware/raspberrypi/bootloader-*"
Patrick Williams864cc432023-02-09 14:54:44 -060060
61INHIBIT_PACKAGE_STRIP = "1"
62INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
63
64# vl805 tool sources are not available (yet), as it comes as a precompiled
65# binary only. It has ARM architecture whereas target machine is Aarch64. We
66# need to disable arch check for it otherwise it cannot packed.
67QAPATHTEST[arch] = ""
68
Patrick Williams44b3caf2024-04-12 16:51:14 -050069COMPATIBLE_MACHINE = "raspberrypi4|raspberrypi4-64|raspberrypi5"