# ophub/fnnas

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ophub-fnnas).**

2,661 stars · 464 forks · Shell · gpl-2.0

## Links

- GitHub: https://github.com/ophub/fnnas
- awesome-repositories: https://awesome-repositories.com/repository/ophub-fnnas.md

## Topics

`a311d` `allwinner` `amlogic` `arm64` `debian` `fnnas` `fnos` `nas` `rk3399` `rk3528` `rk3566` `rk3568` `rk3588` `rockchip` `s905d` `s905x3` `s912` `s922x`

## Description

fnnas is a Debian-based network attached storage operating system and deployment framework designed to transform x86 and Arm64 hardware into private storage servers. It provides a custom operating system image builder and a kernel compilation tool for building and packaging specific kernels and device tree blobs for various hardware platforms.

The project includes a hardware-specific deployer that maps device models to required bootloaders and kernel tags. It features an eMMC backup and recovery tool to save factory system images from internal storage and restore them to revert system changes.

The system covers embedded hardware management, including LED display control, virtual memory allocation, and system partition configuration. It also supports remote system updating via SSH with automatic backup and rollback mechanisms.

## Tags

### DevOps & Infrastructure

- [Network Storage Deployments](https://awesome-repositories.com/f/devops-infrastructure/network-storage-deployments.md) — Transforms x86 and Arm64 hardware into private network attached storage servers using a custom Debian-based OS. ([source](https://github.com/ophub/fnnas#readme))
- [Hardware Model Mapping](https://awesome-repositories.com/f/devops-infrastructure/deployment-management-strategies/execution-platforms-and-targets/hardware-profile-deployments/embedded-hardware-deployment/hardware-model-mapping.md) — Implements a deployer that maps x86 and Arm64 hardware models to their required bootloaders and kernel tags.

### Operating Systems & Systems Programming

- [Network Attached Storage Software](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/network-attached-storage-software.md) — Provides a Debian-based operating system designed to transform x86 and Arm64 hardware into private network attached storage servers.
- [Atomic System Updates](https://awesome-repositories.com/f/operating-systems-systems-programming/atomic-system-updates.md) — Implements a remote update mechanism using SSH that ensures stability via automatic backups and atomic rollbacks.
- [Bootable Disk Image Toolchains](https://awesome-repositories.com/f/operating-systems-systems-programming/bootable-disk-image-toolchains.md) — Provides a toolchain for converting kernel source and device trees into bootable binary images for hardware execution.
- [Kernel and Bootloader Build Pipelines](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-and-bootloader-build-pipelines.md) — Provides full build pipelines for compiling and packaging Linux kernels and device trees optimized for specific hardware.
- [Kernel Deployment Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-deployment-tools.md) — Provides a network-based mechanism to deploy kernels via SSH with automatic backup and rollback to prevent bricking.
- [Embedded Linux Distribution Building](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/platform-sdks/linux-sdks/linux-build-targets/embedded-linux-distribution-building.md) — Creates specialized Linux distributions for embedded hardware targets with configurable filesystem sizes.
- [Board-Specific Image Builders](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/base-image-distributions/automated-image-provisioners/board-specific-image-builders.md) — Ships an automated tool for creating OS images tailored to specific x86 and Arm64 hardware boards.
- [eMMC Storage Backups](https://awesome-repositories.com/f/operating-systems-systems-programming/emmc-storage-backups.md) — Saves factory system images from internal eMMC to external storage for full system restoration. ([source](https://github.com/ophub/fnnas#readme))
- [Hardware-to-Bootloader Mappings](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-specific-bootloaders/hardware-to-bootloader-mappings.md) — Matches hardware model identifiers to corresponding bootloaders, device tree blobs, and kernel tags for targeted deployment.

### Data & Databases

- [Network Attached Storage](https://awesome-repositories.com/f/data-databases/network-attached-storage.md) — Transforms general-purpose x86 and Arm64 hardware into private network attached storage servers.

### Development Tools & Productivity

- [OS Binary Compilation](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/binary-compilation-toolchains/server-binary-compilers/hardware-specific-binaries/os-binary-compilation.md) — Automates the retrieval of system files to compile a full Debian-based operating system for target hardware. ([source](https://github.com/ophub/fnnas/tree/main/make-fnnas))
- [Image Binary Compilation](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/binary-compilation-toolchains/server-binary-compilers/hardware-specific-binaries/os-binary-compilation/image-binary-compilation.md) — Provides automated workflows for compiling custom system images tailored to specific target boards and kernel versions. ([source](https://github.com/ophub/fnnas/blob/main/README.md))
- [Device-Specific Kernel Builds](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-build-systems/kernel-build-systems/device-specific-kernel-builds.md) — Provides automated tools for building and packaging specific Linux kernels and device tree blobs for supported hardware. ([source](https://github.com/ophub/fnnas#readme))
- [Custom System Composition](https://awesome-repositories.com/f/development-tools-productivity/debian-packages/custom-system-composition.md) — Combines a base Linux distribution with custom scripts to generate tailored operating system images for specific hardware.
- [Kernel Build Systems](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-build-systems/kernel-build-systems.md) — Implements a build system for compiling and packaging specific Linux kernels and device tree blobs. ([source](https://github.com/ophub/fnnas/tree/main/make-fnnas))
- [Embedded Device Hardware Control](https://awesome-repositories.com/f/development-tools-productivity/embedded-package-managers/embedded-network-device-management/embedded-device-hardware-control.md) — Provides direct control over device LEDs and management of system partitions on Arm64 and x86 boards.

### Hardware & IoT

- [System Image Generation](https://awesome-repositories.com/f/hardware-iot/embedded-build-systems/system-image-generation.md) — Provides workflows for creating tailored bootable system images with configurable root and boot filesystem sizes. ([source](https://github.com/ophub/fnnas#readme))
- [Hardware Model Mappings](https://awesome-repositories.com/f/hardware-iot/hardware-model-mappings.md) — Associates x86 and Arm64 hardware models with the required bootloaders, device trees, and kernel tags. ([source](https://github.com/ophub/fnnas/blob/main/make-fnnas/fnnas-files/common-files/etc/model_database.conf))

### System Administration & Monitoring

- [Kernel Updaters](https://awesome-repositories.com/f/system-administration-monitoring/kernel-updaters.md) — Implements a secure mechanism to apply kernel updates via SSH with integrated rollback capabilities. ([source](https://github.com/ophub/fnnas#readme))
- [eMMC Image Backups](https://awesome-repositories.com/f/system-administration-monitoring/backup-and-recovery-utilities/emmc-image-backups.md) — Includes a utility to save factory eMMC system images and restore them to revert system changes.
- [System Recovery Tools](https://awesome-repositories.com/f/system-administration-monitoring/system-restoration/system-recovery-tools.md) — Ships a utility to save factory eMMC images and restore them to revert the system to a known good state.
