Be aware that you might need to manually update the bootloader as this only happens on an upgrade, not on manual SD card setup. If you run into issues like Mox not coming up after a reboot, try:
Hello, sorry for the delay but I didn’t have physical access to the AP.
The re-flash using rescue mode worked perfectly, it just took me a while to understand that now the Wifi is not enabled automatically
After the upgrade I’ve run the commands give by @ssdnvv but they seem to have failed, what’s their meaning? did I broke something? thanks!
BusyBox v1.33.2 (2023-03-23 00:52:18 UTC) built-in shell (ash)
______ _ ____ _____
/_ __/_ ____________(_)____ / __ \/ ___/
/ / / / / / ___/ ___/ / ___/ / / / /\__
/ / / /_/ / / / / / (__ ) / /_/ /___/ /
/_/ \__,_/_/ /_/ /_/____/ \____//____/
-----------------------------------------------------
TurrisOS 6.3.0, Turris Mox
-----------------------------------------------------
root@turris:~# opkg update
Downloading https://repo.turris.cz/hbs/mox/packages/core/Packages.gz
Updated list of available packages in /var/opkg-lists/turrisos_core
Downloading https://repo.turris.cz/hbs/mox/packages/core/Packages.sig
Signature check passed.
Downloading https://repo.turris.cz/hbs/mox/packages/base/Packages.gz
Updated list of available packages in /var/opkg-lists/turrisos_base
Downloading https://repo.turris.cz/hbs/mox/packages/base/Packages.sig
Signature check passed.
Downloading https://repo.turris.cz/hbs/mox/packages/cesnet/Packages.gz
Updated list of available packages in /var/opkg-lists/turrisos_cesnet
Downloading https://repo.turris.cz/hbs/mox/packages/cesnet/Packages.sig
Signature check passed.
Downloading https://repo.turris.cz/hbs/mox/packages/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/turrisos_luci
Downloading https://repo.turris.cz/hbs/mox/packages/luci/Packages.sig
Signature check passed.
Downloading https://repo.turris.cz/hbs/mox/packages/node/Packages.gz
Updated list of available packages in /var/opkg-lists/turrisos_node
Downloading https://repo.turris.cz/hbs/mox/packages/node/Packages.sig
Signature check passed.
Downloading https://repo.turris.cz/hbs/mox/packages/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/turrisos_packages
Downloading https://repo.turris.cz/hbs/mox/packages/packages/Packages.sig
Signature check passed.
Downloading https://repo.turris.cz/hbs/mox/packages/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/turrisos_routing
Downloading https://repo.turris.cz/hbs/mox/packages/routing/Packages.sig
Signature check passed.
Downloading https://repo.turris.cz/hbs/mox/packages/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/turrisos_telephony
Downloading https://repo.turris.cz/hbs/mox/packages/telephony/Packages.sig
Signature check passed.
Downloading https://repo.turris.cz/hbs/mox/packages/turrispackages/Packages.gz
Updated list of available packages in /var/opkg-lists/turrisos_turrispackages
Downloading https://repo.turris.cz/hbs/mox/packages/turrispackages/Packages.sig
Signature check passed.
root@turris:~# opkg install turris-nor-update
Installing turris-nor-update (1.1.0-7) to root...
Downloading https://repo.turris.cz/hbs/mox/packages/turrispackages/turris-nor-update_1.1.0-7_aarch64_cortex-a53.ipk
Installing turris-mox-firmware (2.0-3) to root...
Downloading https://repo.turris.cz/hbs/mox/packages/turrispackages/turris-mox-firmware_2.0-3_aarch64_cortex-a53.ipk
Configuring turris-mox-firmware.
Configuring turris-nor-update.
root@turris:~# nor-update
Verifying /dev/mtd0 against secure-firmware.bin ...
18a0c1bc58839cbbc7aef70db637d261 - /dev/mtd0
e12a263c63bd9860cff844763e81e56b - secure-firmware.bin
Failed
Unlocking /dev/mtd0 ...
Erasing /dev/mtd0 ...
Writing from secure-firmware.bin to /dev/mtd0 ...
Verifying /dev/mtd1 against uboot ...
437cb920201336f556abd2b448248714 - /dev/mtd1
bd802eb0ec60fd89f983ac3cd4860fba - uboot
Failed
Cannot parse config file '/etc/fw_env.config': No such file or directory
Unlocking /dev/mtd1 ...
Erasing /dev/mtd1 ...
Writing from uboot to /dev/mtd1 ...
Verifying /dev/mtd3 against rescue ...
e9b30ada843663c579829652847c7bb8 - /dev/mtd3
39f02d9fb36b4258bac37924bcdf570c - rescue
Failed
Unlocking /dev/mtd3 ...
Erasing /dev/mtd3 ...
Writing from rescue to /dev/mtd3 ...
Can't find anything to flash to 'dtb' partition
Nothing broken: nor-update compares the secure-firmware partition (mtd0), the u-boot partition (mtd1) and the Rescue system partition (mtd3) with the most up-to-date images in the Turris repo. If the check fails (most likely because there is an older version on the device), nor-update deletes the partition and flashes the most updated version.
Thanks, that helped (I had to remove ‘ from the /etc/fw_env.config as it was badly pasted )
root@turris:~# echo ‘/dev/mtd2 0x00000 0x10000 0x10000’ > /etc/fw_env.config
root@turris:~# fw_printenv
Cannot open ‘/dev/mtd2: No such file or directory
root@turris:~# nor-update
Verifying /dev/mtd0 against secure-firmware.bin ...
e12a263c63bd9860cff844763e81e56b - /dev/mtd0
e12a263c63bd9860cff844763e81e56b - secure-firmware.bin
Success
Verifying /dev/mtd1 against uboot ...
bd802eb0ec60fd89f983ac3cd4860fba - /dev/mtd1
bd802eb0ec60fd89f983ac3cd4860fba - uboot
Success
Verifying /dev/mtd3 against rescue ...
39f02d9fb36b4258bac37924bcdf570c - /dev/mtd3
39f02d9fb36b4258bac37924bcdf570c - rescue
Success
Can't find anything to flash to 'dtb' partition
root@turris:~# fw_printenv
Cannot open ‘/dev/mtd2: No such file or directory
root@turris:~# vi /etc/fw_env.config
root@turris:~# fw_printenv
arch=arm
baudrate=115200
board=turris_mox
board_name=turris_mox
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf}
boot_net_pci_enum=pci enum
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=mmc0 usb0 pxe dhcp
bootcmd=run mox_boot
bootcmd_dhcp=run boot_net_usb_start; run boot_net_pci_enum; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
bootcmd_mmc0=setenv devnum 0; run mmc_boot
bootcmd_pxe=run boot_net_usb_start; run boot_net_pci_enum; dhcp; if pxe get; then pxe boot; fi
bootcmd_usb0=setenv devnum 0; run usb_boot
bootdelay=2
cpu=armv8
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
fdt_addr_r=0x4f00000
kernel_addr_r=0x5000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
mox_boot=gpio clear GPIO221; if gpio input GPIO220 && sleep 1 && gpio input GPIO220; then run rescue_bootcmd; else run mox_distro_bootcmd; fi
mox_distro_bootcmd=sf probe; sf read ${fdt_addr_r} 0x7f0000 0x10000; run distro_bootcmd
pxefile_addr_r=0x4e00000
ramdisk_addr_r=0x8000000
rescue_args=console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000
rescue_bootcmd=gpio set GPIO221; setenv bootargs $rescue_args; sf probe; sf read $kernel_addr_r 0x190000; lzmadec $kernel_addr_r $ramdisk_addr_r; bootm $ramdisk_addr_r
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x4d00000
soc=mvebu
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
vendor=CZ.NIC