22
33<img align =" right " src =" doc/logo.png " alt =" Infix - Linux <3 NETCONF " width =480 border =10 >
44
5- Infix is a free, Linux-based, immutable operating system built around
6- [ Buildroot] [ 1 ] and [ sysrepo] [ 2 ] . A powerful mix that ease porting to
7- different platforms, simplify long-term maintenance, and provide
8- made-easy management using NETCONF, RESTCONF[ ^ 2 ] , or the built-in
9- command line interface (CLI) from a console or SSH login.
10-
11- > [ !TIP]
12- > _ Curious how it works?_ Click the ** ▶ Example CLI Session** below to see
13- > it in action
14- > — or jump into the comprehensive [ Infix Documentation] [ 4 ] to learn even more.
15-
16- Geared for switches and routers — yet its core value fits plenty of
17- other use cases:
18-
19- - Runs from a squashfs image on a read-only partition
20- - Single configuration file on a separate partition
21- - Built around YANG with standard IETF models
22- - Linux switchdev provides open switch APIs
23- - Atomic upgrades to secondary partition
24- - Highly security focused
25-
26- An immutable[ ^ 1 ] operating system enhances security and inherently makes
27- it maintenance-free. Configuration and data, e.g, containers, is stored
28- on separate partitions to ensure complete separation from system files
29- and allow for seamless backup, restore, and provisioning.
30-
31- In itself, Infix is perfectly suited for dedicated networking tasks,
32- such as routing, switching, and monitoring. This is how it started, as
33- a network focused operating system. Now, with native support for Docker
34- containers, it provides a versatile platform that can easily be adapted
35- to any customer need. Be it legacy applications, network protocols,
36- process monitoring, or edge data analysis, it can run close to end
37- equipment. Either directly connected on dedicated Ethernet ports or
38- indirectly using virtual network cables to exist on the same LAN as
39- other connected equipment.
40-
41- The simple design of Infix provides complete control over both system
42- and data, minimal cognitive burden, and makes it incredibly easy to get
43- started.
44-
45- <details ><summary ><b >Example CLI Session</b ></summary >
46-
47- The CLI configure context is automatically generated from the loaded
48- YANG models and their corresponding [ sysrepo] [ 2 ] plugins. The following
49- is brief example of how to set the IP address of an interface:
5+ Turn any ARM or x86 device into a powerful, manageable network appliance
6+ in minutes. From $35 Raspberry Pi boards to enterprise switches — deploy
7+ routers, IoT gateways, edge devices, or custom network solutions that
8+ just work.
509
51- ```
10+ ## Our Values
11+
12+ ** 🔒 Immutable**
13+ Your system never breaks. Read-only filesystem with atomic upgrades
14+ means no configuration drift, no corrupted updates, and instant rollback
15+ if something goes wrong. Deploy once, trust forever.
16+
17+ ** 🤝 Friendly**
18+ Actually easy to use. Auto-generated CLI from standard YANG models comes
19+ with built-in help for every command — just hit ` ? ` or TAB for
20+ context-aware assistance. Familiar NETCONF/RESTCONF APIs and
21+ [ comprehensive documentation] [ 4 ] mean you're never stuck. Whether
22+ you're learning networking or managing enterprise infrastructure.
23+
24+ ** 🛡️ Secure**
25+ Built with security as a foundation, not an afterthought. Minimal
26+ attack surface, separation between system and data, and container
27+ isolation. Sleep better knowing your infrastructure is protected.
28+
29+ ## Why Choose Infix
30+
31+ ** Hardware Flexibility** : Start with a $35 Raspberry Pi, scale to
32+ enterprise switching hardware. Same OS, same tools, same reliability.
33+
34+ ** Standards-Based** : Built around YANG models and IETF standards. Learn
35+ once, use everywhere - no vendor lock-in.
36+
37+ ** Container Ready** : Run your applications alongside networking
38+ functions. GPIO access, dedicated Ethernet ports, custom protocols —
39+ your device, your rules.
40+
41+ ## Use Cases
42+
43+ 1 . ** Home Labs & Hobbyists** :
44+ Transform a Raspberry Pi into a full-featured router with WiFi
45+ 1 . ** IoT & Edge Computing** :
46+ Bridge devices to the cloud with reliable, updatable gateways
47+ 1 . ** Small Business Networks** :
48+ Enterprise-grade features without the complexity or cost
49+ 1 . ** Developers & Makers** :
50+ Test networking concepts, prototype IoT solutions, or build custom
51+ appliances
52+ 1 . ** Network Professionals** :
53+ Consistent tooling from development to production deployment.
54+ How about a digital twin using raw Qemu or [ GNS3] ( https://gns3.com/infix ) !
55+
56+ ## See It In Action
57+
58+ Configure an interface in seconds - the CLI guides you with built-in help:
59+
60+ <details ><summary ><b >Click Here for an example CLI Session</b ></summary >
61+
62+ ``` bash
5263admin@infix-12-34-56:/> configure
5364admin@infix-12-34-56:/config/> edit interface eth0
5465admin@infix-12-34-56:/config/interface/eth0/> set ipv4 < TAB>
5566 address autoconf bind-ni-name enabled
56- forwarding mtu neighbor
67+ forwarding mtu neighbor
5768admin@infix-12-34-56:/config/interface/eth0/> set ipv4 address 192.168.2.200 prefix-length 24
5869admin@infix-12-34-56:/config/interface/eth0/> show
5970type ethernet;
6273 prefix-length 24;
6374 }
6475}
65- ipv6
6676admin@infix-12-34-56:/config/interface/eth0/> diff
6777interfaces {
6878 interface eth0 {
@@ -85,56 +95,64 @@ lo ethernet UP 00:00:00:00:00:00
8595admin@infix-12-34-56:/> copy running-config startup-config
8696` ` `
8797
88- [ Click here] [ 3 ] for more details.
98+ Notice how TAB completion shows available options, ` show` displays
99+ current config, and ` diff` shows exactly what changed before you
100+ commit your changes with the ` leave` command.
101+
89102< /details>
90103
91- Infix can run on many different types of architectures and boards, much
92- thanks to Linux and Buildroot. Currently the focus is on 64-bit ARM
93- devices, optionally with switching fabric supported by Linux switchdev.
94- The [ following boards] ( board/aarch64/README.md ) are fully supported:
104+ > [Full CLI documentation →][3]
95105
96- - Marvell CN9130 CRB
97- - Marvell EspressoBIN
98- - Microchip SparX-5i PCB135 (eMMC)
99- - NXP i.MX8MP EVK
100- - Raspberry Pi 4B
101- - NanoPi R2S
106+ # # Get Started
102107
103- Additionally, StarFive VisionFive2, a RISC-V based two-port router, and
104- an x86_64 build is also available. The latter is primarily intended for
105- development and testing, but can also be used for evaluation and demo
106- purposes. For more information, see: [ Infix in Virtual
107- Environments] ( doc/virtual.md ) .
108+ Get [pre-built images][5] for your hardware. Use the CLI, web
109+ interface, or standard NETCONF/RESTCONF tools, e.g., ` curl` . Add
110+ containers for any custom functionality you need.
108111
109- > See the [ GitHub Releases] ( https://github.com/kernelkit/infix/releases )
110- > page for our pre-built images. The * [ Latest Build] [ ] * has bleeding
111- > edge images, if possible we recommend using a versioned release.
112- >
113- > For * customer specific builds* of Infix, see your product repository.
112+ # ## Supported Platforms
114113
114+ - ** Raspberry Pi 4B** - Perfect for home labs, learning, and prototyping
115+ - ** NanoPi R2S** - Compact dual-port router in a tiny package
116+ - ** x86_64** - Run in VMs or on mini PCs for development and testing
117+ - ** Marvell CN9130 CRB, EspressoBIN** - High-performance ARM platforms
118+ - ** Microchip SparX-5i, NXP i.MX8MP EVK** - Enterprise switching capabilities
119+ - ** StarFive VisionFive2** - RISC-V architecture support
115120
116- ----
121+ * Why start with Raspberry Pi?* It' s affordable, widely available, has
122+ built-in WiFi + Ethernet, and runs the exact same Infix OS you' d deploy
123+ in production. Perfect for learning, prototyping, or even small-scale
124+ deployments.
117125
118- <div align =" center " >
119- <a href =" https://github.com/wires-se " ><img src =" https://raw.githubusercontent.com/wires-se/.github/main/profile/logo.png " width =300 ></a >
120- <br />Infix development is sponsored by <a href =" https://wires.se " >Wires<a >
121- </div >
126+ > 📖 ** [Complete documentation][4]** • 💬 ** [Join our Discord][discord-url]**
127+
128+ # # Technical Details
122129
123- ----
130+ Built on proven open-source foundations ([Buildroot][1] + [sysrepo][2])
131+ for reliability you can trust:
124132
125- [ ^ 1 ] : An immutable operating system is one with read-only file systems,
126- atomic updates, rollbacks, declarative configuration, and workload
127- isolation. All to improve reliability, scalability, and security.
128- For more information, see this [ survey paper] [ 5 ] and [ article] [ 6 ] .
129- [ ^ 2 ] : Partial RESTCONF support, features like HTTP PATCH, OPTIONS, HEAD,
130- and copying between datastores are still missing.
133+ - ** Immutable OS** : Read-only filesystem, atomic updates, instant rollback
134+ - ** YANG Configuration** : Industry-standard models with auto-generated tooling
135+ - ** Hardware Acceleration** : Linux switchdev support for wire-speed packet processing
136+ - ** Container Integration** : Docker support with flexible network and hardware access
137+ - ** Memory Efficient** : Runs comfortably on devices with as little as 256 MB RAM
138+
139+ Perfect for everything from resource-constrained edge devices to
140+ high-throughput network appliances.
141+
142+ > Check the * [Latest Build][]* for bleeding-edge features.
143+
144+ ---
145+
146+ < div align=" center" >
147+ < a href=" https://github.com/wires-se" ><img src=" https://raw.githubusercontent.com/wires-se/.github/main/profile/play.svg" width=300></a>
148+ < br /> Infix development is sponsored by < a href=" https://wires.se" > Wires< /a>
149+ < /div>
131150
132151[1]: https://buildroot.org/ " Buildroot Homepage"
133152[2]: https://www.sysrepo.org/ " Sysrepo Homepage"
134- [ 3 ] : doc/cli/introduction.md
135- [ 4 ] : https://kernelkit.org/infix/ " Infix User's Guide "
136- [ 5 ] : https://ceur-ws.org/Vol-3386/paper9.pdf " Immutable Operating Systems: A Survey "
137- [ 6 ] : https://www.zdnet.com/article/what-is-immutable-linux-heres-why-youd-run-an-immutable-linux-distro/ " Why you should run an immutable Linux distro "
153+ [3]: https://kernelkit.org/infix/latest/cli/introduction/
154+ [4]: https://kernelkit.org/infix/
155+ [5]: https://github.com/kernelkit/infix/releases
138156[Latest Build]: https://github.com/kernelkit/infix/releases/tag/latest " Latest build"
139157[License]: https://en.wikipedia.org/wiki/GPL_license
140158[License Badge]: https://img.shields.io/badge/License-GPL%20v2-blue.svg
0 commit comments