pkg/modprobe from linuxkit/alpine base, using established multistage build onto scratch pattern

Signed-off-by: Isaac Rodman <isaac@eyz.us>
This commit is contained in:
Isaac Rodman 2017-09-13 13:15:21 -07:00 committed by Isaac Rodman
parent 3b097e6056
commit 0cce316caa
3 changed files with 25 additions and 0 deletions

View File

@ -38,6 +38,15 @@ In summary, LinuxKit offers a choice of the following kernels:
- [linuxkit/kernel-fedora](https://hub.docker.com/r/linuxkit/kernel-fedora/): Selected Fedora kernels. - [linuxkit/kernel-fedora](https://hub.docker.com/r/linuxkit/kernel-fedora/): Selected Fedora kernels.
## Loading kernel modules
Most kernel modules are autoloaded with `mdev` but if you need to `modprobe` a module manually you can use the `modprobe` package in the `onboot` section like this:
```
- name: modprobe
image: linuxkit/modprobe:<hash>
command: ["modprobe", "-a", "iscsi_tcp", "dm_multipath"]
```
## Compiling external kernel modules ## Compiling external kernel modules
This section describes how to build external (out-of-tree) kernel This section describes how to build external (out-of-tree) kernel

13
pkg/modprobe/Dockerfile Normal file
View File

@ -0,0 +1,13 @@
FROM linuxkit/alpine:87a0cd10449d72f374f950004467737dbf440630 AS mirror
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
RUN apk add --no-cache --initdb -p /out \
busybox
RUN rm -rf /out/etc/apk /out/lib/apk /out/var/cache
FROM scratch
ENTRYPOINT []
CMD []
WORKDIR /
COPY --from=mirror /out/ /
LABEL org.mobyproject.config='{"binds": ["/lib/modules:/lib/modules", "/sys:/sys"], "capabilities": ["CAP_SYS_MODULE"]}'

3
pkg/modprobe/Makefile Normal file
View File

@ -0,0 +1,3 @@
IMAGE=modprobe
include ../package.mk