Commit 3560b088 authored by jan.koester's avatar jan.koester
Browse files

nas-itx: fixed kernel release, NAS features built in, modules.tar

The git hash in the release moved /lib/modules/<release> with every kernel
commit, so the installed rootfs' modules no longer loaded (bridge, bonding,
nf_tables, ...). Release is now 7.3.0-rc7-fenrir; the kernel step ships
the matching modules as out/modules.tar. Networking/netfilter/iSCSI
target/dm-crypt/filesystems are built in, only dummy and ntfs3 (exclusive
with ntfs) stay modules.

Co-Authored-By: default avatarClaude Opus 5.5 <noreply@anthropic.com>
parent 8d75bb39
Loading
Loading
Loading
Loading
+29 −23
Changes for boards/nas-itx/kernel.config: 29 added lines, 23 removed lines.
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ CONFIG_SCSI=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DRIVETEMP=y

# --- Ethernet: eTSEC SGMII + Lantiq PEF7071 ---
CONFIG_NETDEVICES=y
@@ -138,36 +138,36 @@ CONFIG_MD_RAID456=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_RAID=y
CONFIG_DM_CRYPT=m
CONFIG_CONFIGFS_FS=m
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_ISCSI_TARGET=m
CONFIG_DM_CRYPT=y
CONFIG_CONFIGFS_FS=y
CONFIG_TARGET_CORE=y
CONFIG_TCM_IBLOCK=y
CONFIG_TCM_FILEIO=y
CONFIG_ISCSI_TARGET=y
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_NAT=m
CONFIG_NF_TABLES=m
CONFIG_NF_CONNTRACK=y
CONFIG_NF_NAT=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_CT=m
CONFIG_NFT_NAT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_BONDING=m
CONFIG_WIREGUARD=m
CONFIG_VETH=m
CONFIG_NFT_CT=y
CONFIG_NFT_NAT=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_REJECT=y
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
CONFIG_BRIDGE=y
CONFIG_VLAN_8021Q=y
CONFIG_BONDING=y
CONFIG_WIREGUARD=y
CONFIG_VETH=y
# mpc85xx_defconfig builds it in; a dummy0 at boot only gets DHCP tried on it
CONFIG_DUMMY=m
CONFIG_USB_SUPPORT=n
CONFIG_EXFAT_FS=m
CONFIG_EXFAT_FS=y
CONFIG_NTFS3_FS=m
CONFIG_VFAT_FS=m
CONFIG_VFAT_FS=y
CONFIG_NLS_UTF8=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
@@ -180,3 +180,9 @@ CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
# the nftables families' reject/defrag helpers, selected by the above
CONFIG_NFT_REJECT_INET=y
# fixed release name: with the git hash in it every kernel commit moved
# /lib/modules/<release>, and the rootfs' modules stopped loading
CONFIG_LOCALVERSION_AUTO=n
CONFIG_LOCALVERSION="-fenrir"
+12 −1
Changes for build-cross.sh: 12 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -131,7 +131,8 @@ check_deps() {
}

kmake() {
    make -C "$KERNEL_SRC" O="$KBUILD" ARCH="$KARCH" LLVM=1 -j"$JOBS" "$@"
    # LOCALVERSION set (empty): no "+" appended to a non-tag tree's release
    make -C "$KERNEL_SRC" O="$KBUILD" ARCH="$KARCH" LLVM=1 LOCALVERSION= -j"$JOBS" "$@"
}

# ---------------------------------------------------------------------------
@@ -363,6 +364,16 @@ step_kernel() {
    run kernel dtc -I dts -O dtb -i "$KERNEL_SRC/$KDTS_INC" -o "$OUT/$BOARD.dtb" "$BOARD_DIR/$BOARD.dts"
    cp "$KBUILD/arch/$KARCH/boot/$KIMAGE" "$OUT/$KIMAGE"
    msg "kernel: $(kmake -s kernelrelease 2>/dev/null)  $KIMAGE $(du -h "$OUT/$KIMAGE" | cut -f1)"
    # the matching modules, for a board updated without a new rootfs:
    # tar -xf modules.tar -C /   (they live in /usr/lib/modules/<release>)
    local rel ms="$BUILD/modstage"
    rel="$(kmake -s kernelrelease)"
    rm -rf "$ms"
    run kernel kmake INSTALL_MOD_PATH="$ms$PREFIX" INSTALL_MOD_STRIP=1 DEPMOD=true modules_install
    rm -f "$ms$PREFIX"/lib/modules/*/build "$ms$PREFIX"/lib/modules/*/source
    if command -v depmod >/dev/null; then run kernel depmod -b "$ms$PREFIX" "$rel"; fi
    tar -C "$ms" --owner=0 --group=0 -cf "$OUT/modules.tar" ."$PREFIX/lib/modules/$rel"
    msg "kernel: modules.tar ($rel, $(du -h "$OUT/modules.tar" | cut -f1))"
    [[ $KIMAGE == uImage ]] && make_boot_image
}