Hardware Information

Wi-Fi Extender Reference Target

Requirements

Two files are required to bring up Newer model of Turris Omnia (Turris Omnia 2019 & Turris Omnia 2020)[Revision: CZ11NIC23]

Extract *.wic.gz or *.wic.bz2 image and rename to sysupgrade.img. For example,

gunzip rdkb-generic-broadband-image_default_*.rootfs.wic.gz
(or)
bzip2 -d rdkb-generic-broadband-image_default_*.rootfs.wic.bz2

mv rdkb-generic-broadband-image_default_*.rootfs.wic sysupgrade.img

Flashing RDKB image (A Yocto Project based Distro)

Flashing with Medkit & Sysupgrade images

NOTE: This upgrade procedure wipes out eMMC flash storage(/dev/mmcblk0) completely. Earlier partitions are lost.

Perform following steps to flash New Turris Omnia with RDKB image.

Creating additional partitions

Create partitions for additional rootfs and nvram. Then, reboot the system.

root@TurrisOmnia-GW:~# fdisk /dev/mmcblk0

Welcome to fdisk (util-linux 2.28.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xec7ceddc

Device         Boot Start    End Sectors   Size Id Type
/dev/mmcblk0p1 *     2048  34623   32576  15.9M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      34816 755359  720544 351.8M 83 Linux

Command (m for help): n
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (3,4, default 3): 
First sector (34624-15269887, default 755712): 
Last sector, +sectors or +size{K,M,G,T,P} (755712-15269887, default 15269887): +512M

Created a new partition 3 of type 'Linux' and of size 512 MiB.

Command (m for help): n
Partition type
   p   primary (3 primary, 0 extended, 1 free)
   e   extended (container for logical partitions)
Select (default e): 

Using default response e.
Selected partition 4
First sector (34624-15269887, default 1804288): 
Last sector, +sectors or +size{K,M,G,T,P} (1804288-15269887, default 15269887): 

Created a new partition 4 of type 'Extended' and of size 6.4 GiB.

Command (m for help): n
All primary partitions are in use.
Adding logical partition 5
First sector (1806336-15269887, default 1806336): 
Last sector, +sectors or +size{K,M,G,T,P} (1806336-15269887, default 15269887): +128M

Created a new partition 5 of type 'Linux' and of size 128 MiB.

Command (m for help): p
Disk /dev/mmcblk0: 7.3 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xec7ceddc

Device         Boot   Start      End  Sectors   Size Id Type
/dev/mmcblk0p1 *       2048    34623    32576  15.9M  c W95 FAT32 (LBA)
/dev/mmcblk0p2        34816   755359   720544 351.8M 83 Linux
/dev/mmcblk0p3       755712  1804287  1048576   512M 83 Linux
/dev/mmcblk0p4      1804288 15269887 13465600   6.4G  5 Extended
/dev/mmcblk0p5      1806336  2068479   262144   128M 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

root@TurrisOmnia-GW:~# reboot


Format newly created two partitions as ext2 partitions.

root@TurrisOmnia-GW:~# mkfs.ext2  /dev/mmcblk0p3
mke2fs 1.43 (17-May-2016)
Discarding device blocks: done                            
Creating filesystem with 131072 4k blocks and 32768 inodes
Filesystem UUID: c2d8887f-6e6b-4d9b-b57a-f3bc28374841
Superblock backups stored on blocks: 
	32768, 98304

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

root@TurrisOmnia-GW:~# mkfs.ext2  /dev/mmcblk0p5
mke2fs 1.43 (17-May-2016)
Discarding device blocks: done                            
Creating filesystem with 131072 1k blocks and 32768 inodes
Filesystem UUID: 2e4cee8d-f1d5-488a-99f9-5e3a233dcf4f
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done


RDK Firmware(Image) upgrade: (Yet to validate)

Approach 1:

RDK firmware upgrade with XConf server: Firmware upgrade through XCONF server - Turris-Omnia - User Manual - 2020 - M6

Approach 2(Quick):

Copy zImage , dtb file and rootfs files(not *dbg* rootfs file) from PC or VM to /tmp/ directory of Turris Omnia which runs RDK Image.

For example

scp zImage--4.14.22-r0-turris-20200720105910.bin root@<TurrisOmnia-IP>:/tmp/
scp armada-385-turris-omnia.dtb root@<TurrisOmnia-IP>:/tmp/
scp rdkb-generic-broadband-image_default_20200720105910.rootfs.tar.gz root@<TurrisOmnia-IP>:/tmp/


In Turris Omnia, execute /lib/rdk/TurrisFwUpgrade.sh  to flash new RDK image present in /tmp folder

sh /lib/rdk/TurrisFwUpgrade.sh

Turris Omnia will now run upgraded version of Yocto based RDK image.