Loading build-chroot.sh +48 −52 Changes for build-chroot.sh: 48 added lines, 52 removed lines. Original line number Diff line number Diff line Loading @@ -1000,30 +1000,22 @@ fetch_url() { # defconfig: framebuffer console for Limine's GOP handoff, zstd squashfs # for the live image, NVMe and virtio (VMs) built in; the NICs are # KERNEL_MODULES, only the Realtek PHY driver r8169 needs stays built in # (phylib asks request_module for it while r8169 probes); plus the bool # options of the GPU modules (amdgpu: SI and CIK cards, which radeon # would drive otherwise, and the HSA/KFD compute driver ROCm talks to); # plus what the initramfs needs to find the live image (loop, # iso9660) and to make it writable (overlayfs over tmpfs); the kernel # file servers sharedd drives: ksmbd (SMB_SERVER) and knfsd (NFSD, NFSv4), # and its iSCSI targets (LIO over configfs: TARGET_CORE, ISCSI_TARGET); # the md RAID levels storaged sets up (0, 1, 10, 4/5/6); and # device-mapper for its LVM (linear/striped are always built in); # bonding and bridging for syslite's .netdev devices (webctl's network page); # veth pairs, the memory cgroup and BPF for cgroups (the device filter) # for containerd's containers; BPF for libbpf/bpftool beyond that: tc # (cls_bpf, act_bpf, the ingress/clsact qdisc), AF_XDP sockets, sockmap # (stream parser), fentry/fexit and syscall tracepoints (function tracer, # dynamic ftrace), BPF LSM (CONFIG_LSM's default list already has bpf), # (phylib asks for it while r8169 probes, from the initramfs on); plus # the bool options of the modules: amdgpu's SI and CIK cards (which # radeon would drive otherwise) and the HSA/KFD compute driver ROCm talks # to, NFSv4 for knfsd, the md menu, the SCSI low-level drivers' menu; # plus what the initramfs needs to find the live image (loop, iso9660) # and to make it writable (overlayfs over tmpfs); the memory cgroup and # BPF for cgroups (the device filter) for containerd's containers; BPF # for libbpf/bpftool beyond that: AF_XDP sockets, sockmap (stream # parser), fentry/fexit and syscall tracepoints (function tracer, dynamic # ftrace), BPF LSM (CONFIG_LSM's default list already has bpf), # /sys/kernel/kheaders.tar.xz for building BPF programs on the target, # and the JIT without the interpreter fallback (no BTF: needs pahole); # the software iSCSI initiator iscsid drives # (iscsi_tcp with the iSCSI transport class); # and the JIT without the interpreter fallback; # USB sticks and the file systems an ISO file may lie on (Ventoy: exFAT, # also NTFS, FAT, ext4), so the initramfs finds a live ISO that isn't a CD; # the hwmon temperature sensors webctl's dashboard reads from # /sys/class/hwmon of NVMe and SATA drives (coretemp, k10temp and # x86_pkg_temp_thermal are KERNEL_MODULES). # /sys/class/hwmon of NVMe and SATA drives (drivetemp has no modalias). KERNEL_OPTIONS="SYSFB SYSFB_SIMPLEFB DRM DRM_SIMPLEDRM DRM_FBDEV_EMULATION FB FB_CORE FRAMEBUFFER_CONSOLE FRAMEBUFFER_CONSOLE_DETECT_PRIMARY SQUASHFS SQUASHFS_ZSTD SQUASHFS_XATTR SQUASHFS_FILE_DIRECT NETDEVICES ETHERNET NET_VENDOR_REALTEK PHYLIB REALTEK_PHY BLK_DEV_NVME Loading @@ -1031,43 +1023,43 @@ KERNEL_OPTIONS="SYSFB SYSFB_SIMPLEFB DRM DRM_SIMPLEDRM DRM_FBDEV_EMULATION FB FB VIRTIO_INPUT VIRTIO_MMIO BLK_DEV_LOOP ISO9660_FS DEVTMPFS DEVTMPFS_MOUNT OVERLAY_FS TMPFS NET_VENDOR_INTEL NET_VENDOR_AQUANTIA DRM_AMDGPU_SI DRM_AMDGPU_CIK DRM_AMDGPU_USERPTR HSA_AMD NETWORK_FILESYSTEMS SMB_SERVER NFSD NFSD_V4 NFSD_LEGACY_CLIENT_TRACKING MD BLK_DEV_MD MD_RAID0 MD_RAID1 MD_RAID10 MD_RAID456 BLK_DEV_DM BONDING BRIDGE WIREGUARD DEBUG_INFO_DWARF5 DEBUG_INFO_BTF VETH MEMCG BPF_SYSCALL CGROUP_BPF BPF_JIT BPF_JIT_ALWAYS_ON NET_CLS_BPF NET_ACT_BPF NET_SCH_INGRESS XDP_SOCKETS BPF_STREAM_PARSER NETWORK_FILESYSTEMS NFSD_V4 NFSD_LEGACY_CLIENT_TRACKING MD SCSI_LOWLEVEL DEBUG_INFO_DWARF5 DEBUG_INFO_BTF MEMCG BPF_SYSCALL CGROUP_BPF BPF_JIT BPF_JIT_ALWAYS_ON XDP_SOCKETS BPF_STREAM_PARSER FUNCTION_TRACER DYNAMIC_FTRACE FTRACE_SYSCALLS BPF_LSM IKHEADERS SCSI_LOWLEVEL SCSI_ISCSI_ATTRS ISCSI_TCP CONFIGFS_FS TARGET_CORE TCM_IBLOCK TCM_FILEIO ISCSI_TARGET NVME_HWMON SENSORS_DRIVETEMP USB_STORAGE USB_UAS EXFAT_FS NTFS3_FS FAT_FS VFAT_FS NLS NLS_CODEPAGE_437 NLS_ISO8859_1 NLS_UTF8" # DEBUG_INFO_BTF needs DWARF (pahole turns it into BTF): DWARF5 replaces # defconfig's DEBUG_INFO_NONE in that choice KERNEL_OPTIONS_OFF="DEBUG_INFO_NONE" # Hardware drivers the boot does not need, as modules (=m, also where # defconfig builds them in): the initramfs has no modules, syslite loads # them from the root file system by the devices' modalias (coldplug, then # uevents). Only drivers that are loaded by modalias: fresh's modprobe is # no request_module() helper (no /sbin/modprobe, no -q, no aliases), so # what the kernel requests by name (rtnl-link-bridge, fs-nfsd, md-raid1, # phy drivers, ...) stays in KERNEL_OPTIONS. GPUs: amdgpu (GCN 1.0 and # newer), radeon (older AMD/ATI), nouveau (NVIDIA; GSP firmware for Turing # and newer), i915 and xe (Intel); they load their firmware while probing, # which a built-in driver could not (no root file system yet). simpledrm # keeps the console on the firmware framebuffer until they take over. # NICs: the Realtek, Intel and Aquantia ones of KERNEL_OPTIONS and the # ones defconfig builds in. Sound (the HDA controller by modalias, its # codecs by request_module; defconfig has none, so no sound before): the # generic parser, Realtek, HDMI/DisplayPort of the GPUs, Conexant, Cirrus, # SigmaTel/IDT, Analog Devices, VIA. The CPU temperature sensors # webctl's dashboard reads (coretemp, k10temp; cpu modalias), the WLAN # stack, the NFS and 9p clients (fs-<type> when mounted), Intel MEI, the # i801 SMBus and USB printers. # Built in although not needed to boot: what the daemons expect to be # there without loading it -- ksmbd, nfsd (sharedd mounts its file system # on /proc/fs/nfsd, which only the module makes), LIO (sharedd), md and # device-mapper (storaged), iscsi_tcp (iscsid), the bond/bridge/veth/ # wireguard devices (syslite, containerd), drivetemp (no modalias). # What the boot does not need, as modules (=m, also where defconfig builds # it in): the initramfs has no modules. syslite loads the drivers of the # devices from the root file system by their modalias (coldplug, then # uevents); the kernel asks fresh's modprobe (KERNEL_MODPROBE_PATH) for # what it requests by name (rtnl-link-bridge, fs-nfs, md-raid1, sch_ingress, # snd-hda codecs, target_core_iblock, ...); the daemons load what has no # such trigger themselves: sharedd ksmbd, nfsd and target_core_mod (LIO), # storaged md_mod and dm_mod, iscsid iscsi_tcp. No md or dm root file # system therefore (the installer doesn't make one). # GPUs: amdgpu (GCN 1.0 and newer), radeon (older AMD/ATI), nouveau # (NVIDIA; GSP firmware for Turing and newer), i915 and xe (Intel); they # load their firmware while probing, which a built-in driver could not (no # root file system yet). simpledrm keeps the console on the firmware # framebuffer until they take over. # NICs: Realtek, Intel, Aquantia and the ones defconfig builds in. # Sound (defconfig has no HDA codecs, so no sound before): the generic # parser, Realtek, HDMI/DisplayPort of the GPUs, Conexant, Cirrus, # SigmaTel/IDT, Analog Devices, VIA. The CPU temperature sensors webctl's # dashboard reads (coretemp, k10temp; cpu modalias), the WLAN stack, the # NFS and 9p clients, Intel MEI, the i801 SMBus and USB printers. # The kernel file servers sharedd drives: ksmbd and knfsd, and its iSCSI # targets (LIO over configfs); the md RAID levels storaged sets up (0, 1, # 10, 4/5/6) and device-mapper for its LVM; bonding and bridging for # syslite's .netdev devices (webctl's network page; modprobe.d from syslite # keeps bonding from making a bond0 of its own), wireguard; veth pairs for # containerd's containers; tc for BPF (cls_bpf, act_bpf, the # ingress/clsact qdisc); the software iSCSI initiator iscsid drives. KERNEL_MODULES="DRM_AMDGPU DRM_RADEON DRM_NOUVEAU DRM_I915 DRM_XE R8169 E100 E1000 E1000E IGB IGC IGBVF IXGBE IXGBEVF I40E ICE AQTION 8139TOO FORCEDETH SKY2 TIGON3 Loading @@ -1076,7 +1068,11 @@ KERNEL_MODULES="DRM_AMDGPU DRM_RADEON DRM_NOUVEAU DRM_I915 DRM_XE SND_HDA_CODEC_ANALOG SND_HDA_CODEC_VIA SENSORS_CORETEMP SENSORS_K10TEMP X86_PKG_TEMP_THERMAL CFG80211 MAC80211 RFKILL NFS_FS 9P_FS NET_9P INTEL_MEI INTEL_MEI_ME I2C_I801 USB_PRINTER" INTEL_MEI INTEL_MEI_ME I2C_I801 USB_PRINTER SMB_SERVER NFSD CONFIGFS_FS TARGET_CORE TCM_IBLOCK TCM_FILEIO ISCSI_TARGET BLK_DEV_MD MD_RAID0 MD_RAID1 MD_RAID10 MD_RAID456 BLK_DEV_DM BONDING BRIDGE WIREGUARD VETH NET_CLS_BPF NET_ACT_BPF NET_SCH_INGRESS SCSI_ISCSI_ATTRS ISCSI_TCP" # the kernel's request_module() helper: fresh's modprobe (-q, aliases from # depmod's modules.alias, built-in modules); fresh has no /sbin/modprobe KERNEL_MODPROBE_PATH="/bin/modprobe" Loading Loading
build-chroot.sh +48 −52 Changes for build-chroot.sh: 48 added lines, 52 removed lines. Original line number Diff line number Diff line Loading @@ -1000,30 +1000,22 @@ fetch_url() { # defconfig: framebuffer console for Limine's GOP handoff, zstd squashfs # for the live image, NVMe and virtio (VMs) built in; the NICs are # KERNEL_MODULES, only the Realtek PHY driver r8169 needs stays built in # (phylib asks request_module for it while r8169 probes); plus the bool # options of the GPU modules (amdgpu: SI and CIK cards, which radeon # would drive otherwise, and the HSA/KFD compute driver ROCm talks to); # plus what the initramfs needs to find the live image (loop, # iso9660) and to make it writable (overlayfs over tmpfs); the kernel # file servers sharedd drives: ksmbd (SMB_SERVER) and knfsd (NFSD, NFSv4), # and its iSCSI targets (LIO over configfs: TARGET_CORE, ISCSI_TARGET); # the md RAID levels storaged sets up (0, 1, 10, 4/5/6); and # device-mapper for its LVM (linear/striped are always built in); # bonding and bridging for syslite's .netdev devices (webctl's network page); # veth pairs, the memory cgroup and BPF for cgroups (the device filter) # for containerd's containers; BPF for libbpf/bpftool beyond that: tc # (cls_bpf, act_bpf, the ingress/clsact qdisc), AF_XDP sockets, sockmap # (stream parser), fentry/fexit and syscall tracepoints (function tracer, # dynamic ftrace), BPF LSM (CONFIG_LSM's default list already has bpf), # (phylib asks for it while r8169 probes, from the initramfs on); plus # the bool options of the modules: amdgpu's SI and CIK cards (which # radeon would drive otherwise) and the HSA/KFD compute driver ROCm talks # to, NFSv4 for knfsd, the md menu, the SCSI low-level drivers' menu; # plus what the initramfs needs to find the live image (loop, iso9660) # and to make it writable (overlayfs over tmpfs); the memory cgroup and # BPF for cgroups (the device filter) for containerd's containers; BPF # for libbpf/bpftool beyond that: AF_XDP sockets, sockmap (stream # parser), fentry/fexit and syscall tracepoints (function tracer, dynamic # ftrace), BPF LSM (CONFIG_LSM's default list already has bpf), # /sys/kernel/kheaders.tar.xz for building BPF programs on the target, # and the JIT without the interpreter fallback (no BTF: needs pahole); # the software iSCSI initiator iscsid drives # (iscsi_tcp with the iSCSI transport class); # and the JIT without the interpreter fallback; # USB sticks and the file systems an ISO file may lie on (Ventoy: exFAT, # also NTFS, FAT, ext4), so the initramfs finds a live ISO that isn't a CD; # the hwmon temperature sensors webctl's dashboard reads from # /sys/class/hwmon of NVMe and SATA drives (coretemp, k10temp and # x86_pkg_temp_thermal are KERNEL_MODULES). # /sys/class/hwmon of NVMe and SATA drives (drivetemp has no modalias). KERNEL_OPTIONS="SYSFB SYSFB_SIMPLEFB DRM DRM_SIMPLEDRM DRM_FBDEV_EMULATION FB FB_CORE FRAMEBUFFER_CONSOLE FRAMEBUFFER_CONSOLE_DETECT_PRIMARY SQUASHFS SQUASHFS_ZSTD SQUASHFS_XATTR SQUASHFS_FILE_DIRECT NETDEVICES ETHERNET NET_VENDOR_REALTEK PHYLIB REALTEK_PHY BLK_DEV_NVME Loading @@ -1031,43 +1023,43 @@ KERNEL_OPTIONS="SYSFB SYSFB_SIMPLEFB DRM DRM_SIMPLEDRM DRM_FBDEV_EMULATION FB FB VIRTIO_INPUT VIRTIO_MMIO BLK_DEV_LOOP ISO9660_FS DEVTMPFS DEVTMPFS_MOUNT OVERLAY_FS TMPFS NET_VENDOR_INTEL NET_VENDOR_AQUANTIA DRM_AMDGPU_SI DRM_AMDGPU_CIK DRM_AMDGPU_USERPTR HSA_AMD NETWORK_FILESYSTEMS SMB_SERVER NFSD NFSD_V4 NFSD_LEGACY_CLIENT_TRACKING MD BLK_DEV_MD MD_RAID0 MD_RAID1 MD_RAID10 MD_RAID456 BLK_DEV_DM BONDING BRIDGE WIREGUARD DEBUG_INFO_DWARF5 DEBUG_INFO_BTF VETH MEMCG BPF_SYSCALL CGROUP_BPF BPF_JIT BPF_JIT_ALWAYS_ON NET_CLS_BPF NET_ACT_BPF NET_SCH_INGRESS XDP_SOCKETS BPF_STREAM_PARSER NETWORK_FILESYSTEMS NFSD_V4 NFSD_LEGACY_CLIENT_TRACKING MD SCSI_LOWLEVEL DEBUG_INFO_DWARF5 DEBUG_INFO_BTF MEMCG BPF_SYSCALL CGROUP_BPF BPF_JIT BPF_JIT_ALWAYS_ON XDP_SOCKETS BPF_STREAM_PARSER FUNCTION_TRACER DYNAMIC_FTRACE FTRACE_SYSCALLS BPF_LSM IKHEADERS SCSI_LOWLEVEL SCSI_ISCSI_ATTRS ISCSI_TCP CONFIGFS_FS TARGET_CORE TCM_IBLOCK TCM_FILEIO ISCSI_TARGET NVME_HWMON SENSORS_DRIVETEMP USB_STORAGE USB_UAS EXFAT_FS NTFS3_FS FAT_FS VFAT_FS NLS NLS_CODEPAGE_437 NLS_ISO8859_1 NLS_UTF8" # DEBUG_INFO_BTF needs DWARF (pahole turns it into BTF): DWARF5 replaces # defconfig's DEBUG_INFO_NONE in that choice KERNEL_OPTIONS_OFF="DEBUG_INFO_NONE" # Hardware drivers the boot does not need, as modules (=m, also where # defconfig builds them in): the initramfs has no modules, syslite loads # them from the root file system by the devices' modalias (coldplug, then # uevents). Only drivers that are loaded by modalias: fresh's modprobe is # no request_module() helper (no /sbin/modprobe, no -q, no aliases), so # what the kernel requests by name (rtnl-link-bridge, fs-nfsd, md-raid1, # phy drivers, ...) stays in KERNEL_OPTIONS. GPUs: amdgpu (GCN 1.0 and # newer), radeon (older AMD/ATI), nouveau (NVIDIA; GSP firmware for Turing # and newer), i915 and xe (Intel); they load their firmware while probing, # which a built-in driver could not (no root file system yet). simpledrm # keeps the console on the firmware framebuffer until they take over. # NICs: the Realtek, Intel and Aquantia ones of KERNEL_OPTIONS and the # ones defconfig builds in. Sound (the HDA controller by modalias, its # codecs by request_module; defconfig has none, so no sound before): the # generic parser, Realtek, HDMI/DisplayPort of the GPUs, Conexant, Cirrus, # SigmaTel/IDT, Analog Devices, VIA. The CPU temperature sensors # webctl's dashboard reads (coretemp, k10temp; cpu modalias), the WLAN # stack, the NFS and 9p clients (fs-<type> when mounted), Intel MEI, the # i801 SMBus and USB printers. # Built in although not needed to boot: what the daemons expect to be # there without loading it -- ksmbd, nfsd (sharedd mounts its file system # on /proc/fs/nfsd, which only the module makes), LIO (sharedd), md and # device-mapper (storaged), iscsi_tcp (iscsid), the bond/bridge/veth/ # wireguard devices (syslite, containerd), drivetemp (no modalias). # What the boot does not need, as modules (=m, also where defconfig builds # it in): the initramfs has no modules. syslite loads the drivers of the # devices from the root file system by their modalias (coldplug, then # uevents); the kernel asks fresh's modprobe (KERNEL_MODPROBE_PATH) for # what it requests by name (rtnl-link-bridge, fs-nfs, md-raid1, sch_ingress, # snd-hda codecs, target_core_iblock, ...); the daemons load what has no # such trigger themselves: sharedd ksmbd, nfsd and target_core_mod (LIO), # storaged md_mod and dm_mod, iscsid iscsi_tcp. No md or dm root file # system therefore (the installer doesn't make one). # GPUs: amdgpu (GCN 1.0 and newer), radeon (older AMD/ATI), nouveau # (NVIDIA; GSP firmware for Turing and newer), i915 and xe (Intel); they # load their firmware while probing, which a built-in driver could not (no # root file system yet). simpledrm keeps the console on the firmware # framebuffer until they take over. # NICs: Realtek, Intel, Aquantia and the ones defconfig builds in. # Sound (defconfig has no HDA codecs, so no sound before): the generic # parser, Realtek, HDMI/DisplayPort of the GPUs, Conexant, Cirrus, # SigmaTel/IDT, Analog Devices, VIA. The CPU temperature sensors webctl's # dashboard reads (coretemp, k10temp; cpu modalias), the WLAN stack, the # NFS and 9p clients, Intel MEI, the i801 SMBus and USB printers. # The kernel file servers sharedd drives: ksmbd and knfsd, and its iSCSI # targets (LIO over configfs); the md RAID levels storaged sets up (0, 1, # 10, 4/5/6) and device-mapper for its LVM; bonding and bridging for # syslite's .netdev devices (webctl's network page; modprobe.d from syslite # keeps bonding from making a bond0 of its own), wireguard; veth pairs for # containerd's containers; tc for BPF (cls_bpf, act_bpf, the # ingress/clsact qdisc); the software iSCSI initiator iscsid drives. KERNEL_MODULES="DRM_AMDGPU DRM_RADEON DRM_NOUVEAU DRM_I915 DRM_XE R8169 E100 E1000 E1000E IGB IGC IGBVF IXGBE IXGBEVF I40E ICE AQTION 8139TOO FORCEDETH SKY2 TIGON3 Loading @@ -1076,7 +1068,11 @@ KERNEL_MODULES="DRM_AMDGPU DRM_RADEON DRM_NOUVEAU DRM_I915 DRM_XE SND_HDA_CODEC_ANALOG SND_HDA_CODEC_VIA SENSORS_CORETEMP SENSORS_K10TEMP X86_PKG_TEMP_THERMAL CFG80211 MAC80211 RFKILL NFS_FS 9P_FS NET_9P INTEL_MEI INTEL_MEI_ME I2C_I801 USB_PRINTER" INTEL_MEI INTEL_MEI_ME I2C_I801 USB_PRINTER SMB_SERVER NFSD CONFIGFS_FS TARGET_CORE TCM_IBLOCK TCM_FILEIO ISCSI_TARGET BLK_DEV_MD MD_RAID0 MD_RAID1 MD_RAID10 MD_RAID456 BLK_DEV_DM BONDING BRIDGE WIREGUARD VETH NET_CLS_BPF NET_ACT_BPF NET_SCH_INGRESS SCSI_ISCSI_ATTRS ISCSI_TCP" # the kernel's request_module() helper: fresh's modprobe (-q, aliases from # depmod's modules.alias, built-in modules); fresh has no /sbin/modprobe KERNEL_MODPROBE_PATH="/bin/modprobe" Loading