Skip to content

Commit

Permalink
feat: add btrfs support
Browse files Browse the repository at this point in the history
This changes the kernel config to enable btrfs support and adds a new
package for the btrfs kernel module.

Signed-off-by: Noel Georgi <git@frezbo.dev>
  • Loading branch information
Gottox authored and frezbo committed Aug 15, 2023
1 parent 7717b7e commit cff5beb
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 10 deletions.
8 changes: 8 additions & 0 deletions btrfs/files/modules.txt
@@ -0,0 +1,8 @@
modules.order
modules.builtin
modules.builtin.modinfo
kernel/crypto/blake2b_generic.ko
kernel/crypto/zstd.ko
kernel/crypto/xxhash_generic.ko
kernel/lib/zstd/zstd_compress.ko
kernel/fs/btrfs/btrfs.ko
23 changes: 23 additions & 0 deletions btrfs/pkg.yaml
@@ -0,0 +1,23 @@
name: btrfs-pkg
variant: scratch
shell: /toolchain/bin/bash
dependencies:
- stage: base
runtime: true
- stage: kernel
steps:
- env:
ARCH: {{ if eq .ARCH "aarch64"}}arm64{{ else if eq .ARCH "x86_64" }}x86_64{{ else }}unsupported{{ end }}
install:
- |
export KERNELRELEASE="{{ .linux_version }}-talos"
xargs -a /pkg/files/modules.txt -I {} install -D /lib/modules/${KERNELRELEASE}/{} /rootfs/lib/modules/${KERNELRELEASE}/{}
depmod -b /rootfs ${KERNELRELEASE}
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: /
20 changes: 15 additions & 5 deletions kernel/build/config-amd64
Expand Up @@ -1965,6 +1965,7 @@ CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_ZRAM is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_DRBD is not set
Expand Down Expand Up @@ -4941,7 +4942,13 @@ CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not set
# CONFIG_BTRFS_FS is not set
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
# CONFIG_BTRFS_FS_REF_VERIFY is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_F2FS_FS is not set
CONFIG_FS_POSIX_ACL=y
Expand Down Expand Up @@ -5388,7 +5395,7 @@ CONFIG_CRYPTO_ESSIV=y
#
# Hashes, digests, and MACs
#
# CONFIG_CRYPTO_BLAKE2B is not set
CONFIG_CRYPTO_BLAKE2B=m
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
Expand All @@ -5406,7 +5413,7 @@ CONFIG_CRYPTO_SHA512=y
# CONFIG_CRYPTO_VMAC is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_XXHASH is not set
CONFIG_CRYPTO_XXHASH=m
# end of Hashes, digests, and MACs

#
Expand All @@ -5421,11 +5428,11 @@ CONFIG_CRYPTO_CRC32=y
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_LZO is not set
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
# CONFIG_CRYPTO_LZ4 is not set
# CONFIG_CRYPTO_LZ4HC is not set
# CONFIG_CRYPTO_ZSTD is not set
CONFIG_CRYPTO_ZSTD=m
# end of Compression

#
Expand Down Expand Up @@ -5597,7 +5604,10 @@ CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=m
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
Expand Down
19 changes: 14 additions & 5 deletions kernel/build/config-arm64
Expand Up @@ -2237,6 +2237,7 @@ CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_NULL_BLK is not set
CONFIG_CDROM=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_ZRAM is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
# CONFIG_BLK_DEV_DRBD is not set
Expand Down Expand Up @@ -7459,7 +7460,13 @@ CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
# CONFIG_BTRFS_FS_REF_VERIFY is not set
# CONFIG_NILFS2_FS is not set
# CONFIG_F2FS_FS is not set
CONFIG_FS_POSIX_ACL=y
Expand Down Expand Up @@ -7922,7 +7929,7 @@ CONFIG_CRYPTO_ESSIV=y
#
# Hashes, digests, and MACs
#
# CONFIG_CRYPTO_BLAKE2B is not set
CONFIG_CRYPTO_BLAKE2B=m
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
Expand All @@ -7941,7 +7948,7 @@ CONFIG_CRYPTO_SM3=y
# CONFIG_CRYPTO_VMAC is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_XXHASH is not set
CONFIG_CRYPTO_XXHASH=m
# end of Hashes, digests, and MACs

#
Expand All @@ -7957,11 +7964,11 @@ CONFIG_CRYPTO_CRC64_ROCKSOFT=y
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_LZO is not set
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
# CONFIG_CRYPTO_LZ4 is not set
# CONFIG_CRYPTO_LZ4HC is not set
# CONFIG_CRYPTO_ZSTD is not set
CONFIG_CRYPTO_ZSTD=m
# end of Compression

#
Expand Down Expand Up @@ -8161,9 +8168,11 @@ CONFIG_AUDIT_COMPAT_GENERIC=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=m
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
Expand Down

0 comments on commit cff5beb

Please sign in to comment.