Difference between revisions of "U Boot for WRT Series"

Wiki.TerraBase.info
Jump to navigation Jump to search
m
m
 
Line 21: Line 21:
For information: ubi info (only works after the above "attach" command is issued)
For information: ubi info (only works after the above "attach" command is issued)


...and another 2 hours of research after this, and no luck what so ever in figuring out why everyone on the planet says that something like "ubi part firmware2" will ''attach'' a UBI volume, when on the WRT32X Marvell version of U-Boot, it executes a complete "FDISK" (guess what the F stands for here), and wipes everything on the existing partition (checked it twice and it DOES hose the partition).
...and another 2 hours of research after this, and no luck what so ever in figuring out why everyone on the planet says that something like "ubi part firmware2" will ''attach'' a UBI volume, when on the WRT32X Marvell version of U-Boot, it executes a complete "FDISK" (guess what the F stands for here), and wipes everything on the existing partition (checked it twice and it DOES hose the partition).<syntaxhighlight lang="text">
It does this;


<br />
Venom>> ubi part firmware2
Creating 1 MTD partitions on ...
 
Instead of this;
Venom>> ubi part firmware2
mtd: Giving out device 1 to mtd=5
ubi0: attaching mtd1
</syntaxhighlight>Maybe it isn't a UBI partition at this point because it has a SquashFS image there.  Who know?  Certainly not a web page publically accessible and apparently an OpenWRT secret.  Am I cranky?  Yup.  This is what happens when smart people build things.  They don't document it very well.<br />


===Environment Variables===
===Environment Variables===
Line 697: Line 705:
</syntaxhighlight>
</syntaxhighlight>


=== Thanks to... ===
===Thanks to...===
https://github.com/ARM-software/u-boot/blob/master/doc/README.ubi
https://github.com/ARM-software/u-boot/blob/master/doc/README.ubi

Latest revision as of 19:50, 25 September 2021

The examples, output, etc. in this article are for the WRT32X. The WRT3200ACM and various iterations of the WRT1900AC, WRT1900ACS, etc. are similar.

There are just some quick notes here.

Command: mtdparts (output from WRT32X shown)

 #: name                size            offset          mask_flags
 0: uboot               0x000000200000          0x000000000000          1
 1: u_env               0x000000020000          0x000000200000          0
 2: s_env               0x000000040000          0x000000220000          0
 3: devinfo             0x000000040000          0x0000007e0000          0
 4: firmware1           0x000007b00000          0x000000900000          0
 5: firmware2           0x000007b00000          0x000008400000          0

active partition: nand0,0 - (uboot) 0x000000200000 @ 0x000000000000

The above seems (not verfied) to be mounted as: ubiblock1_0

To change active partitions: chpart nand0,X (where X is one of the above #s)

Do NOT do this (ONLY AN EXAMPLE, the U-Boot documentation would lead one to believe this "attaches" a partitions, nope, it is equivalent to using the FDISK command in DOS to actually create a partition.): To create (IE overwrite an existing partition) and "attach" (not "mount" apparently) a UBI Parition: ubi part NameOfPartition (like firmware2, IE ubi part firmware2)

For information: ubi info (only works after the above "attach" command is issued)

...and another 2 hours of research after this, and no luck what so ever in figuring out why everyone on the planet says that something like "ubi part firmware2" will attach a UBI volume, when on the WRT32X Marvell version of U-Boot, it executes a complete "FDISK" (guess what the F stands for here), and wipes everything on the existing partition (checked it twice and it DOES hose the partition).

It does this;

Venom>> ubi part firmware2
Creating 1 MTD partitions on ...

Instead of this;
Venom>> ubi part firmware2
mtd: Giving out device 1 to mtd=5
ubi0: attaching mtd1

Maybe it isn't a UBI partition at this point because it has a SquashFS image there. Who know? Certainly not a web page publically accessible and apparently an OpenWRT secret. Am I cranky? Yup. This is what happens when smart people build things. They don't document it very well.

Environment Variables

Note the bootcmd and nandboot variables. Essentially the boot command (setenv bootargs console=ttyS0,115200 root=/dev/mtdblock6;nand read $defaultLoadAddr $priKernAddr $priKernSize; bootz $defaultLoadAddr) breaks down as follows;

  • setenv bootargs console=ttyS0,115200 root=/dev/mtdblock6
  • nand read 0x2000000 0x0900000 0x0600000 (this equates to the above "firmware1" mtd partition, which is defined by OpenWRT as mtd5 / kernel1 (primary kernel image & mtd6 rootfs1 (ubi))
  • bootz 0x2000000
CASset=max
MALLOC_len=5
MPmode=SMP
altFwSize=0x7B00000
altKernAddr=0x8400000
altKernSize=0x0600000
altnandboot=setenv bootargs console=ttyS0,115200 root=/dev/mtdblock8;nand read $defaultLoadAddr $altKernAddr $altKernSize; bootz $defaultLoadAddr 
auto_recovery=yes
autoload=no
baudrate=115200
boot_order=hd_scr usb_scr mmc_scr hd_img usb_img mmc_img pxe net_img net_scr
boot_part=2
boot_part_ready=3
bootargs_dflt=$console $nandEcc $mtdparts_lgcy $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel
bootargs_end=:10.4.50.254:255.255.255.0:Armada38x:eth0:none
bootargs_root=root=/dev/nfs rw
bootcmd=run nandboot
bootcmd_auto=stage_boot $boot_order
bootcmd_fdt=tftpboot 0x2000000 $image_name;tftpboot $fdtaddr $fdtfile;setenv bootargs $console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;
bootcmd_fdt_boot=tftpboot 0x2000000 $image_name; setenv bootargs $console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;
bootcmd_fdt_edit=tftpboot $fdtaddr $fdtfile; fdt addr $fdtaddr; setenv bootcmd $bootcmd_fdt_boot
bootcmd_lgcy=tftpboot 0x2000000 $image_name;setenv bootargs $console $nandEcc $mtdparts_lgcy $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end  video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel;  bootm $loadaddr; 
bootdelay=3
cacheShare=no
console=console=ttyS0,115200
defaultLoadAddr=0x2000000
device_partition=0:1
disaMvPnp=no
eeeEnable=no
enaClockGating=no
enaCpuStream=no
enaFPU=yes
enaMonExt=no
enaWrAllo=no
eth1addr=30:23:03:DC:B3:B8
eth1mtu=1500
eth2addr=30:23:03:DC:B3:B8
eth2mtu=1500
eth3addr=30:23:03:DC:B3:B8
eth3mtu=1500
ethact=egiga0
ethaddr=30:23:03:DC:B3:B8
ethmtu=1500
ethprime=egiga0
fdt_addr=2040000
fdt_skip_update=no
fdtaddr=0x1000000
fdtfile=armada-38x-modular.dtb
firmwareName=venom.img
flash_alt_image=tftpboot $defaultLoadAddr $firmwareName && nand erase $altKernAddr $altFwSize && nand write $defaultLoadAddr $altKernAddr $filesize
flash_pri_image=tftpboot $defaultLoadAddr $firmwareName && nand erase $priKernAddr $priFwSize && nand write $defaultLoadAddr $priKernAddr $filesize
ide_path=/
image_name=uImage
initrd_name=uInitrd
ipaddr=192.168.1.1
kernel_addr_r=2080000
lcd0_enable=0
lcd0_params=640x480-16@60
lcd_panel=0
limit_dram_size=yes
loadaddr=0x02000000
loads_echo=0
mtddevname=uboot
mtddevnum=0
mtdids=nand0=armada-nand
mtdparts=mtdparts=armada-nand:2048K(uboot)ro,128K(u_env),256K(s_env),256K@8064K(devinfo),123m@9m(firmware1),123m@132m(firmware2)
mvNetConfig=mv_net_config=4,(00:50:43:11:11:11,0:1:2:3),mtu=1500
mv_pon_addr=00:50:43:56:21:8c
nandEcc=nfcConfig=4bitecc
nand_erasesize=20000
nand_oobsize=40
nand_writesize=800
nandboot=setenv bootargs console=ttyS0,115200 root=/dev/mtdblock6;nand read $defaultLoadAddr $priKernAddr $priKernSize; bootz $defaultLoadAddr 
netbsd_en=no
netmask=255.255.255.0
netretry=no
partition=nand0,0
pcieTune=no
pexMode=RC
priFwSize=0x7B00000
priKernAddr=0x0900000
priKernSize=0x0600000
pxe_files_load=:default.arm-armadaxp-db:default.arm-armadaxp:default.arm
pxefile_addr_r=3100000
ramdisk_addr_r=2880000
rootpath=/srv/nfs/
run_script=no
sata_delay_reset=0
sata_dma_mode=yes
script_addr_r=3000000
script_name=boot.scr
sd_detection_dat3=no
serverip=192.168.2.22
silent=1
standalone=fsload 0x2000000 $image_name;setenv bootargs $console $nandEcc $mtdparts_lgcy root=/dev/mtdblock0 rw ip=$ipaddr:$serverip$bootargs_end; bootm 0x2000000;
stderr=serial
stdin=serial
stdout=serial
update_both_images=tftpboot $defaultLoadAddr $firmwareName && nand erase $priKernAddr $priFwSize && nand erase $altKernAddr $altFwSize && nand write $defaultLoadAddr $priKernAddr $filesize && nand write $defaultLoadAddr $altKernAddr $filesize
usb0Mode=host
usbActive=0
usbType=2
vxworks_en=no
yuk_ethaddr=00:00:00:EE:51:81

U-Boot Commands

Venom>> help
?       - alias for 'help'
Creset  - Creset        - Run 'reset' or boot command in a loop, while counting.

SatR    - Sample At Reset sub-system
active_units- print active units on board
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
boot_menu- command allows to select boot script from boot device
        example: boot_menu
bootd   - boot default, i.e., run 'bootcmd'
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootz   - boot Linux zImage image from memory
bubt    - bubt  - Burn an image on the Boot flash device.

chpart  - change active partition
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
cpss_env- set cpss environment variables permanently

crc32   - checksum calculation
date    - get/set/reset date & time
ddrPhyRead- ddrPhyRead - Read DDR PHY register

ddrPhyWrite- ddrPhyWrite - Write DDR PHY register

devinfo - devinfo handling commands
dhcp    - boot image via network using DHCP/TFTP protocol
diskboot- diskboot- boot from IDE device

dma     - dma   - Perform DMA using the XOR engine

echo    - echo args to console
editenv - edit environment variable
eeprom  - EEPROM sub-system
env     - environment handling commands
exit    - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
ext4load- load binary file from a Ext4 filesystem
ext4ls  - list files in a directory (default /)
ext4write- create a file in the root directory
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fdt     - flattened device tree utility commands
flash_part_print- flash_part_print  - print spi/nand FLASH memory information

go      - start application at address 'addr'
help    - print command description/usage
i2c     - I2C sub-system
ide     - ide     - IDE sub-system

iminfo  - print header information for application image
imxtract- extract a part of a multi-image
ir      - ir    - reading and changing MV internal register values.

itest   - return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
map     - map   - Display address decode windows

md      - memory display
me      - me    - PCIe master enable

mfg     - mfg   - Diagnostic tools for MFG

mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mp      - mp    - map PCIe BAR

mtdburn - Burn a Linux image and Filesystem` on the NAND/SPI flash.

mtdparts- define flash/nand partitions
mtest   - simple RAM read/write test
mvsource- mvsource      - Burn a script image on flash device.

mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
pci     - list and access PCI Configuration Space
pciePhyRead- phyRead    - Read PCI-E Phy register

pciePhyWrite- pciePhyWrite      - Write PCI-E Phy register

phyRead - phyRead       - Read Phy register

phyWrite- phyWrite      - Write Phy register

ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
pxe     - commands to get and boot from pxe files
qsgmii_sel-  Select SFP or QSGMII modes on bc2.

rcvr    - rcvr  - Start recovery process (with TFTP server)

reset   - Perform RESET of the CPU
resetenv- resetenv      - Erase environment sector to reset all variables to default.

run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
scsi    - SCSI sub-system
scsiboot- boot from SCSI device
se      - se    - PCIe Slave enable

senv    - senv handling commands
setdevinfo- set devinfo variables
setenv  - set environment variables
setsenv - set senv variables
sf      - SPI flash sub-system
sg      - sg    - scanning the PHYs status

showvar - print local hushshell variables
sleep   - delay execution for some time
smiscan - smiscan - Scan for marvell smi devices.

source  - run script from memory
sp      - scan and detect all devices on PCI-e interface
stage_boot- command to load script/image from different devices
        example: stage_boot hd_img pxe
switchCountersRead- switchCntPrint      - Read switch port counters.

switchPhyRegRead- - Read switch register

switchPhyRegWrite- - Write switch register

switchRegRead- switchRegRead    - Read switch register

switchRegWrite- switchRegWrite  - Write switch register

sys_restore- sys_restore        - Search for install script on USB DOK and start installation of linux kernel and rootfs.

sysboot - command to get and boot from syslinux files
temp    - temp  - Display the device temperature.

tempCmd0- tempCmd - This command allocated for monitor extinction

tempCmd1- tempCmd - This command allocated for monitor extinction

tempCmd2- tempCmd - This command allocated for monitor extinction

tempCmd3- tempCmd - This command allocated for monitor extinction

test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
training- training      - prints the results of the DDR3 Training.

trainingStability- training     - prints the results of the DDR3 Training.

true    - do nothing, successfully
ts_report- ts_report    - report touch screen coordinate

ts_test - ts_test       - test touch screen

ubi     - ubi commands
ubifsload- load file from an UBIFS filesystem
ubifsls - list files in a directory
ubifsmount- mount UBIFS volume
ubifsumount- unmount UBIFS volume
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
whoAmI  - - reading CPU ID

Typical Command Line Boot Up Messages Displayed Via Serial Port / TTL

BootROM - 1.73
Booting from NAND flash

General initialization - Version: 1.0.0
AVS selection from EFUSE disabled (Skip reading EFUSE values)
mvSysEnvIsFlavourReduced: TWSI Read of 'flavor' failed
Detected Device ID 6820
High speed PHY - Version: 2.0

Init RD NAS topology Serdes Lane 3 is USB3
Serdes Lane 4 is SGMII
board SerDes lanes topology details:
 | Lane # | Speed|    Type     |
 ------------------------------|
 |   0    |  6   |  SATA0      |
 |   1    |  5   |  PCIe0      |
 |   2    |  6   |  SATA1      |
 |   3    |  5   |  USB3 HOST1 |
 |   4    |  5   |  PCIe1      |
 |   5    |  0   |  SGMII2     |
 -------------------------------
:** Link is Gen1, check the EP capability 
PCIe, Idx 0: Link upgraded to Gen2 based on client cpabilities 
:** Link is Gen1, check the EP capability 
PCIe, Idx 1: remains Gen1
High speed PHY - Ended Successfully
DDR3 Training Sequence - Ver TIP-1.46.0
mvSysEnvGetTopologyUpdateInfo: TWSI Read failed
DDR3 Training Sequence - Switching XBAR Window to FastPath Window 
DDR3 Training Sequence - Ended Successfully
Not detected suspend to RAM indication
BootROM: Image checksum verification PASSED


U-Boot 2013.01 (May 18 2017 - 16:37:44) Marvell version: 2015_T1.QA.0p16

Boot version : v2.0.9

Board: RD-NAS-88F6820-DDR3
SoC:   MV88F6820 Rev A0
       running 2 CPUs
CPU:   ARM Cortex A9 MPCore (Rev 1) LE
       CPU 0
       CPU    @ 1866 [MHz]
       L2     @ 933 [MHz]
       TClock @ 200 [MHz]
       DDR3    @ 933 [MHz]
       DDR3 32 Bit Width,FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM:  512 MiB
NAND:  256 MiB
MMC:   mv_sdh: 0
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.180 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11063-85e04e9f46)) #0 SMP Sat May 16 18:32:20 2020
[    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: Linksys WRT32X
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] random: get_random_bytes called from 0xc08008bc with crng_init=0
[    0.000000] percpu: Embedded 11 pages/cpu s14860 r8192 d22004 u45056
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mtdblock6
[    0.000000] Bootloader command line (ignored): console= root=/dev/mtdblock6
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 510944K/524288K available (6144K kernel code, 199K rwdata, 816K rodata, 1024K init, 233K bss, 13344K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0700000   (7136 kB)
[    0.000000]       .init : 0xc0800000 - 0xc0900000   (1024 kB)
[    0.000000]       .data : 0xc0900000 - 0xc0931d40   ( 200 kB)
[    0.000000]        .bss : 0xc0931d40 - 0xc096c198   ( 234 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.000005] sched_clock: 64 bits at 933MHz, resolution 1ns, wraps every 4398046511103ns
[    0.000014] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x1ae5b571769, max_idle_ns: 881590513431 ns
[    0.000025] Switching to timer-based delay loop, resolution 1ns
[    0.000123] Ignoring duplicate/late registration of read_current_timer delay
[    0.000129] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
[    0.000244] Calibrating delay loop (skipped), value calculated using timer frequency.. 1866.00 BogoMIPS (lpj=9330000)
[    0.000250] pid_max: default: 32768 minimum: 301
[    0.000297] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000301] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000489] CPU: Testing write buffer coherency: ok
[    0.000499] CPU0: Spectre v2: using BPIALL workaround
[    0.000587] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.000680] Setting up static identity map for 0x100000 - 0x100060
[    0.000739] mvebu-soc-id: MVEBU SoC ID=0x6820, Rev=0x4
[    0.000799] mvebu-pmsu: Initializing Power Management Service Unit
[    0.000837] Hierarchical SRCU implementation.
[    0.000991] smp: Bringing up secondary CPUs ...
[    0.001091] Booting CPU 1
[    0.001228] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.001230] CPU1: Spectre v2: using BPIALL workaround
[    0.001272] smp: Brought up 1 node, 2 CPUs
[    0.001276] SMP: Total of 2 processors activated (3732.00 BogoMIPS).
[    0.001278] CPU: All CPU(s) started in SVC mode.
[    0.002517] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.002559] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.002565] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.002609] pinctrl core: initialized pinctrl subsystem
[    0.002887] NET: Registered protocol family 16
[    0.003407] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.003818] cpuidle: using governor ladder
[    0.003927] mvebu-pmsu: CPU hotplug support is currently broken on Armada 38x: disabling
[    0.003933] mvebu-pmsu: CPU idle is currently broken on Armada 38x: disabling
[    0.008927] reg-fixed-voltage usb3_1-vbus: could not find pctldev for node /soc/internal-regs/pinctrl@18000/usb3_1-vbus-pins, deferring probe
[    0.009084] SCSI subsystem initialized
[    0.009248] usbcore: registered new interface driver usbfs
[    0.009275] usbcore: registered new interface driver hub
[    0.009298] usbcore: registered new device driver usb
[    0.009783] clocksource: Switched to clocksource arm_global_timer
[    0.010153] NET: Registered protocol family 2
[    0.010364] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.010384] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.010412] TCP: Hash tables configured (established 4096 bind 4096)
[    0.010445] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.010459] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.010516] NET: Registered protocol family 1
[    0.011288] Crashlog allocated RAM at address 0x3f00000
[    0.011364] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[    0.012748] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.012755] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.013864] io scheduler noop registered
[    0.013871] io scheduler deadline registered (default)
[    0.014263] armada-38x-pinctrl f1018000.pinctrl: registered pinctrl driver
[    0.015126] mvebu-pcie soc:pcie: PCI host bridge to bus 0000:00
[    0.015136] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.015140] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe7ffffff]
[    0.015145] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.015293] PCI: bus0: Fast back to back transfers disabled
[    0.015299] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.015305] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.015487] PCI: bus1: Fast back to back transfers disabled
[    0.015718] PCI: bus2: Fast back to back transfers disabled
[    0.015739] pci 0000:00:01.0: BAR 8: assigned [mem 0xe0000000-0xe02fffff]
[    0.015744] pci 0000:00:02.0: BAR 8: assigned [mem 0xe0400000-0xe06fffff]
[    0.015750] pci 0000:01:00.0: BAR 0: assigned [mem 0xe0000000-0xe01fffff 64bit pref]
[    0.015759] pci 0000:01:00.0: BAR 2: assigned [mem 0xe0200000-0xe02fffff 64bit pref]
[    0.015767] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.015773] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xe02fffff]
[    0.015780] pci 0000:02:00.0: BAR 0: assigned [mem 0xe0400000-0xe05fffff 64bit pref]
[    0.015789] pci 0000:02:00.0: BAR 2: assigned [mem 0xe0600000-0xe06fffff 64bit pref]
[    0.015798] pci 0000:00:02.0: PCI bridge to [bus 02]
[    0.015803] pci 0000:00:02.0:   bridge window [mem 0xe0400000-0xe06fffff]
[    0.016000] mv_xor f1060800.xor: Marvell shared XOR driver
[    0.080168] mv_xor f1060800.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
[    0.080279] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.140150] mv_xor f1060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
[    0.140291] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.140881] console [ttyS0] disabled
[    0.160944] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 22, base_baud = 12500000) is a 16550A
[    0.893392] console [ttyS0] enabled
[    0.898171] loop: module loaded
[    0.901604] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
[    0.910700] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs 
[    0.919827] scsi host0: ahci-mvebu
[    0.923364] scsi host1: ahci-mvebu
[    0.926833] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 41
[    0.934795] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 41
[    0.943087] pxa3xx-nand f10d0000.flash: This platform can't do DMA on this device
[    0.950910] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xda
[    0.957291] nand: Macronix MX30LF2G18AC
[    0.961151] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    0.968755] pxa3xx-nand f10d0000.flash: ECC strength 16, ECC step size 2048
[    0.975998] Bad block table found at page 131008, version 0x01
[    0.982304] Bad block table found at page 130944, version 0x01
[    0.988479] 10 fixed-partitions partitions found on MTD device pxa3xx_nand-0
[    0.995567] Creating 10 MTD partitions on "pxa3xx_nand-0":
[    1.001081] 0x000000000000-0x000000200000 : "u-boot"
[    1.006278] 0x000000200000-0x000000220000 : "u_env"
[    1.011338] 0x000000220000-0x000000260000 : "s_env"
[    1.016386] 0x000000260000-0x000000820000 : "unused_area"
[    1.021974] 0x0000007e0000-0x000000820000 : "devinfo"
[    1.027220] 0x000000900000-0x000008400000 : "kernel1"
[    1.032678] 0x000000c00000-0x000008400000 : "ubi"
[    1.037770] 0x000008400000-0x00000ff00000 : "kernel2"
[    1.043229] 0x000008700000-0x00000ff00000 : "rootfs2"
[    1.048675] 0x00000ff00000-0x000010000000 : "BBT"
[    1.053840] libphy: Fixed MDIO Bus: probed
[    1.058215] libphy: orion_mdio_bus: probed
[    1.062486] mvneta_bm f10c8000.bm: Buffer Manager for network controller enabled
[    1.071103] mvneta f1070000.ethernet eth0: Using hardware mac address 30:23:03:dc:b3:b8
[    1.080272] mvneta f1034000.ethernet eth1: Using hardware mac address 30:23:03:dc:b3:b8
[    1.088451] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.095018] ehci-pci: EHCI PCI platform driver
[    1.099503] ehci-platform: EHCI generic platform driver
[    1.104813] ehci-orion: EHCI orion driver
[    1.108917] orion-ehci f1058000.usb: EHCI Host Controller
[    1.114354] orion-ehci f1058000.usb: new USB bus registered, assigned bus number 1
[    1.122003] orion-ehci f1058000.usb: irq 38, io mem 0xf1058000
[    1.149783] orion-ehci f1058000.usb: USB 2.0 started, EHCI 1.00
[    1.155911] hub 1-0:1.0: USB hub found
[    1.159686] hub 1-0:1.0: 1 port detected
[    1.164026] usbcore: registered new interface driver usb-storage
[    1.170211] i2c /dev entries driver
[    1.184955] (NULL device *): hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
[    1.197368] orion_wdt: Initial timeout 171 sec
[    1.202067] sdhci: Secure Digital Host Controller Interface driver
[    1.208273] sdhci: Copyright(c) Pierre Ossman
[    1.269808] mmc0: SDHCI controller on f10d8000.sdhci [f10d8000.sdhci] using ADMA
[    1.270920] ata1: SATA link down (SStatus 0 SControl 300)
[    1.277313] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.282729] ata2: SATA link down (SStatus 0 SControl 300)
[    1.294569] marvell-cesa f1090000.crypto: CESA device successfully registered
[    1.302136] NET: Registered protocol family 10
[    1.307013] Segment Routing with IPv6
[    1.310733] NET: Registered protocol family 17
[    1.315211] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.328333] 8021q: 802.1Q VLAN Support v1.8
[    1.332572] Registering SWP/SWPB emulation handler
[    1.338785] xhci-hcd f10f8000.usb3: xHCI Host Controller
[    1.344214] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 2
[    1.351792] xhci-hcd f10f8000.usb3: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
[    1.361078] xhci-hcd f10f8000.usb3: irq 44, io mem 0xf10f8000
[    1.367074] hub 2-0:1.0: USB hub found
[    1.370872] hub 2-0:1.0: 1 port detected
[    1.374909] xhci-hcd f10f8000.usb3: xHCI Host Controller
[    1.380261] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 3
[    1.387783] xhci-hcd f10f8000.usb3: Host supports USB 3.0  SuperSpeed
[    1.394315] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.402606] hub 3-0:1.0: USB hub found
[    1.406392] hub 3-0:1.0: 1 port detected
[    1.410723] UBI: auto-attach mtd6
[    1.414058] ubi0: attaching mtd6
[    1.424495] random: fast init done
[    1.437928] mmc0: new high speed SDIO card at address 0001
[    1.853906] ubi0: scanning is finished
[    1.863374] ubi0: attached mtd6 (name "ubi", size 120 MiB)
[    1.868883] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    1.875794] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    1.882615] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    1.889606] ubi0: good PEBs: 960, bad PEBs: 0, corrupted PEBs: 0
[    1.895640] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128
[    1.902895] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 810223659
[    1.911983] ubi0: available PEBs: 0, total reserved PEBs: 960, PEBs reserved for bad PEB handling: 40
[    1.921248] ubi0: background thread "ubi_bgt0d" started, PID 709
[    1.927702] block ubiblock0_0: created from ubi0:0(rootfs)
[    1.933223] ubiblock: device ubiblock0_0 (rootfs) set to be root filesystem
[    1.940397] mvsw61xx 10.mvsw61xx: Found MV88E6352 at f1072004.mdio-mii:10
[    1.947215] mvsw61xx 10.mvsw61xx: Using direct addressing
[    1.960268] hctosys: unable to open rtc device (rtc0)
[    1.967802] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    1.975450] Freeing unused kernel memory: 1024K
[    2.140583] init: Console is alive
[    2.144068] init: - watchdog -
[    2.416240] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    2.449951] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    2.459126] init: - preinit -
[    2.593988] mvneta f1070000.ethernet tmp0: renamed from eth0
[    2.599861] random: procd: uninitialized urandom read (4 bytes read)
[    2.641025] mvneta f1034000.ethernet eth0: renamed from eth1
[    2.680991] mvneta f1070000.ethernet eth1: renamed from tmp0
[    2.914361] random: jshn: uninitialized urandom read (4 bytes read)
[    2.929682] random: jshn: uninitialized urandom read (4 bytes read)
[    3.098723] mvneta f1034000.ethernet eth0: configuring for fixed/sgmii link mode
[    3.106521] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    3.112555] mvneta f1034000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[    3.120656] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: 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
[    6.191048] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 821
[    6.226286] UBIFS (ubi0:1): recovery needed
[    6.256203] random: crng init done
[    6.259619] random: 3 urandom warning(s) missed due to ratelimiting
[    6.322182] UBIFS (ubi0:1): recovery completed
[    6.326667] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[    6.334537] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    6.344500] UBIFS (ubi0:1): FS size: 111611904 bytes (106 MiB, 879 LEBs), journal size 5586944 bytes (5 MiB, 44 LEBs)
[    6.355157] UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB)
[    6.361803] UBIFS (ubi0:1): media format: w4/r0 (latest is w5/r0), UUID 656C9F6D-93C0-4763-837F-D5F8FB83A067, small LPT model
[    6.375558] mount_root: switching to ubifs overlay
ubiattach: option requires an argument: m
Use -h for help
ubifs syscfg partition is damaged, reformatting
ubidetach: option requires an argument: m
Use -h for help
libmtd: error!: cannot get information about [    6.460462] urandom-seed: Seeding with /etc/urandom.seed
"/dev/mtd"
        error 2 (No such file or directory)
ubiformat: error!: cannot get information about "/dev/mtd"
           error 2 (No such file or directory)
ubiattach: option requires an argument: m
Use -h for help
libubi: error!: cannot get information about "/dev/ubi1"
        error 2 (No such file or dire[    6.493926] mvneta f1034000.ethernet eth0: Link is Down
ctory)
ubimkvol: error!: error while probing "/dev/ubi1"
          error 2 (No such file or directory)
mount: mounting ubi1:syscfg on /tmp/syscfg failed: No such device
[    6.542384] procd: - early -
[    6.545297] procd: - watchdog -
[    7.144481] procd: - watchdog -
[    7.147713] procd: - ubus -
[    7.215417] procd: - init -
Please press Enter to activate this console.
[    7.324582] kmodloader: loading kernel modules from /etc/modules.d/*
[    7.333145] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    7.339534] Loading modules backported from Linux version v4.19.120-0-gfdc072324f3c
[    7.341709] urngd: v1.0.2 started.
[    7.347242] Backport generated by backports.git v4.19.120-1-0-g60c3a249
[    7.378546] <<Marvell Mac80211 Wireless PCIE Network Driver version 10.3.8.0-20181210>>
[    7.386627] pci 0000:00:01.0: enabling device (0140 -> 0142)
[   10.455812] ieee80211 phy0: device node: /soc/pcie/pcie@1,0
[   10.488797] ieee80211 phy0: firmware version: 0x9030206
[   10.848786] ieee80211 phy0: firmware region code: 10
[   10.887628] ieee80211 phy0: 2G disabled, 5G enabled
[   10.892548] ieee80211 phy0: 4 TX antennas, 4 RX antennas
[   10.898069] pci 0000:00:02.0: enabling device (0140 -> 0142)
[   12.245832] ieee80211 phy1: device node: /soc/pcie/pcie@2,0
[   12.278799] ieee80211 phy1: firmware version: 0x9030206
[   12.638785] ieee80211 phy1: firmware region code: 10
[   12.670650] ieee80211 phy1: 2G enabled, 5G disabled
[   12.675561] ieee80211 phy1: 4 TX antennas, 4 RX antennas
[   12.683394] hidraw: raw HID events driver (C) Jiri Kosina
[   12.693751] Bluetooth: Core ver 2.22
[   12.697384] NET: Registered protocol family 31
[   12.701873] Bluetooth: HCI device and connection manager initialized
[   12.708268] Bluetooth: HCI socket layer initialized
[   12.713197] Bluetooth: L2CAP socket layer initialized
[   12.718286] Bluetooth: SCO socket layer initialized
[   12.723715] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   12.729056] Bluetooth: BNEP filters: protocol multicast
[   12.734334] Bluetooth: BNEP socket layer initialized
[   12.740550] Bluetooth: vendor=0x2df, device=0x9136, class=255, fn=2
[   13.454880] Bluetooth: FW download over, size 616840 bytes
[   14.059807] sdio platform data not available
[   14.060528] usbcore: registered new interface driver btusb
[   14.070928] Bluetooth: HCI UART driver ver 2.3
[   14.075394] Bluetooth: HCI UART protocol H4 registered
[   14.080567] Bluetooth: HCI UART protocol BCSP registered
[   14.085905] Bluetooth: HCI UART protocol ATH3K registered
[   14.091757] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[   14.097717] Bluetooth: HIDP socket layer initialized
[   14.103169] ip_tables: (C) 2000-2006 Netfilter Core Team
[   14.113193] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[   14.120655] mwifiex_sdio mmc0:0001:1: WLAN FW already running! Skip FW dnld
[   14.127653] mwifiex_sdio mmc0:0001:1: WLAN FW is active
[   14.136485] Bluetooth: RFCOMM TTY layer initialized
[   14.141445] Bluetooth: RFCOMM socket layer initialized
[   14.146615] Bluetooth: RFCOMM ver 1.11
[   14.150792] mwifiex_sdio mmc0:0001:1: Unknown api_id: 4
[   14.159594] xt_time: kernel timezone is -0000
[   14.165874] PPP generic driver version 2.4.2
[   14.170537] NET: Registered protocol family 24
[   14.175629] kmodloader: done loading kernel modules from /etc/modules.d/*
[   14.211229] mwifiex_sdio mmc0:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (15.68.7.p189) 
[   14.219367] mwifiex_sdio mmc0:0001:1: driver_version = mwifiex 1.0 (15.68.7.p189) 
[   15.461524] mvneta f1034000.ethernet eth0: configuring for fixed/sgmii link mode
[   15.469041] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   15.474965] mvneta f1034000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   15.482968] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   15.491629] br-lan: port 1(eth0.1) entered blocking state
[   15.497062] br-lan: port 1(eth0.1) entered disabled state
[   15.502626] device eth0.1 entered promiscuous mode
[   15.507442] device eth0 entered promiscuous mode
[   15.513321] br-lan: port 1(eth0.1) entered blocking state
[   15.518758] br-lan: port 1(eth0.1) entered forwarding state
[   15.524529] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   15.535179] mvneta f1070000.ethernet eth1: configuring for fixed/rgmii-id link mode
[   15.543262] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.549273] mvneta f1070000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[   15.557718] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   16.489803] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready

Thanks to...

https://github.com/ARM-software/u-boot/blob/master/doc/README.ubi