summaryrefslogtreecommitdiff
path: root/data/live-build-config/hooks/live/40-linux-firmware.chroot
blob: 7d0de1f21491e9e1c65e30d43a512e0546d4199c (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
#!/bin/sh

# To get the possibility of reproducible builds we pin to a specific commit
# of the linux-firmware repository
COMMIT="aa95e90b2c638f1ca6647d12b2d1b18284428f9c"

echo "I: Retrieving Linux Firmware - commit ${COMMIT}"

ret=$(curl -w "%{http_code}" -o /tmp/linux-firmware-${COMMIT}.tar.gz \
    https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${COMMIT}.tar.gz)

if [ "${ret}" != "200" ]; then
    echo E: Received HTTP error code \"${ret}\" when downloading Linux Firmware ...
    exit 1
fi

tar xf /tmp/linux-firmware-${COMMIT}.tar.gz -C /lib
mv /lib/linux-firmware-${COMMIT} /lib/firmware
rm -f /tmp/linux-firmware-${COMMIT}.tar.gz

# We do not need all firmware blobs .. cleanup
RM_FIRMWARE=" \
    v4l-cx* \
    s5p-mfc* \
    nvidia \
    amdgpu \
    i915 \
    radeon \
    matrox \
    mediatek \
    sb16 \
    ti-connectivity \
    ueagle-atm \
    dvb-* \
    v4l-* \
    i915 \
    qcom \
    ctfw-* \
    ct2fw-* \
    "

for dir in ${RM_FIRMWARE}
do
    rm -rf /lib/firmware/${dir}
done