Skip to content

Commit

Permalink
feat: nfsd support as module package
Browse files Browse the repository at this point in the history
Build nfsd support as module package. This allows to build an nfsd
extension to be used with projects like openebs/dynamic-nfs-provisioner.

Talos can load it via machine-config:
```yaml
machine:
    # Configures the kernel.
    kernel:
        # Kernel modules to load.
        modules:
            - name: nfsd # Module name.
```

Signed-off-by: Subhash Chandra <[email protected]>
  • Loading branch information
TMaYaD committed Apr 26, 2023
1 parent 3920b16 commit eca94ce
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 0 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ TARGETS += \
kernel \
drbd-pkg \
gasket-driver-pkg \
nfsd-pkg \
nvidia-open-gpu-kernel-modules-pkg \

# Temporarily disabled until mellanox builds with Linux 6.1
Expand Down
9 changes: 9 additions & 0 deletions nfsd/nfsd.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
# CONFIG_NFSD_BLOCKLAYOUT is not set
# CONFIG_NFSD_SCSILAYOUT is not set
# CONFIG_NFSD_FLEXFILELAYOUT is not set
# CONFIG_NFSD_V4_2_INTER_SSC is not set
# CONFIG_NFSD_V4_SECURITY_LABEL is not set
28 changes: 28 additions & 0 deletions nfsd/pkg.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: nfsd-pkg
variant: scratch
shell: /toolchain/bin/bash
dependencies:
- stage: kernel-build
steps:
- env:
ARCH: '{{ if eq .ARCH "aarch64"}}arm64{{ else if eq .ARCH "x86_64" }}x86_64{{ else }}unsupported{{ end }}'
prepare:
- |
cd /src
cat /pkg/nfsd.config >> .config
build:
- |
cd /src
make olddefconfig
make scripts
install:
- |
cd /src
make -j $(nproc) -C /src M=fs/nfsd modules_install DESTDIR=/rootfs INSTALL_MOD_PATH=/rootfs INSTALL_MOD_STRIP=1 CONFIG_MODULE_SIG_ALL=y
test:
- |
# https://www.kernel.org/doc/html/v4.15/admin-guide/module-signing.html#signed-modules-and-stripping
find /rootfs/lib/modules -name '*.ko' -exec grep -FL '~Module signature appended~' {} \+
finalize:
- from: /rootfs
to: /

0 comments on commit eca94ce

Please sign in to comment.