This article provides a step-by-step guide on upgrading U-Boot from shell mode on Juniper SRX branch devices.
You can perform a U-Boot upgrade via the root user from the shell mode using the following command:
bootupgrade -u /boot/uboot -l /boot/loader
For example, in the scenario below, the device is running Junos OS 15.1X49-D210, with U-Boot version 3.6 as the available version and 3.9 as the current version.
root@srx> show system firmware
Part Type Tag Current Available Status
version version
Routing Engine 0 RE BIOS 0 3.9 3.6 OK
This indicates that the device was previously running a newer Junos OS version (e.g., 19.3), which installed U-Boot 3.9 and preserved it even after the downgrade to 15.1.
The bootupgrade command upgrades the U-Boot version that is bundled with the current Junos OS version. In this case, running the command would downgrade U-Boot from 3.9 to 3.6, since 3.6 is the available version.
bootupgrade
The goal is to upgrade U-Boot to version 3.10. To achieve this, follow these steps:
Routing Engine 0 RE BIOS 0 3.10 3.12 OK
root@srx% ls
bios-autoupgrade.conf loader.rc uboot_siege
defaults modules ushell
loader <<<<<<< support.4th ushell_jsrxnle
loader.4th uboot <<<<<<< ushell_siege
loader.conf uboot_jsrxnle
root@srx> start shell
root@srx% bootupgrade -u /boot/uboot -l /boot/loader
Upgrading Loader...
#####################################
Verifying the loader image... OK
Upgrading U-Boot...
###############################################################################################################
Verifying the new U-Boot image... OK
WARNING: The new boot firmware will take effect when the system is rebooted.
root@srx% reboot
Routing Engine 0 RE BIOS 0 3.10 3.6 OK