Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NOTE:  Wouter Cloetens shared links and information on taking serial connection and flashing OpenWRT image


Setting up Bootloader:

In serial console, press "Enter" key to get into u-boot prompt

Type "version" u-boot command to check the u-boot version

If the PREREQUISITE: Following flashing instructions works well with U-Boot 2015.10-rc2 bootloader version. If bootloader version found to be "U-Boot SPL 2019.07  in your Turris Omnia, then please follow steps in Bootloader Downgrade section below in this page.

Flashing

The Omnia ships with TurrisOS preinstalled. This is an OpenWrt fork with the older Linux 4.4 kernel. It uses btrfs to manage the eMMC flash.

We do not use it in this mode. The RDK-B port is closer to the mainline OpenWrt port, which uses Linux 4.14, and a traditional partition table.

Reflashing procedure from TurrisOS:

2015.10-rc2", then type "reset" u-boot command and move on to Flashing section

If version is other than U-Boot 2015.10-rc2, follow below steps (derived from https://wiki.debian.org/InstallingDebianOn/TurrisOmnia#Bootloader_update)


  • Install a tftp server (eg. tftpd-hpa) on your computer and place the attached uboot-turris-omnia-spl.kwb file into your computer's tftp directory(eg. /srv/tftp/).
  • Image Addeduboot-turris-omnia-spl.kwb
  • And run the following commands at the u-boot prompt on Turris Omnia



dhcp
tftpboot 0x1000000 uboot-turris-omnia-spl.kwb
sf probe
sf update 0x1000000 0 $filesize

Flashing

The Omnia ships with TurrisOS preinstalled. This is an OpenWrt fork with the older Linux 4.4 kernel. It uses btrfs to manage the eMMC flash.

We do not use it in this mode. The RDK-B port is closer to the mainline OpenWrt port, which uses Linux 4.14, and a traditional partition table.

Reflashing procedure from TurrisOS:

  • upgrade through a "medkit" image through the use of a USB stick and pressing the reset button.
  • https://openwrt.org/toh/turris_cz.nic/turris_cz.nic_omnia is not entirely accurate, and cannot complete without access to the serial port, due to an error in the factory initialisation of the U-boot environment. Updated procedure:
  • upgrade through a "medkit" image through the use of a USB stick and pressing the reset button.
  • https://openwrt.org/toh/turris_cz.nic/turris_cz.nic_omnia is not entirely accurate, and cannot complete without access to the serial port, due to an error in the factory initialisation of the U-boot environment. Updated procedure:
    • Remove the casing. Connect a TTL serial interface, see "Serial Port Access" above.
    • Format a USB flash drive as ext2.
    • Download openwrt-18.06.2-mvebu-cortexa9-turris-omnia-sysupgrade.img.gz and omnia-medkit-openwrt-18.06.2-mvebu-cortexa9-turris-omnia-initramfs.tar.gz from http://downloads.openwrt.org/releases/18.06.2/targets/mvebu/cortexa9/ and copy both files to the root of the flash drive.

    • Disconnect other USB devices from the Omnia and connect the flash drive to either USB port. (I have only verified this with the USB port at the front).

    • Hold down the reset button (backside, bottom centre) and plug in the power cord. Wait until the fourth LED lights up (green), then release (before the 5th LED lights up). Please click here to see more detail on rescue modes.

    • Wait approximately 2 minutes for the Turris Omnia to flash itself with the temporary image, during which LEDs will change multiple times.
    • Either use the serial console, or connect a computer to a LAN port (LAN0 to LAN4) of the Turris Omnia with a DHCP client.
      From a computer:

      ssh root@192.168.1.1

      Then, from the ssh session or a serial console:

      mount /dev/sda1 /mnt
      sysupgrade /mnt/openwrt-18.06.2-mvebu-cortexa9-turris-omnia-sysupgrade.img.gz


    • Wait another minute for the final OpenWrt image to be flashed. The Turris Omnia will reboot itself and you can remove the flash drive.

    • At this point, the boot loader (U-boot) will fail to boot the image:

      U-boot: CRC error in environment, using default environment.


      This is due to a forgotten step during manufacturing; the default U-boot environment was never written. Correct this with these U-boot commands:

      env default -a
      saveenv


    • Reboot the device. You are now running stock OpenWrt 18.06.2.

...

It is strongly recommend to keep the OpenWrt partition and kernel. If boot fails, it is easy to change the U-boot environment and boot back into OpenWrt.


Flashing RDKB image(A Yocto Project based Distro)

Follow instruction from wiki page(https://wiki.rdkcentral.com/display/RDK/Wifi-Extender+Yocto+Build+Instructions) to make yocto's RDK-B image from yocto workspace in your PC.

Boot into openwrt based linux system in turris omnia board. Its downlink interface will have 192.168.1.1 IP address and have it connected to your PC.

Check whether 'fdisk' command is available in openwrt system. if it is not present, follow below steps to have 'fdisk' command.

...

=> env set yocto_bootargs earlyprintk console=ttyS0,115200 root=/dev/mmcblk0p5 rootfstype=ext2 rw rootwait
=> env set yocto_mmcload setenv bootargs \"\$yocto_bootargs cfg80211.freg=\$regdomain\"\; ext2load mmc 0:3 0x01000000 zImage\; ext2load mmc 0:3 0x02000000 armada-385-turris-omnia.dtb
=> env set mmcboot run yocto_mmcload \|\| run openwrt_mmcload \|\| run factory_mmcload\; bootz 0x01000000 - 0x02000000
=> saveenv
=> reset

Turris Omnia is now running upgraded version of Yocto based RDKB image.

Bootloader Downgrade:

(Following steps are derived from https://wiki.debian.org/InstallingDebianOn/TurrisOmnia#Bootloader_update)

View file
nameuboot-turris-omnia-spl.kwb
height250

...

armada-385-turris-omnia

...

.dtb
=> env set mmcboot run yocto_mmcload \|\| run openwrt_mmcload \|\| run factory_mmcload\; bootz 0x01000000 - 0x02000000
=> saveenv
=> reset

Turris Omnia is now running upgraded version of Yocto based RDKB image.