Now boots further, but then cannot open the rootfs, likely because we're not replacing the DTB with the one updated for TFTP yet ``` pci 0000:00:00.0: [0e8d:0801] type 01 class 0x060400 pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff] pci 0000:00:00.0: supports D1 pci 0000:00:00.0: PME# supported from D0 D1 D3hot pci 0000:00:01.0: [0e8d:0801] type 01 class 0x060400 pci 0000:00:01.0: reg 0x10: [mem 0x00000000-0x7fffffff] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x0000ffff] pci 0000:00:01.0: supports D1 pci 0000:00:01.0: PME# supported from D0 D1 D3hot pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring pci 0000:01:00.0: [14c3:7916] type 00 class 0x000280 pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit pref] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x00003fff 64bit pref] pci 0000:01:00.0: reg 0x20: [mem 0x00000000-0x00000fff 64bit pref] pci 0000:01:00.0: supports D1 D2 pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link) pci 0000:00:00.0: PCI bridge to [bus 01-ff] pci 0000:00:00.0: bridge window [io 0x0000-0x0fff] pci 0000:00:00.0: bridge window [mem 0x00000000-0x000fffff] pci 0000:00:00.0: bridge window [mem 0x00000000-0x000fffff pref] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01 pci 0000:02:00.0: [14c3:7915] type 00 class 0x000280 pci 0000:02:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit pref] pci 0000:02:00.0: reg 0x18: [mem 0x00000000-0x00003fff 64bit pref] pci 0000:02:00.0: reg 0x20: [mem 0x00000000-0x00000fff 64bit pref] pci 0000:02:00.0: supports D1 D2 pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold pci 0000:02:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:01.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link) pci 0000:00:01.0: PCI bridge to [bus 02-ff] pci 0000:00:01.0: bridge window [io 0x0000-0x0fff] pci 0000:00:01.0: bridge window [mem 0x00000000-0x000fffff] pci 0000:00:01.0: bridge window [mem 0x00000000-0x000fffff pref] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02 pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000] pci 0000:00:01.0: BAR 0: no space for [mem size 0x80000000] pci 0000:00:01.0: BAR 0: failed to assign [mem size 0x80000000] pci 0000:00:00.0: BAR 8: assigned [mem 0x60000000-0x600fffff] pci 0000:00:00.0: BAR 9: assigned [mem 0x60100000-0x602fffff pref] pci 0000:00:01.0: BAR 8: assigned [mem 0x60300000-0x603fffff] pci 0000:00:01.0: BAR 9: assigned [mem 0x60400000-0x605fffff pref] pci 0000:00:00.0: BAR 1: assigned [mem 0x60600000-0x6060ffff] pci 0000:00:01.0: BAR 1: assigned [mem 0x60610000-0x6061ffff] pci 0000:00:00.0: BAR 7: assigned [io 0x0000-0x0fff] pci 0000:00:01.0: BAR 7: assigned [io 0x1000-0x1fff] pci 0000:01:00.0: BAR 0: assigned [mem 0x60100000-0x601fffff 64bit pref] pci 0000:01:00.0: BAR 2: assigned [mem 0x60200000-0x60203fff 64bit pref] pci 0000:01:00.0: BAR 4: assigned [mem 0x60204000-0x60204fff 64bit pref] pci 0000:00:00.0: PCI bridge to [bus 01] pci 0000:00:00.0: bridge window [io 0x0000-0x0fff] pci 0000:00:00.0: bridge window [mem 0x60000000-0x600fffff] pci 0000:00:00.0: bridge window [mem 0x60100000-0x602fffff pref] pci 0000:02:00.0: BAR 0: assigned [mem 0x60400000-0x604fffff 64bit pref] pci 0000:02:00.0: BAR 2: assigned [mem 0x60500000-0x60503fff 64bit pref] pci 0000:02:00.0: BAR 4: assigned [mem 0x60504000-0x60504fff 64bit pref] pci 0000:00:01.0: PCI bridge to [bus 02] pci 0000:00:01.0: bridge window [io 0x1000-0x1fff] pci 0000:00:01.0: bridge window [mem 0x60300000-0x603fffff] pci 0000:00:01.0: bridge window [mem 0x60400000-0x605fffff pref] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled 1e000c00.uartlite: ttyS0 at MMIO 0x1e000c00 (irq = 19, base_baud = 3125000) is a 16550A spi-mt7621 1e000b00.spi: sys_freq: 220000000 spi-nor spi0.0: en25qh128 (16384 Kbytes) 5 fixed-partitions partitions found on MTD device spi0.0 OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions OF: Bad cell count for /palmbus@1e000000/spi@b00/flash@0/partitions Creating 5 MTD partitions on "spi0.0": 0x000000000000-0x000000040000 : "u-boot" 0x000000040000-0x000000fa0000 : "firmware" 2 uimage-fw partitions found on MTD device firmware Creating 2 MTD partitions on "firmware": 0x000000000000-0x000000400000 : "kernel" 0x000000400000-0x000000f60000 : "rootfs" mtd: setting mtd3 (rootfs) as root device 0x000000fa0000-0x000000fb0000 : "config" 0x000000fb0000-0x000000ff0000 : "tplink" 0x000000ff0000-0x000001000000 : "radio" mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 21 mtk_soc_eth 1e100000.ethernet wan: mediatek frame engine at 0xbe100000, irq 21 i2c_dev: i2c /dev entries driver NET: Registered PF_INET6 protocol family Segment Routing with IPv6 In-situ OAM (IOAM) with IPv6 sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver NET: Registered PF_PACKET protocol family 8021q: 802.1Q VLAN Support v1.8 Loading compiled-in X.509 certificates Loaded X.509 cert 'Build time autogenerated kernel key: 1305e7c8df691fbef7a37c303deca27 c3e469edb' Problem parsing in-kernel X.509 certificate list mt7530-mdio mdio-bus:1f: MT7530 adapts as multi-chip module mt7530-mdio mdio-bus:1f: configuring for fixed/rgmii link mode mt7530-mdio mdio-bus:1f: Link is Up - 1Gbps/Full - flow control rx/tx mt7530-mdio mdio-bus:1f lan1 (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7530 PHY] (irq=23) mt7530-mdio mdio-bus:1f lan2 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7530 PHY] (irq=24) mt7530-mdio mdio-bus:1f lan3 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7530 PHY] (irq=25) mt7530-mdio mdio-bus:1f lan4 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7530 PHY] (irq=26) DSA: tree 0 setup Warning: unable to open an initial console. ubi0:liminix: Can't open blockdev VFS: Cannot open root device "ubi0:liminix" or unknown-block(31,3): error -2 Please append a correct "root=" boot option; here are the available partitions: 1f00 256 mtdblock0 (driver?) 1f01 15744 mtdblock1 (driver?) 1f02 4096 mtdblock2 (driver?) 1f03 11648 mtdblock3 (driver?) 1f04 64 mtdblock4 (driver?) 1f05 256 mtdblock5 (driver?) 1f06 64 mtdblock6 (driver?) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3) Rebooting in 10 seconds.. ``` |
||
---|---|---|
devices | ||
doc | ||
examples | ||
modules | ||
pkgs | ||
tests | ||
.gitignore | ||
bordervm-configuration.nix | ||
bordervm.conf-example.nix | ||
ci.nix | ||
CODE-OF-CONDUCT.md | ||
CONTRIBUTING.md | ||
default.nix | ||
LICENSE | ||
nat.nft | ||
NEWS | ||
overlay.nix | ||
README.md | ||
shell.nix | ||
STYLE.md | ||
THOUGHTS.txt | ||
vanilla-configuration.nix |
Liminix
A Nix-based system for configuring consumer wifi routers or IoT device devices, of the kind that OpenWrt or DD-WRT or Gargoyle or Tomato run on. It's a reboot/restart/rewrite of NixWRT.
This is not NixOS-on-your-router: it's aimed at devices that are underpowered for the full NixOS experience. It uses busybox tools, musl instead of GNU libc, and s6-rc instead of systemd.
The Liminix name comes from Liminis, in Latin the genitive declension of "limen", or "of the threshold". Your router stands at the threshold of your (online) home and everything you send to/receive from the outside word goes across it.
Current status (does it work yet?)
Liminix is pre-1.0. We are still finding new and better ways to do things, and there is no attempt to maintain backward compatibility with the old ways.
The NEWS file (available wherever you found this README) is a high-level overview of breaking changes.
Development mostly happens on the main
branch, which is therefore
not guaranteed to build or to work on every commit. For the latest
functioning version, see the CI system and pick a revision with all jobs green.
Documentation
Documentation is in the doc directory. You can build it by running
nix-shell -p sphinx --run "make -C doc html"
Rendered documentation corresponding to the latest commit on main
is published to https://www.liminix.org/doc/
Extremely online
There is a #liminix IRC channel on the OFTC
network in which you are welcome. You can also connect with a Matrix
client by joining the room #_oftc_#liminix:matrix.org
.
In the IRC channel, as in all Liminix project venues, please conduct yourself according to the Liminix Code of Conduct.