Compare commits

...

1 Commits

Author SHA1 Message Date
jonathan
c070196b5d fixed network issue, fixed docker start issue 2025-11-08 21:49:06 +01:00
6 changed files with 100 additions and 16 deletions

View File

@@ -10,7 +10,6 @@ CONFIG_MEMCG=y
CONFIG_BLK_CGROUP=y CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_SCHED=y CONFIG_CGROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_FREEZER=y
@@ -26,54 +25,99 @@ CONFIG_SMP=y
CONFIG_HYPERVISOR_GUEST=y CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_SPINLOCKS=y CONFIG_PARAVIRT_SPINLOCKS=y
# CONFIG_X86_MCE_AMD is not set
CONFIG_X86_CPUID=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_ACPI_DOCK=y
CONFIG_INTEL_IDLE=y
# CONFIG_GCC_PLUGINS is not set # CONFIG_GCC_PLUGINS is not set
CONFIG_MODULES=y CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_UNLOAD=y
CONFIG_NET=y CONFIG_NET=y
CONFIG_PACKET=y CONFIG_PACKET=y
CONFIG_UNIX=y CONFIG_UNIX=y
CONFIG_XFRM_USER=y
CONFIG_NET_KEY=y
CONFIG_INET=y CONFIG_INET=y
CONFIG_NETFILTER=y CONFIG_NETFILTER=y
CONFIG_BRIDGE_NETFILTER=y CONFIG_BRIDGE_NETFILTER=y
CONFIG_NF_CONNTRACK=y CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_NAT=y CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_RAW=y CONFIG_IP_NF_RAW=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_NAT=y
CONFIG_IP6_NF_TARGET_MASQUERADE=y
CONFIG_BRIDGE=y CONFIG_BRIDGE=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
# CONFIG_WIRELESS is not set # CONFIG_WIRELESS is not set
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCI_MSI=y
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_IOV=y
CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DMI_SYSFS=y
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_DRBD=m CONFIG_BLK_DEV_DRBD=y
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=1 CONFIG_BLK_DEV_RAM_COUNT=1
CONFIG_VIRTIO_BLK=y CONFIG_VIRTIO_BLK=y
CONFIG_BLK_DEV_RBD=m CONFIG_BLK_DEV_RBD=y
CONFIG_BLK_DEV_NVME=y CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_VIRTIO=y CONFIG_SCSI_VIRTIO=y
CONFIG_ATA=y CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_ATA_PIIX=y CONFIG_ATA_PIIX=y
CONFIG_MD=y
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
CONFIG_TUN=y
CONFIG_VETH=y CONFIG_VETH=y
CONFIG_VIRTIO_NET=y CONFIG_VIRTIO_NET=y
CONFIG_E1000E=y
CONFIG_IGB=y
CONFIG_IGC=y
CONFIG_NE2K_PCI=y CONFIG_NE2K_PCI=y
CONFIG_8139CP=y CONFIG_8139CP=y
CONFIG_PHYLIB=y
# CONFIG_WLAN is not set # CONFIG_WLAN is not set
CONFIG_INPUT_EVDEV=y CONFIG_INPUT_EVDEV=y
CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_VIRTIO_CONSOLE=y CONFIG_VIRTIO_CONSOLE=y
CONFIG_HW_RANDOM_VIRTIO=m CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_SENSORS_CORETEMP=y
CONFIG_INTEL_POWERCLAMP=y
CONFIG_INTEL_PCH_THERMAL=y
CONFIG_DRM=y CONFIG_DRM=y
CONFIG_DRM_I915=y
CONFIG_DRM_QXL=y CONFIG_DRM_QXL=y
CONFIG_DRM_VIRTIO_GPU=y CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_BOCHS=y CONFIG_DRM_BOCHS=y
CONFIG_FB=y
CONFIG_FB_EFI=y
CONFIG_FB_SIMPLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=120
CONFIG_DUMMY_CONSOLE_ROWS=50
CONFIG_LOGO=y
CONFIG_SOUND=y CONFIG_SOUND=y
CONFIG_SND=y CONFIG_SND=y
CONFIG_SND_HDA_INTEL=y CONFIG_SND_HDA_INTEL=y
@@ -89,15 +133,20 @@ CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_EXT4_FS=y CONFIG_EXT4_FS=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y CONFIG_FUSE_FS=y
CONFIG_OVERLAY_FS=y CONFIG_OVERLAY_FS=y
# CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set
CONFIG_OVERLAY_FS_INDEX=y CONFIG_OVERLAY_FS_INDEX=y
CONFIG_OVERLAY_FS_XINO_AUTO=y CONFIG_OVERLAY_FS_XINO_AUTO=y
CONFIG_OVERLAY_FS_METACOPY=y CONFIG_OVERLAY_FS_METACOPY=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_POSIX_ACL=y
CONFIG_EFIVAR_FS=y
CONFIG_SQUASHFS=y CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XATTR=y
CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_DEFLATE=y
CONFIG_DEBUG_FS=y
CONFIG_UNWINDER_FRAME_POINTER=y CONFIG_UNWINDER_FRAME_POINTER=y
CONFIG_X86_MSR=y
CONFIG_CPU_FREQ_STAT=y

26
board/qemu/x86_64/post-build.sh Normal file → Executable file
View File

@@ -1,11 +1,21 @@
#!/bin/sh #!/bin/sh
set -u
set -e set -e
# Add a console on tty1 # echo "[nimux] Enabling getty on tty1 (graphical) and ttyS0 (serial)..."
if [ -e ${TARGET_DIR}/etc/inittab ]; then
grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \ # # Ensure target directories exist
sed -i '/GENERIC_SERIAL/a\ # mkdir -p "${TARGET_DIR}/etc/systemd/system/getty.target.wants"
tty1::respawn:/sbin/getty -L tty1 0 vt100 # QEMU graphical window' ${TARGET_DIR}/etc/inittab
fi # # Create or refresh symlinks for tty1 and ttyS0 getty services
# ln -sf /usr/lib/systemd/system/getty@.service \
# "${TARGET_DIR}/etc/systemd/system/getty.target.wants/getty@tty1.service"
# ln -sf /usr/lib/systemd/system/getty@.service \
# "${TARGET_DIR}/etc/systemd/system/getty.target.wants/getty@ttyS0.service"
# # Optional: also ensure getty.target is enabled (some minimal setups need this)
# mkdir -p "${TARGET_DIR}/etc/systemd/system/multi-user.target.wants"
# ln -sf /usr/lib/systemd/system/getty.target \
# "${TARGET_DIR}/etc/systemd/system/multi-user.target.wants/getty.target"
# echo "[nimux] Getty services linked successfully."

View File

@@ -1,5 +1,6 @@
BR2_x86_64=y BR2_x86_64=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_12=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_GLOBAL_PATCH_DIR="board/qemu/patches" BR2_GLOBAL_PATCH_DIR="board/qemu/patches"
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
BR2_RELRO_PARTIAL=y BR2_RELRO_PARTIAL=y
@@ -30,9 +31,17 @@ BR2_PACKAGE_LINUX_TOOLS_CPUPOWER=y
BR2_PACKAGE_SQUASHFS=y BR2_PACKAGE_SQUASHFS=y
BR2_PACKAGE_ZFS=y BR2_PACKAGE_ZFS=y
BR2_PACKAGE_ACPID=y BR2_PACKAGE_ACPID=y
BR2_PACKAGE_ACPITOOL=y
BR2_PACKAGE_HDDTEMP=y
BR2_PACKAGE_HDPARM=y BR2_PACKAGE_HDPARM=y
BR2_PACKAGE_HWDATA=y
BR2_PACKAGE_HWDATA_IAB_OUI_TXT=y BR2_PACKAGE_HWDATA_IAB_OUI_TXT=y
BR2_PACKAGE_LM_SENSORS=y
BR2_PACKAGE_LM_SENSORS_FANCONTROL=y
BR2_PACKAGE_LM_SENSORS_PWMCONFIG=y
BR2_PACKAGE_LSHW=y
BR2_PACKAGE_MHZ=y
BR2_PACKAGE_NVME=y
BR2_PACKAGE_POWERTOP=y
BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON_SETUPTOOLS=y BR2_PACKAGE_PYTHON_SETUPTOOLS=y
BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_CA_CERTIFICATES=y
@@ -40,8 +49,11 @@ BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_LIBGLIB2=y BR2_PACKAGE_LIBGLIB2=y
BR2_PACKAGE_BRIDGE_UTILS=y BR2_PACKAGE_BRIDGE_UTILS=y
BR2_PACKAGE_IFTOP=y BR2_PACKAGE_IFTOP=y
BR2_PACKAGE_IPROUTE2=y
BR2_PACKAGE_IPUTILS=y
BR2_PACKAGE_NTP=y BR2_PACKAGE_NTP=y
BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_OPENSSH=y
BR2_PACKAGE_RSYNC=y
BR2_PACKAGE_BASH_COMPLETION=y BR2_PACKAGE_BASH_COMPLETION=y
BR2_PACKAGE_INOTIFY_TOOLS=y BR2_PACKAGE_INOTIFY_TOOLS=y
BR2_PACKAGE_SUDO=y BR2_PACKAGE_SUDO=y
@@ -49,11 +61,12 @@ BR2_PACKAGE_CPULOAD=y
BR2_PACKAGE_DOCKER_CLI=y BR2_PACKAGE_DOCKER_CLI=y
BR2_PACKAGE_DOCKER_COMPOSE=y BR2_PACKAGE_DOCKER_COMPOSE=y
BR2_PACKAGE_DOCKER_ENGINE=y BR2_PACKAGE_DOCKER_ENGINE=y
BR2_PACKAGE_DOCKER_ENGINE_DOCKER_INIT_CATATONIT=y
BR2_PACKAGE_SYSTEMD_BOOT=y
BR2_PACKAGE_SYSTEMD_ANALYZE=y BR2_PACKAGE_SYSTEMD_ANALYZE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_NANO=y BR2_PACKAGE_NANO=y
# BR2_PACKAGE_NANO_TINY is not set # BR2_PACKAGE_NANO_TINY is not set
BR2_TARGET_ROOTFS_SQUASHFS=y BR2_TARGET_ROOTFS_SQUASHFS=y
# BR2_TARGET_ROOTFS_TAR is not set # BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_QEMU=y
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
BR2_PACKAGE_PYTHON_XONSH=y BR2_PACKAGE_PYTHON_XONSH=y

View File

@@ -1 +1,3 @@
include $(sort $(wildcard $(BR2_EXTERNAL_NIMUX_PATH)/package/*/*.mk)) include $(sort $(wildcard $(BR2_EXTERNAL_NIMUX_PATH)/package/*/*.mk))
BR2_ROOTFS_POST_BUILD_SCRIPT += $(BR2_EXTERNAL_NIMUX_PATH)/board/qemu/x86_64/post-build.sh

View File

@@ -1,7 +1,8 @@
[Match] [Match]
# Match all real Ethernet interfaces # Match all real Ethernet interfaces
Type=ether Type=ether
Name=!lo !docker* !veth* !br* !virbr* !tap* !tun* !vmnet* !zt* !tailscale* !wg* # Prevent virtual devices to match (e.g. docker0 and veth should be left alone)
Name=en* eth*
[Network] [Network]
DHCP=yes DHCP=yes

View File

@@ -0,0 +1,9 @@
#!/bin/xonsh --no-rc
zpool create -o ashift=12 -O normalization=formD -O xattr=sa \
-O atime=off -O acltype=posix -O mountpoint=none nimux-zfs mirror /dev/vda /dev/vdb
zfs create -o mountpoint=/mnt/data nimux-zfs/data
zfs create -o mountpoint=/var/lib/docker nimux-zfs/docker
zfs create -o mountpoint=/var/lib/docker/volumes -o compression=zstd nimux-zfs/docker/volumes
zfs create -o mountpoint=none nimux-zfs/root
zfs create -o mountpoint=/run/nimux/overlay/etc/persist nimux-zfs/root/etc
zfs create -o mountpoint=/home nimux-zfs/root/home