Joel Wirāmu Pauling 542f03f335 feat(network): modernize stack with systemd-resolved, IWD, and kernel alignment
This patch moves the distribution to a modern network stack using systemd-resolved
integrated with IWD and Connman, alongside a kernel configuration alignment to support
modern routing standards. This resolves historical connectivity issues regarding
DNS search paths, captive portals, blocked DNS scenarios, and IPv6 gateway selection.

Detailed changes:

1. Systemd-Resolved & Configuration Logic:
   - Configured IWD to use native systemd-resolved support via DBus.
   - Retained standard distribution `resolv.conf` symlink/pointer behavior for
     backward compatibility.
   - EXPANDED: Added support for persistent user overrides.
     * If `/storage/.config/resolv.conf` is populated by the user, it will be
       honored and take precedence over automatic discovery.
   - Specific handling for domain search paths and captive portal complexity.

2. Connman Improvements:
   - Removed hardcoded single fallback DNS entries.
   - *Rationale:* These entries were never updated and caused connectivity/resolution
     failures when the primary DNS path was blocked or unavailable.

3. System Integration & Permissions (Compatibility Shims):
   - Added `dummy` user (UID 100) and `nobody` group (standard overflow UID/GID).
   - *Rationale:* Required to satisfy `systemd-resolved` internal sandboxing constraints.
     Although Rocknix runs as root, systemd-resolved enforces privilege dropping for
     specific internal operations.
   - *Standardization:* Aligning these mappings (User 100, nobody/nogroup) with
     Linux standards resolves dependencies for multiple services beyond systemd
     (e.g., NFS idmapd, Avahi, RPC).
   - *Maintainability:* chosen over binary patching to ensure package cleanliness.

4. Avahi / mDNS:
   - Integrated with existing Avahi setup to prevent systemd-resolved from
     binding to mDNS ports, avoiding conflict.

5. IWD Updates:
   - Optimized IPv6 support configuration.
   - Enabled Kernel Crypto User API (`AF_ALG`) interaction for WPA3/SAE support.

6. Kernel Configuration Alignment:
   - **Performance:** Enforced `TCP_CONG_BBR` and `NET_SCH_FQ_CODEL` as the
     kernel defaults. This mitigates bufferbloat and improves throughput in
     congested WiFi environments compared to the previous cubic/fifo defaults.
   - **IPv6 Compliance:** Enabled `ROUTER_PREF`, `MULTIPLE_TABLES`, `SUBTREES`,
     and `MROUTE`.
     * *Rationale:* Required for policy routing used by modern network managers
       and ensures correct gateway selection in multi-router environments.
   - **VPN & VLAN Support:** Enabled `TUN`, `WIREGUARD`, `BRIDGE`, and `VLAN_8021Q`.
     * *Rationale:* Provides necessary primitives for Tailscale, WireGuard, and
       VLAN-tagged WAN/IoT isolation. Container networking (IPVLAN/MACVLAN)
       remains disabled to prevent conflicts with L3 Master Device selection.
   - **Netfilter Modernization:** Enabled `NF_TABLES` with `NFT_COMPAT` while
     retaining legacy `IP_NF_IPTABLES` support.
     * *Rationale:* Allows modern tooling to use efficient NFTables backends
       while maintaining backward compatibility for existing user scripts.
   - **Hardware Cryptography:** Enabled SoC-specific hardware crypto drivers as
     modules (`CRYPTO_DEV_ROCKCHIP`, `CRYPTO_DEV_QCE`, `CRYPTO_DEV_AMLOGIC_GXL`,
     `CRYPTO_DEV_SUN8I`) to support hardware-offloaded operations for IWD/SAE
     and VPNs where available.

7. Device Specific Cleanups:
   - **SDM845 (Kernel 5.18):** Explicitly disabled legacy Android Power Management
     flags (`CONFIG_PM_SLEEP`, `CONFIG_SUSPEND`)
2026-01-29 21:51:24 +13:00
2025-11-12 21:31:15 +01:00
2025-11-16 21:03:46 +00:00
2025-08-09 13:52:08 +10:00
2025-07-14 18:35:54 +01:00
2025-07-13 19:02:44 +01:00
2025-11-09 22:25:20 +01:00
2025-11-01 11:25:09 +02:00

      Latest Version Activity Pull Requests Discord Server


ROCKNIX is an immutable Linux distribution for handheld gaming devices developed by a small community of enthusiasts. Our goal is to produce an operating system that has the features and capabilities that we need, and to have fun as we develop it.

Features

  • ROCKNIX has a very active community of developers and users.
  • Integrated cross-device local and remote network play.
  • In-game touch support on supported devices.
  • Fine grain control for battery life or performance.
  • Includes support for playing Music and Video.
  • Bluetooth audio and controller support.
  • Support for HDMI audio and video out, and USB audio.
  • Device to device and device to cloud sync with Syncthing and rclone.
  • VPN support with Wireguard, Tailscale, and ZeroTier.
  • Includes built-in support for scraping and retroachievements.

Screenshots

Community

The ROCKNIX community utilizes Discord for discussion, if you would like to join us please use this link: https://discord.gg/seTxckZjJy

Licenses

ROCKNIX is a fork of JELOS, all licenses apply and credit to the JELOS team.

You are free to:

  • Share: copy and redistribute the material in any medium or format
  • Adapt: remix, transform, and build upon the material

Under the following terms:

  • Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • NonCommercial: You may not use the material for commercial purposes.
  • ShareAlike: If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.

ROCKNIX Software

Copyright (C) 2024-present ROCKNIX

Original software and scripts developed by the ROCKNIX are licensed under the terms of the GNU GPL Version 2. The full license can be found in this project's licenses folder.

Bundled Works

All other software is provided under each component's respective license. These licenses can be found in the software sources or in this project's licenses folder. Modifications to bundled software and scripts by the JELOS team are licensed under the terms of the software being modified.

Credits

Like any Linux distribution, this project is not the work of one person. It is the work of many persons all over the world who have developed the open source bits without which this project could not exist. Special thanks to CoreELEC, LibreELEC, JELOS, and to developers and contributors across the open source community.

Description
No description provided
Readme 419 MiB
Languages
Makefile 50.2%
Shell 39.2%
Python 7.6%
C 1.2%
C++ 0.8%
Other 1%