08605ab422
Place physical hardware inventories and VPS resource allocations near the top of each box page, while leaving broader platform details in their topical sections.
64 lines
2.5 KiB
Markdown
64 lines
2.5 KiB
Markdown
# castle
|
|
|
|
The home workstation / gaming desktop. Diskless-style: it netboots from `river` and keeps its
|
|
root storage on NVMe-oF volumes from `cellar`.
|
|
|
|
- **Source:** [`nixos/boxes/home/castle/`](../../../nixos/boxes/home/castle) (`default.nix`)
|
|
- **Host:** physical
|
|
- **nixpkgs:** `mine`
|
|
|
|
## Hardware
|
|
|
|
| Component | Inventory |
|
|
|---|---|
|
|
| Platform | ASUS ProArt X670E-CREATOR WIFI |
|
|
| CPU | AMD Ryzen 9 7950X (16 cores / 32 threads) |
|
|
| Memory | 64 GiB |
|
|
| Graphics | Integrated AMD Radeon graphics |
|
|
| Network | Mellanox ConnectX-4 100G, Aquantia AQC113CS 10G, Intel I225-V 2.5G and MediaTek MT7922 Wi-Fi 6E controllers |
|
|
| System storage | No local root disk; the box netboots and uses the SPDK NVMe-oF namespace exported by `cellar` |
|
|
|
|
## Role
|
|
|
|
### Desktop
|
|
|
|
The AMD desktop runs the GUI stack (`my.gui.enable`, Sway/Wayland via home-manager), low-latency
|
|
PipeWire, Bluetooth and Thunderbolt. Local `libvirtd`/`virt-manager` and the IOMMU are enabled, but
|
|
the box has no VFIO or GPU-passthrough configuration.
|
|
|
|
### Netboot
|
|
|
|
With `my.netboot.client.enable`, the firmware iPXE-boots from the 2.5G NIC. Kea matches
|
|
`et2.5g`'s MAC and directs it to `boot.h.nul.ie` on [`river`](river.md).
|
|
|
|
### NVMe-oF root
|
|
|
|
`/nix`, `/persist` and `/home` are `/dev/nvmeof/*` LVs in `cellar`'s
|
|
`nqn.2016-06.io.spdk:castle` namespace (`my.nvme.boot`, RDMA). The initrd brings
|
|
up `et100g`/`lan-hi` with `roceBootModules`; the running network keeps
|
|
`KeepConfiguration=static` so networkd does not drop the storage address. The root filesystem is a
|
|
size-limited tmpfs (`my.tmproot`).
|
|
|
|
### Other configuration
|
|
|
|
Both firewalls are disabled on this trusted `hi` desktop. Other settings include `binfmt`
|
|
emulation for `aarch64-linux`/`armv7l-linux`, `recursive-nix`, Wireshark and `rdma-core`/`qperf`;
|
|
a `drm-amd-display` flicker patch remains commented out.
|
|
|
|
## Network assignments
|
|
|
|
See the consolidated [network assignments](../../networking.md#box-assignments) table (this box: `castle`).
|
|
|
|
## Networking
|
|
|
|
- `et100g` (100G, MTU 9000) carries `lan-hi` (the `hi` assignment, also pinned by a kea
|
|
reservation on its MAC) and `lan-lo`.
|
|
- `lan-lo` is a secondary network attachment: DHCPv4 with `UseGateway`/`UseDNS` off and RAs
|
|
accepted with gateway/DNS use off — present for reaching `lo` devices, never a default route.
|
|
- `et2.5g` (netboot) and `et10g` are renamed but carry no network config.
|
|
|
|
## Notable config files
|
|
|
|
- [`nixos/boxes/home/castle/default.nix`](../../../nixos/boxes/home/castle/default.nix) — box
|
|
config: netboot/NVMe-oF boot, 100G networking, GUI/audio, virtualisation.
|