mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-21 01:59:07 +00:00
pkg/firmware: Fix firmware extraction
Some drivers offer mutliple firmwares with the WHENCE file defining the default. Use the cope-firmware.sh script to create a copy of the firmware repository with the defaults copied in to the right place. Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
This commit is contained in:
parent
384b439d05
commit
cd92ad3f16
@ -5,12 +5,13 @@ RUN apk add --no-cache git
|
|||||||
ENV FW_URL=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
|
ENV FW_URL=git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
|
||||||
ENV FW_COMMIT=edf390c23a4e185ff36daded36575f669f5059f7
|
ENV FW_COMMIT=edf390c23a4e185ff36daded36575f669f5059f7
|
||||||
|
|
||||||
RUN mkdir -p /out/lib && \
|
RUN git clone ${FW_URL} && \
|
||||||
cd /out/lib && \
|
cd /linux-firmware && \
|
||||||
git clone ${FW_URL} firmware && \
|
git checkout ${FW_COMMIT}
|
||||||
cd firmware && \
|
|
||||||
git checkout ${FW_COMMIT} && \
|
RUN mkdir -p /out/lib/firmware && \
|
||||||
rm -rf .git
|
cd /linux-firmware && \
|
||||||
|
./copy-firmware.sh /out/lib/firmware
|
||||||
|
|
||||||
FROM scratch
|
FROM scratch
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
|
@ -25,6 +25,10 @@ RUN set -e && \
|
|||||||
;; \
|
;; \
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Create copy of files with symlinks based on WHENCE
|
||||||
|
RUN cd /linux-firmware && \
|
||||||
|
./copy-firmware.sh /linux-firmware-whence
|
||||||
|
|
||||||
# Extract kernel modules for
|
# Extract kernel modules for
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
COPY --from=kernel /kernel.tar /kernel.tar
|
COPY --from=kernel /kernel.tar /kernel.tar
|
||||||
@ -34,7 +38,7 @@ RUN tar xf /kernel.tar
|
|||||||
RUN set -e && \
|
RUN set -e && \
|
||||||
for fw in $(find /lib/modules -name \*.ko -exec modinfo --field=firmware {} \;); do \
|
for fw in $(find /lib/modules -name \*.ko -exec modinfo --field=firmware {} \;); do \
|
||||||
mkdir -p "/out/lib/firmware/$(dirname $fw)" && \
|
mkdir -p "/out/lib/firmware/$(dirname $fw)" && \
|
||||||
cp "/linux-firmware/$fw" "/out/lib/firmware/$fw"; \
|
cp "/linux-firmware-whence/$fw" "/out/lib/firmware/$fw"; \
|
||||||
done
|
done
|
||||||
|
|
||||||
FROM scratch
|
FROM scratch
|
||||||
|
Loading…
Reference in New Issue
Block a user