Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Move Turris setup to subpage of lab

...

 Provisioning Turris Omnia Boards for first time use:

Turris Omnia boxes come provisioned with a two-stage U-Boot boot loader and Turris-WRT package (an OpenWRT variant)

The high level explanation of what we do is:

  • Change Turris-WRT to Open-WRT
  • Configure shell access
  • Configure disk
  • put RDK in place
  • Configure uBoot

Example of OEM shell on Omnia:

Code Block
languagebash
themeMidnight
titleTurris Terminal
collapsetrue
BusyBox v1.30.1 () built-in shell (ash)

      ______                _         ____  _____
     /_  __/_  ____________(_)____   / __ \/ ___/
      / / / / / / ___/ ___/ / ___/  / / / /\__
     / / / /_/ / /  / /  / (__  )  / /_/ /___/ /
    /_/  \__,_/_/  /_/  /_/____/   \____//____/

 -----------------------------------------------------
 TurrisOS 5.2.7, Turris Omnia
 -----------------------------------------------------
root@turris:/# cat /etc/openwrt_release
DISTRIB_ID='TurrisOS'
DISTRIB_RELEASE='5.2.7'
DISTRIB_REVISION='9882a54'
DISTRIB_TARGET='mvebu/cortexa9'
DISTRIB_ARCH='arm_cortex-a9_vfpv3-d16'
DISTRIB_DESCRIPTION='TurrisOS 5.2.7 9882a54c4848e2e282bca435c6aa0025d9fa37df'
DISTRIB_TAINTS='busybox'
root@turris:/# cat /etc/openwrt_version
9882a54c4848e2e282bca435c6aa0025d9fa37df
root@turris:/# cat /etc/os-release
NAME="TurrisOS"
VERSION="5.2.7"
ID="turrisos"
ID_LIKE="lede openwrt"
PRETTY_NAME="TurrisOS 5.2.7"
VERSION_ID="5.2.7"
HOME_URL="https://www.turris.cz/"
BUG_URL="https://gitlab.nic.cz/groups/turris/-/issues/"
SUPPORT_URL="https://www.turris.cz/support/"
BUILD_ID="9882a54"
OPENWRT_BOARD="mvebu/cortexa9"
OPENWRT_ARCH="arm_cortex-a9_vfpv3-d16"
OPENWRT_TAINTS="busybox"
OPENWRT_DEVICE_MANUFACTURER="CZ.NIC"
OPENWRT_DEVICE_MANUFACTURER_URL="https://www.turris.cz/"
OPENWRT_DEVICE_PRODUCT="Turris Omnia"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="TurrisOS 5.2.7 9882a54c4848e2e282bca435c6aa0025d9fa37df"

The secondary program loader, first stage boot loader, is 'U-Boot SPL 2015.10-rc2' (this has stayed the same between old and newer turris boards)

  • U-Boot SPL 2015.10-rc2 (Aug 18 2016 - 20:43:35)             <- OLD
  • U-Boot SPL 2015.10-rc2 (Oct 06 2020 - 03:14:44)            <- NEW

The second stage boot loader differs significantly between releases of Omnia

  • U-Boot 2015.10-rc2 (Aug 18 2016 - 20:43:35 +0200), Build: jenkins-omnia-master-23                                       <- OLD
  • U-Boot 2019.07 (Oct 05 2020 - 23:50:39 +0000), Build: jenkins-turris-os-packages-dragons-omnia-1753    <- NEW

Before changing any software on the box you can check the version of the Boot from the Turris software with the following command:

Code Block
languagebash
themeMidnight
titleTurris Terminal
collapsetrue
root@turris:/# strings /dev/mtd0 | grep "U-Boot 20"
U-Boot 2019.07 for turris_omnia
U-Boot 2019.07 (Oct 05 2020 - 23:50:39 +0000)

Install OpenWRT

Requires:

  • USB Drive partitioned with EXT2 or EXT4
  • Serial connection to Turris Omnia
  • OpenWRT Software: (Official Releases) today we are using release 21.02.1. Within a given release directory, navigate to 'targets', 'mvebu' and 'cortexa9'

Procedure:

  • unzip openwrt-*-sysupgrade.img.gz and copy the resulting .img file to the root of the USB drive
  • Boot Turris Omnia into a 'Rescue Shell' (7 LED reset) Example:

    Code Block
    languagebash
    themeMidnight
    titleTurris Terminal
    collapsetrue
    U-Boot SPL 2015.10-rc2 (Oct 06 2020 - 03:14:44)
    High speed PHY - Version: 2.0
    SERDES0 card detect: PEX
    
    Initialize Turris board topology
    Detected Device ID 6820
    board SerDes lanes topology details:
     | Lane #  | Speed |  Type       |
     --------------------------------
     |   0    |  5   |  PCIe0       |
     |   1    |  5   |  USB3 HOST0  |
     |   2    |  5   |  PCIe1       |
     |   3    |  5   |  USB3 HOST1  |
     |   4    |  5   |  PCIe2       |
     |   5    |  0   |  SGMII2      |
     --------------------------------
    poll_op_execute: TIMEOUT
    :** Link is Gen1, check the EP capability
    PCIe, Idx 0: remains Gen1
    :** Link is Gen1, check the EP capability
    PCIe, Idx 1: remains Gen1
    PCIe, Idx 2: detected no link
    High speed PHY - Ended Successfully
    DDR3 Training Sequence - Ver TIP-1.29.0
    Memory config in EEPROM: 0x02
    DDR3 Training Sequence - Switching XBAR Window to FastPath Window
    DDR3 Training Sequence - Ended Successfully
    
    
    U-Boot 2019.07 (Oct 05 2020 - 23:50:39 +0000), Build: jenkins-turris-os-packages-dragons-omnia-1753
    
    SoC:   MV88F6820-A0 at 1600 MHz
    DRAM:  2 GiB (800 MHz, 32-bit, 2T, ECC not enabled)
    Disabling MCU watchdog... disabled
    WDT:   Started with servicing (60s timeout)
    MMC:   mv_sdh: 0
    Loading Environment from SPI Flash... SF: Detected s25fl164k with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    OK
    Model: Turris Omnia
    Turris Omnia:
      RAM size: 2048 MiB
      Serial Number: 0000000E40001E5F
    Regdomain set to **
    RESET button was pressed, overwriting bootcmd!
    Net:   eth0: ethernet@70000, eth1: ethernet@30000, eth2: ethernet@34000
    Hit any key to stop autoboot:  0
    Setting bus to 2
    SF: Detected s25fl164k with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    device 0 offset 0x100000, size 0x700000
    SF: 7340032 bytes @ 0x100000 Read: OK
    Uncompressed size: 10916816 = 0XA693D0
    gpio: pin gpio@71_4 (gpio 4) value is 1
    ## Loading kernel from FIT Image at 01700000 ...
       Using 'def' configuration
       Trying 'kernel' kernel subimage
         Description:  Linux kernel
         Type:         Kernel Image
         Compression:  uncompressed
         Data Start:   0x017000e0
         Data Size:    3524488 Bytes = 3.4 MiB
         Architecture: ARM
         OS:           Linux
         Load Address: 0x00800000
         Entry Point:  0x00800000
         Hash algo:    crc32
         Hash value:   959a9435
         Hash algo:    sha1
         Hash value:   4b14d6353eb27863f4d55fea09be8fe792e61360
       Verifying Hash Integrity ... crc32+ sha1+ OK
    ## Loading ramdisk from FIT Image at 01700000 ...
       Using 'def' configuration
       Trying 'ramdisk' ramdisk subimage
         Description:  Initial Ramdisk
         Type:         RAMDisk Image
         Compression:  uncompressed
         Data Start:   0x01a5c984
         Data Size:    7352320 Bytes = 7 MiB
         Architecture: ARM
         OS:           Linux
         Load Address: unavailable
         Entry Point:  unavailable
         Hash algo:    crc32
         Hash value:   bb02b1c7
         Hash algo:    sha1
         Hash value:   2a8750402360f42041b9e8e1583b7192ef5fede8
       Verifying Hash Integrity ... crc32+ sha1+ OK
    ## Loading fdt from FIT Image at 01700000 ...
       Using 'def' configuration
       Trying 'phy-dtb' fdt subimage
         Description:  Flattened Device Tree blob (metalic WAN)
         Type:         Flat Device Tree
         Compression:  uncompressed
         Data Start:   0x0215fa9c
         Data Size:    18773 Bytes = 18.3 KiB
         Architecture: ARM
         Hash algo:    crc32
         Hash value:   390c5e47
         Hash algo:    sha1
         Hash value:   e39a04b4b096f876f3e8a54724472392bb1a873f
       Verifying Hash Integrity ... crc32+ sha1+ OK
       Booting using the fdt blob at 0x215fa9c
       Loading Kernel Image ... OK
       Loading Ramdisk to 0f8fd000, end 10000000 ... OK
       Loading Device Tree to 0f8f5000, end 0f8fc954 ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.14.149 (beast@slave09) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 4ee9e55)) #0 SMP Wed Oct 16 23:24:21 2019
    [    0.000000] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: Turris Omnia
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] percpu: Embedded 11 pages/cpu s13964 r8192 d22900 u45056
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 522752
    [    0.000000] Kernel command line: earlyprintk console=ttyS0,115200 omniarescue=6 rescue_mode=6
    [    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [    0.000000] Memory: 2063960K/2097152K available (5120K kernel code, 177K rwdata, 1356K rodata, 1024K init, 238K bss, 33192K reserved, 0K cma-reserved, 1310720K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    [    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc0600000   (6112 kB)
    [    0.000000]       .init : 0xc0800000 - 0xc0900000   (1024 kB)
    [    0.000000]       .data : 0xc0900000 - 0xc092c480   ( 178 kB)
    [    0.000000]        .bss : 0xc092c480 - 0xc0967d40   ( 239 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] Hierarchical RCU implementation.
    [    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
    [    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] L2C-310 enabling early BRESP for Cortex-A9
    [    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
    [    0.000000] L2C-310 D prefetch enabled, offset 1 lines
    [    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
    [    0.000000] L2C-310 Coherent cache controller enabled, 16 ways, 1024 kB
    [    0.000000] L2C-310 Coherent: CACHE_ID 0x410054c9, AUX_CTRL 0x56070001
    [    0.000007] sched_clock: 64 bits at 800MHz, resolution 1ns, wraps every 4398046511103ns
    [    0.000017] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0xb881274fa3, max_idle_ns: 440795210636 ns
    [    0.000030] Switching to timer-based delay loop, resolution 1ns
    [    0.000167] Ignoring duplicate/late registration of read_current_timer delay
    [    0.000178] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
    [    0.000346] Console: colour dummy device 80x30
    [    0.000364] Calibrating delay loop (skipped), value calculated using timer frequency.. 1600.00 BogoMIPS (lpj=8000000)
    [    0.000371] pid_max: default: 32768 minimum: 301
    [    0.000428] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000435] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.000665] CPU: Testing write buffer coherency: ok
    [    0.000776] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.000888] Setting up static identity map for 0x100000 - 0x100060
    [    0.000968] mvebu-soc-id: MVEBU SoC ID=0x6820, Rev=0x4
    [    0.001054] mvebu-pmsu: Initializing Power Management Service Unit
    [    0.001098] Hierarchical SRCU implementation.
    [    0.001299] smp: Bringing up secondary CPUs ...
    [    0.001413] Booting CPU 1
    [    0.001572] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.001610] smp: Brought up 1 node, 2 CPUs
    [    0.001616] SMP: Total of 2 processors activated (3200.00 BogoMIPS).
    [    0.001620] CPU: All CPU(s) started in SVC mode.
    [    0.002111] devtmpfs: initialized
    [    0.003653] random: get_random_u32 called from bucket_table_alloc+0x1c4/0x204 with crng_init=0
    [    0.003709] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [    0.003762] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.003769] futex hash table entries: 512 (order: 3, 32768 bytes)
    [    0.003810] xor: measuring software checksum speed
    [    0.100067]    arm4regs  :  2519.200 MB/sec
    [    0.200067]    8regs     :  1904.000 MB/sec
    [    0.300066]    32regs    :  2014.000 MB/sec
    [    0.300070] xor: using function: arm4regs (2519.200 MB/sec)
    [    0.300076] pinctrl core: initialized pinctrl subsystem
    [    0.300307] NET: Registered protocol family 16
    [    0.300828] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.301278] mvebu-pmsu: CPU hotplug support is currently broken on Armada 38x: disabling
    [    0.301287] mvebu-pmsu: CPU idle is currently broken on Armada 38x: disabling
    [    0.470159] raid6: int32x1  gen()   248 MB/s
    [    0.640122] raid6: int32x1  xor()   270 MB/s
    [    0.810278] raid6: int32x2  gen()   281 MB/s
    [    0.980105] raid6: int32x2  xor()   287 MB/s
    [    1.150218] raid6: int32x4  gen()   260 MB/s
    [    1.320115] raid6: int32x4  xor()   220 MB/s
    [    1.490192] raid6: int32x8  gen()   267 MB/s
    [    1.660118] raid6: int32x8  xor()   208 MB/s
    [    1.660122] raid6: using algorithm int32x2 gen() 281 MB/s
    [    1.660125] raid6: .... xor() 287 MB/s, rmw enabled
    [    1.660128] raid6: using intx1 recovery algorithm
    [    1.660387] SCSI subsystem initialized
    [    1.660518] usbcore: registered new interface driver usbfs
    [    1.660545] usbcore: registered new interface driver hub
    [    1.660572] usbcore: registered new device driver usb
    [    1.661207] clocksource: Switched to clocksource arm_global_timer
    [    1.664514] NET: Registered protocol family 2
    [    1.664759] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [    1.664804] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
    [    1.664868] TCP: Hash tables configured (established 8192 bind 8192)
    [    1.664913] UDP hash table entries: 512 (order: 2, 16384 bytes)
    [    1.664940] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
    [    1.665022] NET: Registered protocol family 1
    [    1.665109] Unpacking initramfs...
    [    1.690515] Freeing initrd memory: 7180K
    [    1.691156] Crashlog allocated RAM at address 0x3f00000
    [    1.691265] workingset: timestamp_bits=30 max_order=19 bucket_order=0
    [    1.692876] ntfs: driver 2.1.32 [Flags: R/O].
    [    1.693858] bounce: pool size: 64 pages
    [    1.693868] io scheduler noop registered
    [    1.693871] io scheduler deadline registered (default)
    [    1.694310] armada-38x-pinctrl f1018000.pinctrl: registered pinctrl driver
    [    1.695373] mv_xor f1060800.xor: Marvell shared XOR driver
    [    1.751774] mv_xor f1060800.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
    [    1.751888] mv_xor f1060900.xor: Marvell shared XOR driver
    [    1.811642] mv_xor f1060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
    [    1.811845] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
    [    1.812922] console [ttyS0] disabled
    [    1.832989] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 22, base_baud = 15625000) is a 16550A
    [    2.487216] console [ttyS0] enabled
    [    2.510960] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 23, base_baud = 15625000) is a 16550A
    [    2.521593] loop: module loaded
    [    2.525481] m25p80 spi0.0: s25fl164k (8192 Kbytes)
    [    2.530349] 2 fixed-partitions partitions found on MTD device spi0.0
    [    2.536732] Creating 2 MTD partitions on "spi0.0":
    [    2.541540] 0x000000000000-0x000000100000 : "U-Boot"
    [    2.546798] 0x000000100000-0x000000800000 : "Rescue system"
    [    2.552855] libphy: Fixed MDIO Bus: probed
    [    2.557317] libphy: orion_mdio_bus: probed
    [    2.561946] mv88e6085 f1072004.mdio-mii:10: switch 0x1760 detected: Marvell 88E6176, revision 1
    [    2.721152] libphy: mv88e6xxx SMI: probed
    [    2.728994] mvneta f1070000.ethernet eth0: Using hardware mac address d8:58:d7:01:44:6c
    [    2.737771] mvneta f1030000.ethernet eth1: Using hardware mac address d8:58:d7:01:44:6a
    [    2.746483] mvneta f1034000.ethernet eth2: Using hardware mac address d8:58:d7:01:44:6b
    [    2.754675] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    2.761226] ehci-platform: EHCI generic platform driver
    [    2.766535] ehci-orion: EHCI orion driver
    [    2.770645] orion-ehci f1058000.usb: EHCI Host Controller
    [    2.776072] orion-ehci f1058000.usb: new USB bus registered, assigned bus number 1
    [    2.783705] orion-ehci f1058000.usb: irq 40, io mem 0xf1058000
    [    2.811213] orion-ehci f1058000.usb: USB 2.0 started, EHCI 1.00
    [    2.817418] hub 1-0:1.0: USB hub found
    [    2.821191] hub 1-0:1.0: 1 port detected
    [    2.825475] xhci-hcd f10f0000.usb3: xHCI Host Controller
    [    2.830807] xhci-hcd f10f0000.usb3: new USB bus registered, assigned bus number 2
    [    2.838380] xhci-hcd f10f0000.usb3: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
    [    2.847650] xhci-hcd f10f0000.usb3: irq 46, io mem 0xf10f0000
    [    2.853640] hub 2-0:1.0: USB hub found
    [    2.857410] hub 2-0:1.0: 1 port detected
    [    2.861443] xhci-hcd f10f0000.usb3: xHCI Host Controller
    [    2.866771] xhci-hcd f10f0000.usb3: new USB bus registered, assigned bus number 3
    [    2.874286] xhci-hcd f10f0000.usb3: Host supports USB 3.0  SuperSpeed
    [    2.880772] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
    [    2.889087] hub 3-0:1.0: USB hub found
    [    2.892866] hub 3-0:1.0: 1 port detected
    [    2.896955] xhci-hcd f10f8000.usb3: xHCI Host Controller
    [    2.902296] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 4
    [    2.909848] xhci-hcd f10f8000.usb3: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
    [    2.919111] xhci-hcd f10f8000.usb3: irq 47, io mem 0xf10f8000
    [    2.925092] hub 4-0:1.0: USB hub found
    [    2.928861] hub 4-0:1.0: 1 port detected
    [    2.932910] xhci-hcd f10f8000.usb3: xHCI Host Controller
    [    2.938240] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 5
    [    2.945756] xhci-hcd f10f8000.usb3: Host supports USB 3.0  SuperSpeed
    [    2.952245] usb usb5: We don't know the algorithms for LPM for this host, disabling LPM.
    [    2.960540] hub 5-0:1.0: USB hub found
    [    2.964316] hub 5-0:1.0: 1 port detected
    [    2.968449] usbcore: registered new interface driver usb-storage
    [    2.974910] armada38x-rtc f10a3800.rtc: rtc core: registered f10a3800.rtc as rtc0
    [    2.982556] i2c /dev entries driver
    [    2.986797] i2c i2c-0: Added multiplexed i2c bus 1
    [    2.991683] i2c i2c-0: Added multiplexed i2c bus 2
    [    2.996552] i2c i2c-0: Added multiplexed i2c bus 3
    [    3.001445] i2c i2c-0: Added multiplexed i2c bus 4
    [    3.006317] i2c i2c-0: Added multiplexed i2c bus 5
    [    3.011188] i2c i2c-0: Added multiplexed i2c bus 6
    [    3.016066] i2c i2c-0: Added multiplexed i2c bus 7
    [    3.021037] pca953x 8-0071: 8-0071 supply vcc not found, using dummy regulator
    [    3.033578] i2c i2c-0: Added multiplexed i2c bus 8
    [    3.038381] pca954x 0-0070: registered 8 multiplexed busses for I2C mux pca9547
    [    3.055981] (NULL device *): hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
    [    3.068464] orion_wdt: Initial timeout 171 sec, nowayout
    [    3.073976] sdhci: Secure Digital Host Controller Interface driver
    [    3.080170] sdhci: Copyright(c) Pierre Ossman
    [    3.151208] mmc0: SDHCI controller on f10d8000.sdhci [f10d8000.sdhci] using ADMA
    [    3.158722] sdhci-pltfm: SDHCI platform and OF driver helper
    [    3.179247] NET: Registered protocol family 10
    [    3.184295] Segment Routing with IPv6
    [    3.187996] NET: Registered protocol family 17
    [    3.192628] Registering SWP/SWPB emulation handler
    [    3.197603] registered taskstats version 1
    [    3.202227] Btrfs loaded, crc32c=crc32c-generic
    [    3.207070] mv88e6085 f1072004.mdio-mii:10: switch 0x1760 detected: Marvell 88E6176, revision 1
    [    3.230147] mmc0: new high speed MMC card at address 0001
    [    3.231225] usb 2-1: new high-speed USB device number 2 using xhci-hcd
    [    3.242150] mmcblk0: mmc0:0001 008G30 7.28 GiB
    [    3.246828] mmcblk0boot0: mmc0:0001 008G30 partition 1 4.00 MiB
    [    3.252840] mmcblk0boot1: mmc0:0001 008G30 partition 2 4.00 MiB
    [    3.258835] mmcblk0rpmb: mmc0:0001 008G30 partition 3 4.00 MiB
    [    3.265829]  mmcblk0: p1 p2
    [    3.404828] libphy: mv88e6xxx SMI: probed
    [    3.408905] DSA: switch 0 0 parsed
    [    3.412328] DSA: tree 0 parsed
    [    3.436338] random: fast init done
    [    3.439898] hub 2-1:1.0: USB hub found
    [    3.443800] hub 2-1:1.0: 1 port detected
    [    3.761205] usb 2-1.1: new high-speed USB device number 3 using xhci-hcd
    [    3.906665] usb-storage 2-1.1:1.0: USB Mass Storage device detected
    [    3.913073] scsi host0: usb-storage 2-1.1:1.0
    [    4.125997] mv88e6085 f1072004.mdio-mii:10 lan0 (uninitialized): PHY [mv88e6xxx-1:00] driver [Marvell 88E1540]
    [    4.255294] mv88e6085 f1072004.mdio-mii:10 lan1 (uninitialized): PHY [mv88e6xxx-1:01] driver [Marvell 88E1540]
    [    4.395293] mv88e6085 f1072004.mdio-mii:10 lan2 (uninitialized): PHY [mv88e6xxx-1:02] driver [Marvell 88E1540]
    [    4.525293] mv88e6085 f1072004.mdio-mii:10 lan3 (uninitialized): PHY [mv88e6xxx-1:03] driver [Marvell 88E1540]
    [    4.655293] mv88e6085 f1072004.mdio-mii:10 lan4 (uninitialized): PHY [mv88e6xxx-1:04] driver [Marvell 88E1540]
    [    4.676845] armada38x-rtc f10a3800.rtc: setting system clock to 2021-10-29 13:37:45 UTC (1635514665)
    [    4.687424] Freeing unused kernel memory: 1024K
    Initializing the system
    Rescue mode 6 + 1 selected on cmdline
    Booting rescue mode for omnia in mode 7
    Now is your chance to change a mode from 7 to something else, press the button to do so
    Waiting for 4s ...
    4s left
    [    4.779702] watchdog: watchdog0: nowayout prevents watchdog being stopped!
    [    4.786672] watchdog: watchdog0: watchdog did not stop!
    [    4.952299] scsi 0:0:0:0: Direct-Access     Corsair  Flash Voyager    1.00 PQ: 0 ANSI: 0 CCS
    [    4.961992] sd 0:0:0:0: [sda] 2002944 512-byte logical blocks: (1.03 GB/978 MiB)
    [    4.972211] sd 0:0:0:0: [sda] Write Protect is off
    [    4.979800] sd 0:0:0:0: [sda] No Caching mode page found
    [    4.985136] sd 0:0:0:0: [sda] Assuming drive cache: write through
    [    4.999457]  sda: sda1
    [    5.008636] sd 0:0:0:0: [sda] Attached SCSI removable disk
    3s left
    2s left
    1s left
    0s left
    Mode 7 selected!
    Running shell
    
    
    BusyBox v1.30.1 (2019-10-17 02:26:47 UTC) built-in shell (ash)
    Enter 'help' for a list of built-in commands.
    
    ~ #
  • Insert the USB drive to Turris and mount it; mkdir /mnt; mount /dev/sda1 /mnt

    Code Block
    languagebash
    themeMidnight
    titleTurris Terminal
    collapsetrue
    ~ # mkdir /mnt; mount /dev/sda1 /mnt
    [   39.597742] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
    ~ # ls -al /mnt
    drwxr-xr-x    2      4096 Oct 29 13:35 .
    drwxrwxrwt   14       300 Oct 29 13:38 ..
    -rw-r--r--    1  22938522 Oct 29 13:35 openwrt-21.02.1-mvebu-cortexa9-cznic_turris-omnia-sysupgrade.img
  • Flash the OpenWrt image to eMMC: dd if=/mnt/openwrt-*-sysupgrade.img of=/dev/mmcblk0 bs=4096 conv=fsync

    Code Block
    languagebash
    themeMidnight
    titleTurris Terminal
    collapsetrue
    ~ # dd if=/mnt/openwrt-21.02.1-mvebu-cortexa9-cznic_turris-omnia-sysupgrade.img
    of=/dev/mmcblk0 bs=4096 conv=fsync
    5600+1 records in
    5600+1 records out
    22938522 bytes (21.9MB) copied, 1.671909 seconds, 13.1MB/s
  • Reboot the turris (quick press of reset button on back of box) and remove the usb drive. Sample output:

    Code Block
    languagebash
    titleuBoot
    collapsetrue
    U-Boot SPL 2019.07 (Sep 25 2019 - 14:41:57 +0000)
    High speed PHY - Version: 2.0
    MiniPCIe/mSATA card detection... MiniPCIe
    Detected Device ID 6820
    board SerDes lanes topology details:
     | Lane #  | Speed |  Type       |
     --------------------------------
     |   0    |  5   |  PCIe0	|
     |   1    |  5   |  USB3 HOST0	|
     |   2    |  5   |  PCIe1	|
     |   3    |  5   |  USB3 HOST1	|
     |   4    |  5   |  PCIe2	|
     |   5    |  0   |  SGMII2	|
     --------------------------------
    :** Link is Gen1, check the EP capability
    PCIe, Idx 0: remains Gen1
    :** Link is Gen1, check the EP capability
    PCIe, Idx 1: remains Gen1
    PCIe, Idx 2: detected no link
    High speed PHY - Ended Successfully
    mv_ddr: mv_ddr-armada-18.09.2
    DDR3 Training Sequence - Switching XBAR Window to FastPath Window
    mv_ddr: completed successfully
    Trying to boot from SPI
    
    
    U-Boot 2019.07 (Sep 25 2019 - 14:41:57 +0000), Build: jenkins-turris-os-packages-kittens-omnia-876
    
    SoC:   MV88F6820-A0 at 1600 MHz
    DRAM:  2 GiB (800 MHz, 32-bit, 2T, ECC not enabled)
    Disabling MCU watchdog... disabled
    WDT:   Started with servicing (60s timeout)
    MMC:   mv_sdh: 0
    Loading Environment from SPI Flash... SF: Detected mx25l6405d with page size 256 Bytes, erase size 4 KiB, total 8 MiB
    OK
    Model: Turris Omnia
    Turris Omnia:
      RAM size: 2048 MiB
      Serial Number: 0000000E00005232
    Regdomain set to **
    Net:   eth0: ethernet@70000, eth1: ethernet@30000, eth2: ethernet@34000
    Hit any key to stop autoboot:  0
    switch to partitions #0, OK
    mmc0(part 0) is current device
    Scanning mmc 0:1...
    Found U-Boot script /boot.scr
    723 bytes read in 10 ms (70.3 KiB/s)
    ## Executing script at 01800000
    17793 bytes read in 15 ms (1.1 MiB/s)
    3000120 bytes read in 245 ms (11.7 MiB/s)
    ## Flattened Device Tree blob at 02000000
       Booting using the fdt blob at 0x2000000
       Loading Device Tree to 0fff8000, end 0ffff580 ... OK
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 5.4.154 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16325-88151b8303)) #0 SMP Sun Oct 24 09:01:35 2021
    [    0.000000] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] OF: fdt: Machine model: Turris Omnia
    [    0.000000] Memory policy: Data cache writealloc
    [    0.000000] percpu: Embedded 11 pages/cpu s15628 r8192 d21236 u45056
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 522560
    [    0.000000] Kernel command line: earlyprintk console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=auto rootwait
    [    0.000000] Bootloader command line not present
    [    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
    [    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
    [    0.000000] Memory: 2067036K/2097152K available (7168K kernel code, 234K rwdata, 996K rodata, 1024K init, 239K bss, 30116K reserved, 0K cma-reserved, 1310720K highmem)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Hierarchical RCU implementation.
    [    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [    0.000000] L2C: DT/platform modifies aux control register: 0x06070000 -> 0x16070000
    [    0.000000] L2C-310 enabling early BRESP for Cortex-A9
    [    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
    [    0.000000] L2C-310 D prefetch enabled, offset 1 lines
    [    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
    [    0.000000] L2C-310 Coherent cache controller enabled, 16 ways, 1024 kB
    [    0.000000] L2C-310 Coherent: CACHE_ID 0x410054c9, AUX_CTRL 0x56070001
    [    0.000000] random: get_random_bytes called from 0xc0a00c78 with crng_init=0
    [    0.000006] sched_clock: 64 bits at 800MHz, resolution 1ns, wraps every 4398046511103ns
    [    0.000017] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0xb881274fa3, max_idle_ns: 440795210636 ns
    [    0.000031] Switching to timer-based delay loop, resolution 1ns
    [    0.000159] Ignoring duplicate/late registration of read_current_timer delay
    [    0.000165] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
    [    0.000281] Calibrating delay loop (skipped), value calculated using timer frequency.. 1600.00 BogoMIPS (lpj=8000000)
    [    0.000287] pid_max: default: 32768 minimum: 301
    [    0.000362] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
    [    0.000368] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
    [    0.000714] CPU: Testing write buffer coherency: ok
    [    0.000726] CPU0: Spectre v2: using BPIALL workaround
    [    0.000839] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
    [    0.001011] Setting up static identity map for 0x100000 - 0x100060
    [    0.001085] mvebu-soc-id: MVEBU SoC ID=0x6820, Rev=0x4
    [    0.001160] mvebu-pmsu: Initializing Power Management Service Unit
    [    0.001214] rcu: Hierarchical SRCU implementation.
    [    0.001318] smp: Bringing up secondary CPUs ...
    [    0.001450] Booting CPU 1
    [    0.001620] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
    [    0.001623] CPU1: Spectre v2: using BPIALL workaround
    [    0.001673] smp: Brought up 1 node, 2 CPUs
    [    0.001677] SMP: Total of 2 processors activated (3200.00 BogoMIPS).
    [    0.001680] CPU: All CPU(s) started in SVC mode.
    [    0.003349] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
    [    0.003403] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.003411] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
    [    0.003469] pinctrl core: initialized pinctrl subsystem
    [    0.003851] NET: Registered protocol family 16
    [    0.004465] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.005064] cpuidle: using governor ladder
    [    0.005227] mvebu-pmsu: CPU hotplug support is currently broken on Armada 38x: disabling
    [    0.005233] mvebu-pmsu: CPU idle is currently broken on Armada 38x: disabling
    [    0.012810] cryptd: max_cpu_qlen set to 1000
    [    0.013583] SCSI subsystem initialized
    [    0.013879] usbcore: registered new interface driver usbfs
    [    0.013904] usbcore: registered new interface driver hub
    [    0.013928] usbcore: registered new device driver usb
    [    0.014104] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
    [    0.014779] clocksource: Switched to clocksource arm_global_timer
    [    0.015063] thermal_sys: Registered thermal governor 'step_wise'
    [    0.015185] NET: Registered protocol family 2
    [    0.015267] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
    [    0.015968] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
    [    0.015984] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
    [    0.016021] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
    [    0.016083] TCP: Hash tables configured (established 8192 bind 8192)
    [    0.016136] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
    [    0.016162] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
    [    0.016273] NET: Registered protocol family 1
    [    0.016288] PCI: CLS 0 bytes, default 64
    [    0.017345] workingset: timestamp_bits=14 max_order=19 bucket_order=5
    [    0.019621] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.019627] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
    [    0.021173] bounce: pool size: 64 pages
    [    0.021202] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
    [    0.022724] armada-38x-pinctrl f1018000.pinctrl: registered pinctrl driver
    [    0.023764] mvebu-pcie soc:pcie: PCI host bridge to bus 0000:00
    [    0.023775] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    0.023780] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe7ffffff]
    [    0.023785] pci_bus 0000:00: root bus resource [io  0x1000-0xeffff]
    [    0.023851] pci 0000:00:01.0: [11ab:6820] type 01 class 0x060400
    [    0.023867] pci 0000:00:01.0: reg 0x38: [mem 0x00000000-0x000007ff pref]
    [    0.023988] pci 0000:00:02.0: [11ab:6820] type 01 class 0x060400
    [    0.024000] pci 0000:00:02.0: reg 0x38: [mem 0x00000000-0x000007ff pref]
    [    0.024102] pci 0000:00:03.0: [11ab:6820] type 01 class 0x060400
    [    0.024113] pci 0000:00:03.0: reg 0x38: [mem 0x00000000-0x000007ff pref]
    [    0.024798] PCI: bus0: Fast back to back transfers disabled
    [    0.024806] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [    0.024812] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [    0.024818] pci 0000:00:03.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [    0.024880] pci 0000:01:00.0: [168c:002e] type 00 class 0x028000
    [    0.024909] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x0000ffff 64bit]
    [    0.025002] pci 0000:01:00.0: supports D1
    [    0.025007] pci 0000:01:00.0: PME# supported from D0 D1 D3hot
    [    0.025742] PCI: bus1: Fast back to back transfers disabled
    [    0.025749] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
    [    0.025808] pci 0000:02:00.0: [168c:003c] type 00 class 0x028000
    [    0.025835] pci 0000:02:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
    [    0.025860] pci 0000:02:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
    [    0.025926] pci 0000:02:00.0: supports D1 D2
    [    0.026640] PCI: bus2: Fast back to back transfers disabled
    [    0.026647] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
    [    0.027319] PCI: bus3: Fast back to back transfers enabled
    [    0.027325] pci_bus 0000:03: busn_res: [bus 03-ff] end is updated to 03
    [    0.027354] pci 0000:00:01.0: BAR 8: assigned [mem 0xe0000000-0xe00fffff]
    [    0.027359] pci 0000:00:02.0: BAR 8: assigned [mem 0xe0200000-0xe04fffff]
    [    0.027365] pci 0000:00:01.0: BAR 6: assigned [mem 0xe0100000-0xe01007ff pref]
    [    0.027370] pci 0000:00:02.0: BAR 6: assigned [mem 0xe0500000-0xe05007ff pref]
    [    0.027375] pci 0000:00:03.0: BAR 6: assigned [mem 0xe0600000-0xe06007ff pref]
    [    0.027381] pci 0000:01:00.0: BAR 0: assigned [mem 0xe0000000-0xe000ffff 64bit]
    [    0.027391] pci 0000:00:01.0: PCI bridge to [bus 01]
    [    0.027397] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xe00fffff]
    [    0.027404] pci 0000:02:00.0: BAR 0: assigned [mem 0xe0200000-0xe03fffff 64bit]
    [    0.027414] pci 0000:02:00.0: BAR 6: assigned [mem 0xe0400000-0xe040ffff pref]
    [    0.027418] pci 0000:00:02.0: PCI bridge to [bus 02]
    [    0.027422] pci 0000:00:02.0:   bridge window [mem 0xe0200000-0xe04fffff]
    [    0.027427] pci 0000:00:03.0: PCI bridge to [bus 03]
    [    0.027672] mv_xor f1060800.xor: Marvell shared XOR driver
    [    0.095168] mv_xor f1060800.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
    [    0.095284] mv_xor f1060900.xor: Marvell shared XOR driver
    [    0.165149] mv_xor f1060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
    [    0.165302] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
    [    0.165962] printk: console [ttyS0] disabled
    [    0.186043] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 22, base_baud = 15625000) is a 16550A
    [    1.040142] printk: console [ttyS0] enabled
    [    1.064617] f1012100.serial: ttyS1 at MMIO 0xf1012100 (irq = 23, base_baud = 15625000) is a 16550A
    [    1.075366] loop: module loaded
    [    1.078516] Loading iSCSI transport class v2.0-870.
    [    1.083877] ahci-mvebu f10a8000.sata: f10a8000.sata supply ahci not found, using dummy regulator
    [    1.092737] ahci-mvebu f10a8000.sata: f10a8000.sata supply phy not found, using dummy regulator
    [    1.101482] ahci-mvebu f10a8000.sata: f10a8000.sata supply target not found, using dummy regulator
    [    1.110529] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
    [    1.119603] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs
    [    1.128730] scsi host0: ahci-mvebu
    [    1.132370] scsi host1: ahci-mvebu
    [    1.135883] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 45
    [    1.143819] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 45
    [    1.152578] spi-nor spi0.0: found mx25l6405d, expected s25fl164k
    [    1.158655] spi-nor spi0.0: mx25l6405d (8192 Kbytes)
    [    1.163698] 2 fixed-partitions partitions found on MTD device spi0.0
    [    1.170081] Creating 2 MTD partitions on "spi0.0":
    [    1.174887] 0x000000000000-0x000000100000 : "U-Boot"
    [    1.180187] 0x000000100000-0x000000800000 : "Rescue system"
    [    1.186244] libphy: Fixed MDIO Bus: probed
    [    1.190674] libphy: orion_mdio_bus: probed
    [    1.195333] mv88e6085 f1072004.mdio-mii:10: switch 0x1760 detected: Marvell 88E6176, revision 1
    [    1.383462] libphy: mv88e6xxx SMI: probed
    [    1.392643] mvneta_bm f10c8000.bm: Buffer Manager for network controller enabled
    [    1.401554] mvneta f1070000.ethernet eth0: Using hardware mac address d8:58:d7:01:17:ac
    [    1.410766] mvneta f1030000.ethernet eth1: Using hardware mac address d8:58:d7:01:17:aa
    [    1.419893] mvneta f1034000.ethernet eth2: Using hardware mac address d8:58:d7:01:17:ab
    [    1.428017] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    1.434560] ehci-pci: EHCI PCI platform driver
    [    1.439048] ehci-platform: EHCI generic platform driver
    [    1.444364] ehci-orion: EHCI orion driver
    [    1.448474] orion-ehci f1058000.usb: EHCI Host Controller
    [    1.453893] orion-ehci f1058000.usb: new USB bus registered, assigned bus number 1
    [    1.461529] orion-ehci f1058000.usb: irq 41, io mem 0xf1058000
    [    1.475959] ata2: SATA link down (SStatus 0 SControl 300)
    [    1.481392] ata1: SATA link down (SStatus 0 SControl 300)
    [    1.494761] orion-ehci f1058000.usb: USB 2.0 started, EHCI 1.00
    [    1.500957] hub 1-0:1.0: USB hub found
    [    1.504766] hub 1-0:1.0: 1 port detected
    [    1.509108] xhci-hcd f10f0000.usb3: xHCI Host Controller
    [    1.514439] xhci-hcd f10f0000.usb3: new USB bus registered, assigned bus number 2
    [    1.522124] xhci-hcd f10f0000.usb3: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
    [    1.531394] xhci-hcd f10f0000.usb3: irq 47, io mem 0xf10f0000
    [    1.537230] xhci-hcd f10f0000.usb3: xHCI Host Controller
    [    1.542557] xhci-hcd f10f0000.usb3: new USB bus registered, assigned bus number 3
    [    1.550102] xhci-hcd f10f0000.usb3: Host supports USB 3.0 SuperSpeed
    [    1.556674] hub 2-0:1.0: USB hub found
    [    1.560448] hub 2-0:1.0: 1 port detected
    [    1.564499] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
    [    1.572790] hub 3-0:1.0: USB hub found
    [    1.576567] hub 3-0:1.0: 1 port detected
    [    1.580666] xhci-hcd f10f8000.usb3: xHCI Host Controller
    [    1.586016] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 4
    [    1.593587] xhci-hcd f10f8000.usb3: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
    [    1.602858] xhci-hcd f10f8000.usb3: irq 48, io mem 0xf10f8000
    [    1.608700] xhci-hcd f10f8000.usb3: xHCI Host Controller
    [    1.614027] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 5
    [    1.621582] xhci-hcd f10f8000.usb3: Host supports USB 3.0 SuperSpeed
    [    1.628169] hub 4-0:1.0: USB hub found
    [    1.631939] hub 4-0:1.0: 1 port detected
    [    1.635997] usb usb5: We don't know the algorithms for LPM for this host, disabling LPM.
    [    1.644265] hub 5-0:1.0: USB hub found
    [    1.648042] hub 5-0:1.0: 1 port detected
    [    1.652182] usbcore: registered new interface driver usb-storage
    [    1.658711] armada38x-rtc f10a3800.rtc: registered as rtc0
    [    1.664345] i2c /dev entries driver
    [    1.669558] watchdog: f1020300.watchdog: driver supplied timeout (4294967295) out of range
    [    1.677858] watchdog: f1020300.watchdog: falling back to default timeout (171)
    [    1.685195] orion_wdt: Initial timeout 171 sec
    [    1.689909] sdhci: Secure Digital Host Controller Interface driver
    [    1.696112] sdhci: Copyright(c) Pierre Ossman
    [    1.732257] mmc0: SDHCI controller on f10d8000.sdhci [f10d8000.sdhci] using ADMA
    [    1.739777] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.746291] marvell-cesa f1090000.crypto: CESA device successfully registered
    [    1.753944] NET: Registered protocol family 10
    [    1.758938] Segment Routing with IPv6
    [    1.762649] NET: Registered protocol family 17
    [    1.767129] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
    [    1.780174] 8021q: 802.1Q VLAN Support v1.8
    [    1.784419] Registering SWP/SWPB emulation handler
    [    1.791192] mv88e6085 f1072004.mdio-mii:10: switch 0x1760 detected: Marvell 88E6176, revision 1
    [    1.887853] mmc0: new high speed MMC card at address 0001
    [    1.893545] mmcblk0: mmc0:0001 008G30 7.28 GiB
    [    1.898243] mmcblk0boot0: mmc0:0001 008G30 partition 1 4.00 MiB
    [    1.904313] mmcblk0boot1: mmc0:0001 008G30 partition 2 4.00 MiB
    [    1.910317] mmcblk0rpmb: mmc0:0001 008G30 partition 3 4.00 MiB, chardev (249:0)
    [    1.918880]  mmcblk0: p1 p2
    [    2.013084] libphy: mv88e6xxx SMI: probed
    [    2.642119] mv88e6085 f1072004.mdio-mii:10 lan0 (uninitialized): PHY [mv88e6xxx-1:00] driver [Marvell 88E1540]
    [    2.660587] mv88e6085 f1072004.mdio-mii:10 lan1 (uninitialized): PHY [mv88e6xxx-1:01] driver [Marvell 88E1540]
    [    2.679362] mv88e6085 f1072004.mdio-mii:10 lan2 (uninitialized): PHY [mv88e6xxx-1:02] driver [Marvell 88E1540]
    [    2.698125] mv88e6085 f1072004.mdio-mii:10 lan3 (uninitialized): PHY [mv88e6xxx-1:03] driver [Marvell 88E1540]
    [    2.721366] mv88e6085 f1072004.mdio-mii:10 lan4 (uninitialized): PHY [mv88e6xxx-1:04] driver [Marvell 88E1540]
    [    2.736506] mv88e6085 f1072004.mdio-mii:10: configuring for fixed/rgmii-id link mode
    [    2.749167] mv88e6085 f1072004.mdio-mii:10: Link is Up - 1Gbps/Full - flow control off
    [    2.757894] DSA: tree 0 setup
    [    2.761091] armada38x-rtc f10a3800.rtc: setting system clock to 2020-04-22T11:16:07 UTC (1587554167)
    [    2.772895] VFS: Mounted root (squashfs filesystem) readonly on device 179:2.
    [    2.780465] Freeing unused kernel memory: 1024K
    [    2.804872] Run /sbin/init as init process
    [    2.932773] init: Console is alive
    [    2.936282] init: - watchdog -
    [    3.172364] kmodloader: loading kernel modules from /etc/modules-boot.d/*
    [    3.211200] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
    [    3.221313] init: - preinit -
    [    3.503569] random: jshn: uninitialized urandom read (4 bytes read)
    [    3.524299] random: jshn: uninitialized urandom read (4 bytes read)
    [    3.539428] random: jshn: uninitialized urandom read (4 bytes read)
    [    3.586885] mvneta f1030000.ethernet eth1: configuring for fixed/rgmii link mode
    [    3.594858] mvneta f1030000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
    [    3.595254] mv88e6085 f1072004.mdio-mii:10 lan0: configuring for phy/gmii link mode
    [    3.613654] 8021q: adding VLAN 0 to HW filter on device lan0
    [    3.619358] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
    Press the [f] key and hit [enter] to enter failsafe mode
    Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
    [    4.360215] mv88e6085 f1072004.mdio-mii:10 lan0: Link is Up - 100Mbps/Full - flow control off
    [    4.368780] IPv6: ADDRCONF(NETDEV_CHANGE): lan0: link becomes ready
    [    7.716278] urandom_read: 4 callbacks suppressed
    [    7.716282] random: procd: uninitialized urandom read (4 bytes read)
    [    7.745971] mount_root: rootdisk overlay filesystem has not been formatted yet
    [    7.824395] random: mkfs.f2fs: uninitialized urandom read (16 bytes read)
    [    7.964002] F2FS-fs (loop0): Found nat_bits in checkpoint
    [    7.976341] F2FS-fs (loop0): Mounted with checkpoint version = 1500fd49
    [    7.983217] mount_root: overlay filesystem has not been fully initialized yet
    [    7.990536] mount_root: switching to f2fs overlay
    [    8.015112] F2FS-fs (mmcblk0p1): Magic Mismatch, valid(0xf2f52010) - read(0x0)
    [    8.022354] F2FS-fs (mmcblk0p1): Can't find valid F2FS filesystem in 1th superblock
    [    8.030980] F2FS-fs (mmcblk0p1): Magic Mismatch, valid(0xf2f52010) - read(0x0)
    [    8.038226] F2FS-fs (mmcblk0p1): Can't find valid F2FS filesystem in 2th superblock
    [    8.054320] random: fast init done
    [    8.066780] urandom-seed: Seed file not found (/etc/urandom.seed)
    [    8.113917] mv88e6085 f1072004.mdio-mii:10 lan0: Link is Down
    [    8.132029] procd: - early -
    [    8.134966] procd: - watchdog -
    [    8.666440] procd: - watchdog -
    [    8.697154] procd: - ubus -
    [    8.734884] random: ubusd: uninitialized urandom read (4 bytes read)
    [    8.752230] procd: - init -
    Please press Enter to activate this console.
    [    8.953681] kmodloader: loading kernel modules from /etc/modules.d/*
    [    8.975083] urngd: v1.0.2 started.
    [    8.992283] i2c i2c-0: Added multiplexed i2c bus 1
    [    8.997190] i2c i2c-0: Added multiplexed i2c bus 2
    [    9.002056] i2c i2c-0: Added multiplexed i2c bus 3
    [    9.006923] i2c i2c-0: Added multiplexed i2c bus 4
    [    9.011782] i2c i2c-0: Added multiplexed i2c bus 5
    [    9.013810] random: crng init done
    [    9.016647] i2c i2c-0: Added multiplexed i2c bus 6
    [    9.024866] i2c i2c-0: Added multiplexed i2c bus 7
    [    9.029861] pca953x 8-0071: 8-0071 supply vcc not found, using dummy regulator
    [    9.037140] pca953x 8-0071: using no AI
    [    9.042937] i2c i2c-0: Added multiplexed i2c bus 8
    [    9.047765] pca954x 0-0070: registered 8 multiplexed busses for I2C mux pca9547
    [    9.059724] Loading modules backported from Linux version v5.10.68-0-g4d8524048a35
    [    9.067390] Backport generated by backports.git v5.10.68-1-0-ga4f9ba32
    [    9.081843] xt_time: kernel timezone is -0000
    [    9.137664] PPP generic driver version 2.4.2
    [    9.142390] NET: Registered protocol family 24
    [    9.158341] ath10k 5.10 driver, optimized for CT firmware, probing pci device: 0x3c.
    [    9.166405] pci 0000:00:02.0: enabling device (0140 -> 0142)
    [    9.172092] ath10k_pci 0000:02:00.0: enabling device (0140 -> 0142)
    [    9.178585] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
    [    9.488352] ath10k_pci 0000:02:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
    [    9.497632] ath10k_pci 0000:02:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
    [    9.507002] ath10k_pci 0000:02:00.0: firmware ver 10.1-ct-8x-__fW-022-ecad3248 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT crc32 3e4cf97f
    [    9.561287] ath10k_pci 0000:02:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
    [   10.419467] ath10k_pci 0000:02:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256
    [   10.436452] ath10k_pci 0000:02:00.0: wmi print 'P 128 V 8 T 410'
    [   10.442548] ath10k_pci 0000:02:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0'
    [   10.450577] ath10k_pci 0000:02:00.0: wmi print 'alloc rem: 24984 iram: 38672'
    [   10.516612] ath10k_pci 0000:02:00.0: htt-ver 2.1 wmi-op 2 htt-op 2 cal otp max-sta 128 raw 0 hwcrypto 1
    [   10.526264] ath10k_pci 0000:02:00.0: NOTE:  Firmware DBGLOG output disabled in debug_mask: 0x10000000
    [   10.665403] pci 0000:00:01.0: enabling device (0140 -> 0142)
    [   10.671097] ath9k 0000:01:00.0: enabling device (0140 -> 0142)
    [   10.776543] ieee80211 phy1: Atheros AR9287 Rev:2 mem=0xf0c10000, irq=80
    [   10.783684] kmodloader: done loading kernel modules from /etc/modules.d/*
    [   21.561021] mvneta f1030000.ethernet eth1: Link is Down
    [   21.572284] mvneta f1030000.ethernet eth1: configuring for fixed/rgmii link mode
    [   21.583138] mvneta f1030000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
    [   21.592605] mv88e6085 f1072004.mdio-mii:10 lan0: configuring for phy/gmii link mode
    [   21.607622] 8021q: adding VLAN 0 to HW filter on device lan0
    [   21.613340] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
    [   21.620251] br-lan: port 1(lan0) entered blocking state
    [   21.625513] br-lan: port 1(lan0) entered disabled state
    [   21.633436] device lan0 entered promiscuous mode
    [   21.638097] device eth1 entered promiscuous mode
    [   21.825261] mv88e6085 f1072004.mdio-mii:10 lan1: configuring for phy/gmii link mode
    [   21.841706] 8021q: adding VLAN 0 to HW filter on device lan1
    [   21.864780] br-lan: port 2(lan1) entered blocking state
    [   21.870023] br-lan: port 2(lan1) entered disabled state
    [   21.883472] device lan1 entered promiscuous mode
    [   21.909784] mv88e6085 f1072004.mdio-mii:10: p5: already a member of VLAN 1
    [   21.932306] mv88e6085 f1072004.mdio-mii:10 lan2: configuring for phy/gmii link mode
    [   21.952744] 8021q: adding VLAN 0 to HW filter on device lan2
    [   21.958585] br-lan: port 3(lan2) entered blocking state
    [   21.963827] br-lan: port 3(lan2) entered disabled state
    [   21.977889] device lan2 entered promiscuous mode
    [   22.009317] mv88e6085 f1072004.mdio-mii:10: p5: already a member of VLAN 1
    [   22.034020] mv88e6085 f1072004.mdio-mii:10 lan3: configuring for phy/gmii link mode
    [   22.053294] 8021q: adding VLAN 0 to HW filter on device lan3
    [   22.059094] br-lan: port 4(lan3) entered blocking state
    [   22.064335] br-lan: port 4(lan3) entered disabled state
    [   22.077561] device lan3 entered promiscuous mode
    [   22.105959] mv88e6085 f1072004.mdio-mii:10: p5: already a member of VLAN 1
    [   22.132984] mv88e6085 f1072004.mdio-mii:10 lan4: configuring for phy/gmii link mode
    [   22.151760] 8021q: adding VLAN 0 to HW filter on device lan4
    [   22.157564] br-lan: port 5(lan4) entered blocking state
    [   22.162806] br-lan: port 5(lan4) entered disabled state
    [   22.179659] device lan4 entered promiscuous mode
    [   22.212577] mv88e6085 f1072004.mdio-mii:10: p5: already a member of VLAN 1
    [   22.237380] mvneta f1034000.ethernet eth2: PHY [f1072004.mdio-mii:01] driver [Marvell 88E1510]
    [   22.246402] mvneta f1034000.ethernet eth2: configuring for phy/sgmii link mode
    [   23.340216] mv88e6085 f1072004.mdio-mii:10 lan0: Link is Up - 100Mbps/Full - flow control off
    [   23.348786] br-lan: port 1(lan0) entered blocking state
    [   23.354025] br-lan: port 1(lan0) entered forwarding state
    [   23.361149] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
    
    
    
    
    
    BusyBox v1.33.1 (2021-10-24 09:01:35 UTC) built-in shell (ash)
    
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     -----------------------------------------------------
     OpenWrt 21.02.1, r16325-88151b8303
     -----------------------------------------------------
    === WARNING! =====================================
    There is no root password defined on this device!
    Use the "passwd" command to set up a new password
    in order to prevent unauthorized SSH logins.
    --------------------------------------------------
    root@OpenWrt:/#

Configure OpenWRT

The Turris Omnia is now running a standard Open-WRT image as the default operating system. To configure this operating system as our intermediary o.s. for installing RDK images, we must secure the installation, configure ssh access and configure the hard disk.

Begin by setting a password for the root user, in the default shell issue passwd command and set a password (note this is to short-circuit some of the WRT standard setup)

configure ssh

Add an ssh-key for remote access (we use jenkins cmf-nfs-key in Lab):

Code Block
languagebash
titleOpenWrt
collapsetrue
root@OpenWrt:/# touch /etc/dropbear/authorized_keys
root@OpenWrt:/# chmod 600 /etc/dropbear/authorized_keys
root@OpenWrt:/# echo "<key>" >> /etc/dropbear/authorized_keys
Code Block
languagebash
titleOpenWrt
collapsetrue
root@OpenWrt:/# uci set dropbear.@dropbear[0].PasswordAuth="0"
root@OpenWrt:/# uci set dropbear.@dropbear[0].RootPasswordAuth="0"
root@OpenWrt:/# uci commit dropbear
root@OpenWrt:/# /etc/init.d/dropbear restart

Allow ssh via WAN interface in Firewall configuration (Open-WRT Firewall Config):

Note: if you are configuring this on your home LAN network, the Omnia may be subservient to a router which uses the '192.168.1.1/24' address range, if this is true then the WAN SSH access requires you change either your home network LAN address range or reconfigure the Turris LAN address range so both networks are different, e.g. convert one network to a '10.1.1.x' range so they do not conflict.

Code Block
languagebash
titleOpenWrt
collapsetrue
root@OpenWrt:/#  uci add firewall rule
root@OpenWrt:/#  uci set firewall.@rule[-1].src='wan'
root@OpenWrt:/#  uci set firewall.@rule[-1].target='ACCEPT'
root@OpenWrt:/#  uci set firewall.@rule[-1].proto='tcp'
root@OpenWrt:/#  uci set firewall.@rule[-1].dest_port='22'
root@OpenWrt:/#  uci commit firewall
root@OpenWrt:/#  /etc/init.d/firewall restart
configure device hard drive

Hard disk configuration is done via the program fdisk, it is not installed by default but is available from the standard OpenWrt repositories, the system uses opkg for package management, the command 'opkg update' and 'opkg install fdisk' will complete the necessary processes provided the network access is ok (i.e. The WAN network is configured and internet accessible) Example:

Code Block
languagebash
titleOpenWrt
collapsetrue
root@OpenWrt:/# opkg update
Downloading https://downloads.openwrt.org/releases/21.02.1/targets/mvebu/cortexa9/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/releases/21.02.1/targets/mvebu/cortexa9/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.sig
Signature check passed.
root@OpenWrt:/# opkg install fdisk
Installing fdisk (2.36.1-2) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/fdisk_2.36.1-2_arm_cortex-a9_vfpv3-d16.ipk
Installing libfdisk1 (2.36.1-2) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/libfdisk1_2.36.1-2_arm_cortex-a9_vfpv3-d16.ipk
Installing terminfo (6.2-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/terminfo_6.2-3_arm_cortex-a9_vfpv3-d16.ipk
Installing libncurses6 (6.2-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/libncurses6_6.2-3_arm_cortex-a9_vfpv3-d16.ipk
Configuring terminfo.
Configuring libfdisk1.
Configuring libncurses6.
Configuring fdisk.

Configure the disk partitions as per RDK Instructions

Code Block
languagebash
titleOpenWrt
collapsetrue
root@OpenWrt:/# fdisk /dev/mmcblk0