Supports managing OpenWrt on Amlogic, Allwinner, and Rockchip devices. include install and update the OpenWrt and kernel, Backup and Restore config, Snapshot management, etc.
392
stars
713
commits
Shell
primary language
Aug 20, 2026
updated
English Instructions | 中文说明 | Инструкция на русском
This plugin supports online management of Amlogic S9xxx series (X96, HK1, H96, etc.), Allwinner (V-Plus Cloud), and Rockchip (BeikeYun, Chainedbox-L1-Pro, FastRhino-R66S/R68S, Radxa-5B/E25) boxes. It also supports usage within OpenWrt installed in KVM virtual machines running on the Armbian system. Current features include installing OpenWrt to eMMC, manually uploading/updating online OpenWrt firmware or kernel versions, backup/restore OpenWrt configuration, snapshot management, and customizing firmware/kernel download site, etc.
Running the OpenWrt system with the Amlogic Service plugin on the box requires certain required software packages. When performing a custom OpenWrt compilation, please add them according to the instructions. When using the one-click script for manual installation in OpenWrt without the Amlogic Service plugin pre-compiled, if prompted about missing dependencies, please install them according to the log prompt (System > Software Packages > Refresh List > Search for the corresponding package > Install), then retry.
System Menu → TTYD Terminal, then run the following one-click installation command to automatically download and install this plugin.# Intelligently select the available plugin version (recommended)
curl -fsSL ophub.org/luci-app-amlogic | bash
# Download the Lua version plugin (lua branch)
curl -fsSL ophub.org/luci-app-amlogic | bash -s -- -b lua
# Download the JavaScript version plugin (main branch)
curl -fsSL ophub.org/luci-app-amlogic | bash -s -- -b main
or
# Intelligently select the available plugin version (recommended)
curl -fsSL git.io/luci-app-amlogic | bash
# Download the Lua version plugin (lua branch)
curl -fsSL git.io/luci-app-amlogic | bash -s -- -b lua
# Download the JavaScript version plugin (main branch)
curl -fsSL git.io/luci-app-amlogic | bash -s -- -b main
# Add the plugin
rm -rf package/luci-app-amlogic
git clone -b main https://github.com/ophub/luci-app-amlogic.git package/luci-app-amlogic
# You can compile this plugin separately
make package/luci-app-amlogic/compile V=99
# Or integrate this plugin during the full compilation of OpenWrt
make menuconfig
# choose LuCI ---> 3. Applications ---> <*> luci-app-amlogic ----> save
make V=99
OpenWrt firmware and kernel files in the plugin's Online Download Update feature can be customized to point to your own GitHub repository. Configuration information is saved in the /etc/config/amlogic file. During OpenWrt firmware compilation, you can directly modify the relevant values in this file:# 1. Set the download repository of OpenWrt files
sed -i "s|amlogic_firmware_repo.*|amlogic_firmware_repo 'https://github.com/USERNAME/REPOSITORY'|g" package/luci-app-amlogic/root/etc/config/amlogic
# 2. Set the keyword of Tags in Releases
sed -i "s|ARMv8|RELEASES_TAGS_KEYWORD|g" package/luci-app-amlogic/root/etc/config/amlogic
# 3. Set the suffix of OpenWrt file in Releases
sed -i "s|.img.gz|.OPENWRT_SUFFIX|g" package/luci-app-amlogic/root/etc/config/amlogic
# 4. Set the download path of OpenWrt kernel
sed -i "s|amlogic_kernel_path.*|amlogic_kernel_path 'https://github.com/USERNAME/REPOSITORY'|g" package/luci-app-amlogic/root/etc/config/amlogic
# 5. Set the branch of Amlogic Service plugin (main/lua)
sed -i "s|amlogic_plugin_branch.*|amlogic_plugin_branch 'main'|g" package/luci-app-amlogic/root/etc/config/amlogic
System → Amlogic Service.The plugin settings consist of 4 categories: OpenWrt firmware download, kernel download, version branch selection, and miscellaneous options.
OpenWrt firmware download repository: Enter the GitHub repository where you compile OpenWrt (or another contributor's repository), such as: https://github.com/breakingbadboy/OpenWrt. The OpenWrt Compiler author button on the plugin's homepage will link to the URL entered here (the link updates automatically), making it easy for users to locate the firmware author for discussion and collaboration.
Tags keyword in Releases: This keyword must distinguish the firmware from other architectures such as x86, R2S, etc., ensuring that the corresponding OpenWrt firmware can be accurately located.
OpenWrt file suffix: Supported formats include .img.gz, .img.xz, and .7z. The .img format is not supported due to its large file size and slow download speed.
OpenWrt firmware files in Releases, please include the SoC model and kernel version: openwrt_ {soc}_ xxx_{kernel}_ xxx.img.gz, for example: openwrt_ s905d_ n1_R21.8.6_k5.15.25-flippy-62+o.7z. Supported SoC models include: s905x3, s905x2, s905x, s905w, s905d, s922x, s912, l1pro, beikeyun, vplus. Supported kernel versions include 5.10.xxx, 5.15.xxx, etc.Kernel Download Repository: You can enter the full URL https://github.com/ophub/kernel or the shorthand ophub/kernel.
Kernel Download Tags: Allows you to specify which tag to download kernel files from in the kernel repository's Releases, such as kernel_flippy, kernel_stable, kernel_rk3588, and kernel_rk35xx, etc. When specified, the plugin will download exclusively from the designated tag; if left empty, the plugin will automatically select the most suitable tag based on the current OpenWrt system configuration.
6.18, 6.12, etc. The OpenWrt and Kernel [Online Download Update] operations will download and update based on the selected branch.main branch, but you can customize it to the lua (Lua) branch or others as needed. This setting directly applies to the [Only update Amlogic Service] action under [Online Download Update], where the system will execute the download and update based on your currently selected branch. Please note that the main and lua branches differ only in their underlying programming languages and are completely identical in overall functionality; for example, the underlying shell scripts invoked for core features like installing OpenWrt, updating the kernel, and Snapshot Management are exactly the same.Preserve configuration on update: Adjust as needed. When enabled, the current configuration will be retained during firmware updates.
Automatically write bootloader: Recommended to enable, as it provides enhanced compatibility and boot support.
Set file system type: Configures the file system type for the shared partition (/mnt/mmcblk*p4) during OpenWrt installation (default: ext4). This setting only applies to fresh OpenWrt installations and will not alter the file system type of the existing shared partition during kernel or firmware updates.
The default OpenWrt firmware download service for this plugin ( Comprehensive Version | Mini Version | Flippy Shared Version ) is supported by breakingbadboy. He is a core maintainer in the Flippy community, highly experienced in OpenWrt compilation, and proficient in the installation and configuration of various ARM devices. If you encounter any issues during OpenWrt compilation or usage, feel free to consult the community or submit feedback on his GitHub page.
The default OpenWrt kernel for the plugin is provided by https://github.com/ophub/kernel. Among them, kernels under the kernel_flippy tag are stable mainline kernels compiled and shared by developer flippy. For the kernel_rk3588 and kernel_rk35xx tags, kernels with flippy in their names are Rockchip-specific kernels provided by the same developer, while the rest are compiled by ophub/kernel. Kernels under the kernel_stable tag are stable mainline kernels compiled by ophub/kernel.
Kernels will be deprecated once they reach the end of their lifecycle (EOL). When this occurs, you can select an alternative supported kernel version in the Plugin Settings to continue using the service. If certain kernel versions lack a corresponding complete firmware, you can also change the kernel branch in the Plugin Settings to match an available version from the download source.
The plugin provides 6 functions: Install OpenWrt, Manual Upload Update, Online Download Update, Firmware Configuration Backup, Plugin Settings, and CPU Settings.
Install OpenWrt: Select your device from the Select Device Model list and click Install to write the firmware from TF/SD/USB to the device's built-in eMMC storage.
Manual Upload Update: Click the Choose File button to select a local OpenWrt Kernel (upload the complete set of kernel files) or OpenWrt Firmware (compressed format recommended) and upload it. Once the upload completes, the corresponding Replace OpenWrt Kernel or Update OpenWrt Firmware button will appear at the bottom of the page. Click to proceed with the update (the system will reboot automatically upon completion).
Online Download Update: Click the Only update Amlogic Service button to update the Amlogic Service plugin to the latest version; click Update system kernel only to download the corresponding kernel according to the kernel branch selected in Plugin Settings; click Complete system update to download the latest firmware based on the download site set in Plugin Settings. Click the Rescue Kernel button to copy the currently running kernel to the target disk, facilitating recovery when a kernel update fails and the OpenWrt system cannot boot. For example, you can boot OpenWrt from a USB drive to rescue the system on eMMC, with cross-rescue support among eMMC/NVME/sdX devices.
Backup Firmware Configuration: Click the Open List button to edit the backup list; click the Download Backup button to back up the current device's OpenWrt configuration to your local machine; click the Upload Backup button to upload backup configuration files and restore the system configuration. Click Create Snapshot, Restore Snapshot, and Delete Snapshot to manage snapshots. Snapshots capture all configuration data under the /etc directory of the current OpenWrt system, enabling one-click restoration to the saved state in the future. This feature is similar to Download Backup, but snapshots are stored on the device only and cannot be downloaded.
Plugin Settings: Set the kernel download address and other information of the plugin, for details, see the relevant introduction in Plugin Settings Instructions.
CPU Settings: Set the scheduling policy of the CPU (recommended to use the default settings), which can be set according to needs.
Note: Certain functions such as Install OpenWrt and CPU Settings will be automatically hidden based on device type and operating environment.
For boxes with surplus processing power, you can first install the Armbian system, then set up KVM virtual machines to run multiple systems simultaneously. The OpenWrt system image can be built using the mk_qemu-aarch64_img.sh script developed by unifreq, with installation and usage instructions detailed in the qemu-aarch64-readme.md document. The OpenWrt QEMU firmware available via Online Download Update is provided by breakingbadboy.
The plugin operates identically in a KVM virtual machine as it does when OpenWrt is installed directly on the box.
Step 1: Compile the Rootfs file: Using the OpenWrt source code, select the Arm SystemReady (EFI) compliant option under Target System, select 64-bit (armv8) machines under Subtarget, select Generic EFI Boot under Target Profile, and add the required software packages to compile the OpenWrt rootfs.tar.gz file.
Step 2: Package device-specific OpenWrt firmware: Use the scripts from flippy or ophub to package device-specific OpenWrt firmware. Refer to the respective repositories for detailed usage instructions.

The luci-app-amlogic © OPHUB is licensed under GPL-2.0
Shell
71.9%
JavaScript
25.4%
Perl
1.3%
Supports managing OpenWrt on Amlogic, Allwinner, and Rockchip devices. include install and update the OpenWrt and kernel, Backup and Restore config, Snapshot management, etc.
392
stars
713
commits
Shell
primary language
Aug 20, 2026
updated
English Instructions | 中文说明 | Инструкция на русском
This plugin supports online management of Amlogic S9xxx series (X96, HK1, H96, etc.), Allwinner (V-Plus Cloud), and Rockchip (BeikeYun, Chainedbox-L1-Pro, FastRhino-R66S/R68S, Radxa-5B/E25) boxes. It also supports usage within OpenWrt installed in KVM virtual machines running on the Armbian system. Current features include installing OpenWrt to eMMC, manually uploading/updating online OpenWrt firmware or kernel versions, backup/restore OpenWrt configuration, snapshot management, and customizing firmware/kernel download site, etc.
Running the OpenWrt system with the Amlogic Service plugin on the box requires certain required software packages. When performing a custom OpenWrt compilation, please add them according to the instructions. When using the one-click script for manual installation in OpenWrt without the Amlogic Service plugin pre-compiled, if prompted about missing dependencies, please install them according to the log prompt (System > Software Packages > Refresh List > Search for the corresponding package > Install), then retry.
System Menu → TTYD Terminal, then run the following one-click installation command to automatically download and install this plugin.# Intelligently select the available plugin version (recommended)
curl -fsSL ophub.org/luci-app-amlogic | bash
# Download the Lua version plugin (lua branch)
curl -fsSL ophub.org/luci-app-amlogic | bash -s -- -b lua
# Download the JavaScript version plugin (main branch)
curl -fsSL ophub.org/luci-app-amlogic | bash -s -- -b main
or
# Intelligently select the available plugin version (recommended)
curl -fsSL git.io/luci-app-amlogic | bash
# Download the Lua version plugin (lua branch)
curl -fsSL git.io/luci-app-amlogic | bash -s -- -b lua
# Download the JavaScript version plugin (main branch)
curl -fsSL git.io/luci-app-amlogic | bash -s -- -b main
# Add the plugin
rm -rf package/luci-app-amlogic
git clone -b main https://github.com/ophub/luci-app-amlogic.git package/luci-app-amlogic
# You can compile this plugin separately
make package/luci-app-amlogic/compile V=99
# Or integrate this plugin during the full compilation of OpenWrt
make menuconfig
# choose LuCI ---> 3. Applications ---> <*> luci-app-amlogic ----> save
make V=99
OpenWrt firmware and kernel files in the plugin's Online Download Update feature can be customized to point to your own GitHub repository. Configuration information is saved in the /etc/config/amlogic file. During OpenWrt firmware compilation, you can directly modify the relevant values in this file:# 1. Set the download repository of OpenWrt files
sed -i "s|amlogic_firmware_repo.*|amlogic_firmware_repo 'https://github.com/USERNAME/REPOSITORY'|g" package/luci-app-amlogic/root/etc/config/amlogic
# 2. Set the keyword of Tags in Releases
sed -i "s|ARMv8|RELEASES_TAGS_KEYWORD|g" package/luci-app-amlogic/root/etc/config/amlogic
# 3. Set the suffix of OpenWrt file in Releases
sed -i "s|.img.gz|.OPENWRT_SUFFIX|g" package/luci-app-amlogic/root/etc/config/amlogic
# 4. Set the download path of OpenWrt kernel
sed -i "s|amlogic_kernel_path.*|amlogic_kernel_path 'https://github.com/USERNAME/REPOSITORY'|g" package/luci-app-amlogic/root/etc/config/amlogic
# 5. Set the branch of Amlogic Service plugin (main/lua)
sed -i "s|amlogic_plugin_branch.*|amlogic_plugin_branch 'main'|g" package/luci-app-amlogic/root/etc/config/amlogic
System → Amlogic Service.The plugin settings consist of 4 categories: OpenWrt firmware download, kernel download, version branch selection, and miscellaneous options.
OpenWrt firmware download repository: Enter the GitHub repository where you compile OpenWrt (or another contributor's repository), such as: https://github.com/breakingbadboy/OpenWrt. The OpenWrt Compiler author button on the plugin's homepage will link to the URL entered here (the link updates automatically), making it easy for users to locate the firmware author for discussion and collaboration.
Tags keyword in Releases: This keyword must distinguish the firmware from other architectures such as x86, R2S, etc., ensuring that the corresponding OpenWrt firmware can be accurately located.
OpenWrt file suffix: Supported formats include .img.gz, .img.xz, and .7z. The .img format is not supported due to its large file size and slow download speed.
OpenWrt firmware files in Releases, please include the SoC model and kernel version: openwrt_ {soc}_ xxx_{kernel}_ xxx.img.gz, for example: openwrt_ s905d_ n1_R21.8.6_k5.15.25-flippy-62+o.7z. Supported SoC models include: s905x3, s905x2, s905x, s905w, s905d, s922x, s912, l1pro, beikeyun, vplus. Supported kernel versions include 5.10.xxx, 5.15.xxx, etc.Kernel Download Repository: You can enter the full URL https://github.com/ophub/kernel or the shorthand ophub/kernel.
Kernel Download Tags: Allows you to specify which tag to download kernel files from in the kernel repository's Releases, such as kernel_flippy, kernel_stable, kernel_rk3588, and kernel_rk35xx, etc. When specified, the plugin will download exclusively from the designated tag; if left empty, the plugin will automatically select the most suitable tag based on the current OpenWrt system configuration.
6.18, 6.12, etc. The OpenWrt and Kernel [Online Download Update] operations will download and update based on the selected branch.main branch, but you can customize it to the lua (Lua) branch or others as needed. This setting directly applies to the [Only update Amlogic Service] action under [Online Download Update], where the system will execute the download and update based on your currently selected branch. Please note that the main and lua branches differ only in their underlying programming languages and are completely identical in overall functionality; for example, the underlying shell scripts invoked for core features like installing OpenWrt, updating the kernel, and Snapshot Management are exactly the same.Preserve configuration on update: Adjust as needed. When enabled, the current configuration will be retained during firmware updates.
Automatically write bootloader: Recommended to enable, as it provides enhanced compatibility and boot support.
Set file system type: Configures the file system type for the shared partition (/mnt/mmcblk*p4) during OpenWrt installation (default: ext4). This setting only applies to fresh OpenWrt installations and will not alter the file system type of the existing shared partition during kernel or firmware updates.
The default OpenWrt firmware download service for this plugin ( Comprehensive Version | Mini Version | Flippy Shared Version ) is supported by breakingbadboy. He is a core maintainer in the Flippy community, highly experienced in OpenWrt compilation, and proficient in the installation and configuration of various ARM devices. If you encounter any issues during OpenWrt compilation or usage, feel free to consult the community or submit feedback on his GitHub page.
The default OpenWrt kernel for the plugin is provided by https://github.com/ophub/kernel. Among them, kernels under the kernel_flippy tag are stable mainline kernels compiled and shared by developer flippy. For the kernel_rk3588 and kernel_rk35xx tags, kernels with flippy in their names are Rockchip-specific kernels provided by the same developer, while the rest are compiled by ophub/kernel. Kernels under the kernel_stable tag are stable mainline kernels compiled by ophub/kernel.
Kernels will be deprecated once they reach the end of their lifecycle (EOL). When this occurs, you can select an alternative supported kernel version in the Plugin Settings to continue using the service. If certain kernel versions lack a corresponding complete firmware, you can also change the kernel branch in the Plugin Settings to match an available version from the download source.
The plugin provides 6 functions: Install OpenWrt, Manual Upload Update, Online Download Update, Firmware Configuration Backup, Plugin Settings, and CPU Settings.
Install OpenWrt: Select your device from the Select Device Model list and click Install to write the firmware from TF/SD/USB to the device's built-in eMMC storage.
Manual Upload Update: Click the Choose File button to select a local OpenWrt Kernel (upload the complete set of kernel files) or OpenWrt Firmware (compressed format recommended) and upload it. Once the upload completes, the corresponding Replace OpenWrt Kernel or Update OpenWrt Firmware button will appear at the bottom of the page. Click to proceed with the update (the system will reboot automatically upon completion).
Online Download Update: Click the Only update Amlogic Service button to update the Amlogic Service plugin to the latest version; click Update system kernel only to download the corresponding kernel according to the kernel branch selected in Plugin Settings; click Complete system update to download the latest firmware based on the download site set in Plugin Settings. Click the Rescue Kernel button to copy the currently running kernel to the target disk, facilitating recovery when a kernel update fails and the OpenWrt system cannot boot. For example, you can boot OpenWrt from a USB drive to rescue the system on eMMC, with cross-rescue support among eMMC/NVME/sdX devices.
Backup Firmware Configuration: Click the Open List button to edit the backup list; click the Download Backup button to back up the current device's OpenWrt configuration to your local machine; click the Upload Backup button to upload backup configuration files and restore the system configuration. Click Create Snapshot, Restore Snapshot, and Delete Snapshot to manage snapshots. Snapshots capture all configuration data under the /etc directory of the current OpenWrt system, enabling one-click restoration to the saved state in the future. This feature is similar to Download Backup, but snapshots are stored on the device only and cannot be downloaded.
Plugin Settings: Set the kernel download address and other information of the plugin, for details, see the relevant introduction in Plugin Settings Instructions.
CPU Settings: Set the scheduling policy of the CPU (recommended to use the default settings), which can be set according to needs.
Note: Certain functions such as Install OpenWrt and CPU Settings will be automatically hidden based on device type and operating environment.
For boxes with surplus processing power, you can first install the Armbian system, then set up KVM virtual machines to run multiple systems simultaneously. The OpenWrt system image can be built using the mk_qemu-aarch64_img.sh script developed by unifreq, with installation and usage instructions detailed in the qemu-aarch64-readme.md document. The OpenWrt QEMU firmware available via Online Download Update is provided by breakingbadboy.
The plugin operates identically in a KVM virtual machine as it does when OpenWrt is installed directly on the box.
Step 1: Compile the Rootfs file: Using the OpenWrt source code, select the Arm SystemReady (EFI) compliant option under Target System, select 64-bit (armv8) machines under Subtarget, select Generic EFI Boot under Target Profile, and add the required software packages to compile the OpenWrt rootfs.tar.gz file.
Step 2: Package device-specific OpenWrt firmware: Use the scripts from flippy or ophub to package device-specific OpenWrt firmware. Refer to the respective repositories for detailed usage instructions.

The luci-app-amlogic © OPHUB is licensed under GPL-2.0
Shell
71.9%
JavaScript
25.4%
Perl
1.3%