-
-
Notifications
You must be signed in to change notification settings - Fork 5
Update Methods
BananaWRT's update system has evolved over time:
In recent BananaWRT releases (April 2025 and newer), the update functionality is integrated directly into the system through the banana-update command:
banana-update [fota|ota|packages] [--dry-run] [--reset]In older BananaWRT releases (before April 2025), updates were performed using the standalone script:
/bin/sh update-script.sh [fota|ota|packages] [--dry-run] [--reset]The FOTA method is the simplest approach, downloading and installing the latest firmware directly from GitHub.
# Newer versions
banana-update fota
# Older versions
/bin/sh update-script.sh fotaHow it works:
- π The system connects to GitHub and fetches available releases
- π You'll see a list of the latest releases (stable and nightly)
- π’ Select your preferred release by entering its number
- β¬οΈ The script downloads all necessary firmware files
- πΏ Files are flashed to the appropriate partitions
- π A sysupgrade is performed to complete the installation
- π Your device reboots with the updated firmware
When to use FOTA:
- π When you have a reliable internet connection
- π When you want the simplest update experience
- π When you want to see all available versions before choosing
The OTA method uses firmware files you've already downloaded to your device.
# Newer versions
banana-update ota
# Older versions
/bin/sh update-script.sh otaRequirements for OTA:
- β¬οΈ Copy these four firmware files to your device's
/tmpdirectory:immortalwrt-{VERSION}-mediatek-filogic-bananapi_bpi-r3-mini-emmc-preloader.binimmortalwrt-{VERSION}-mediatek-filogic-bananapi_bpi-r3-mini-emmc-bl31-uboot.fipimmortalwrt-{VERSION}-mediatek-filogic-bananapi_bpi-r3-mini-initramfs-recovery.itbimmortalwrt-{VERSION}-mediatek-filogic-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb
- β¨οΈ You'll need to enter the firmware version when prompted
When to use OTA:
- π When you have limited or unreliable internet on your device
- π₯οΈ When you've already downloaded the firmware files on another computer
- π― When you want to install a specific version that might not be in the latest releases list
This method updates only the custom packages without changing the base firmware.
# Newer versions
banana-update packages
# Older versions
/bin/sh update-script.sh packagesHow it works:
- π Checks the repository for package updates
- π Displays a list of packages that can be updated
- β Asks for confirmation before proceeding
- π¦ Updates selected packages without changing the system firmware
When to use Packages Update:
- π¦ When you only want to update BananaWRT custom packages
- π When a full firmware update isn't necessary
- π When new package versions are available but the base system is stable
To simulate the update process without making actual changes:
# Newer versions
banana-update fota --dry-run
# Older versions
/bin/sh update-script.sh fota --dry-runThe --dry-run flag works with all update methods and shows what would happen without making actual changes.
To perform a factory reset during update (doesn't preserve configuration):
# Newer versions
banana-update fota --reset
# Older versions
/bin/sh update-script.sh fota --resetThe --reset flag causes the update to not preserve your configuration, essentially performing a factory reset. This is useful if you're experiencing issues and want a clean start.
A full firmware update (FOTA or OTA) updates:
- π₯Ύ Bootloader (preloader and uboot)
- π Recovery image
- ποΈ Root filesystem
- π§ Kernel
A package update only updates:
- π¦ Custom BananaWRT packages
- βοΈ Package configurations
By default, updates preserve your configuration settings including:
- π Network configuration
- π‘ Wi-Fi settings
- π€ User accounts
- π¦ Installed packages
- βοΈ Custom configurations
When using the --reset flag, configuration is not preserved.
BananaWRT includes a smart package auto-restoration system:
- β»οΈ After a firmware update, the system automatically reinstalls previously installed custom packages
- π This ensures your functionality remains consistent after updates
- π The system is built into the
banana-utilspackage
Solution:
- π Check your internet connection
- π‘ Try using a different network
- π₯ Download the files manually and use the OTA method
Solution:
- β‘ Ensure device has adequate power during the update
- π Check if all required files are present in
/tmp - π Try the update again with a stable release
Solution:
- π Connect to serial console
- β±οΈ Interrupt boot process and enter recovery mode
- πΏ Flash firmware again using recovery mode
Solution:
- π Update the package lists:
opkg update - π Check repository configuration
- π§ͺ Try updating individual packages manually
-
Always backup your configuration before updating:
sysupgrade -b /tmp/backup-$(date +%F).tar.gz -
β‘ Ensure stable power during updates to prevent interruptions
-
π‘οΈ Use stable releases for production environments, nightly builds for testing
-
π½ Keep disk space available in
/tmp(at least 100MB) for firmware files -
π Monitor the update process to catch any errors early
For additional help, visit the BananaWRT Discussions page.