DESK-XZ7-L/Deployment/Standalone boot

From DAVE Developer's Wiki
Jump to: navigation, search
History
Issue Date Notes

2022/11/22

DESK-XZ7-L-1.0.0-rc1 release

2023/01/23

DESK-XZ7-L-1.0.1 release
2024/06/12 DESK-XZ7-L-1.1.0 release



Standalone boot[edit | edit source]

This document was written and tested with the software/hardware combination described in the history table above. However, it contains general concepts that can be adapted to any DAVE Embedded Systems' Linux platform.


200px-Emblem-important.svg.png

The following programming examples are intended for laboratory usage or for preliminary deployment strategy.

A complete deployment strategy has to be carefully identifiyed taking into account the overall arguments like: boot speed, safe boot, recovery mechanisms, watchdog supervisor, etc.

We'll explain how to program and configure a SOM to boot in standalone mode, without the need for a system microSD card, with the following option:

  • booting with Quad-SPI NOR
    • in this configuration the primary boot images will be fetched from Quad-SPI NOR flash storage, while the root file system will be fetched from microSD
  • booting with NAND
    • in this configuration the primary boot images and rootfs will be fetched from NAND flash storage

Program the Quad-SPI NOR flash[edit | edit source]

This chapter is compatible with BORA, BORA Xpress and BORA Lite platforms, but below there is log for BORA Xpress SOM.

First of all, create a bootable microSD card as described here. Alternatively you can download binaries from mirror and install it on microSD or into tftpboot directory in your host device.

Then, boot the board with the microSD card and stop the automatic boot process of U-Boot in order to access the console.

U-Boot 2021.01-desk-xz7-l-1.0.1 (Jan 12 2024 - 10:44:15 +0000)

CPU:   Zynq 7z030
Silicon: v3.1
Model: Bora
DRAM:  ECC disabled 1 GiB
Flash: 0 Bytes
NAND:  0 MiB
MMC:   mmc@e0100000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial@e0001000
Out:   serial@e0001000
Err:   serial@e0001000
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
SOM ConfigID#: 00000004
SOM UniqueID#: 2a0e92c4:03193a4b
CB ConfigID#: ffffffff
CB UniqueID#: ffffffff:ffffffff
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
Warning: MAC addr not found in SPI NOR at block 8
Net:
ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr 7, interface rgmii-id

Warning: ethernet@e000b000 (eth0) using random MAC address - 72:2c:e1:44:08:28
eth0: ethernet@e000b000
Hit ENTER within 2 seconds to stop autoboot
Zynq>

Programming Quad-SPI NOR flash from microSD[edit | edit source]

  • Initialize and format Quad-SPI NOR flash memory
Zynq> sf probe
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
Zynq> sf erase 0 0x1000000
SF: 16777216 bytes @ 0x0 Erased: OK
  • Install BOOT.BIN on Quad-SPI NOR flash memory
Zynq> fatload mmc 0:1 $kernel_addr_r BOOT.BIN
7033004 bytes read in 406 ms (16.5 MiB/s)
Zynq> sf write $kernel_addr_r 0x0 $filesize
device 0 offset 0x0, size 0x6b50ac
SF: 7033004 bytes @ 0x0 Written: OK
  • Install image.ub on Quad-SPI NOR flash memory
Zynq> mw $kernel_addr_r 0x0 $filesize
Zynq> fatload mmc 0:1 $kernel_addr_r image.ub
4868556 bytes read in 287 ms (16.2 MiB/s)
Zynq> sf write $kernel_addr_r 0x700000 $filesize
device 0 offset 0x700000, size 0x4a49cc
SF: 4868556 bytes @ 0x700000 Written: OK
  • Install boot.scr on Quad-SPI NOR flash memory
Zynq> mw $kernel_addr_r 0x0 $filesize
Zynq> fatload mmc 0:1 $kernel_addr_r boot.scr
2709 bytes read in 14 ms (188.5 KiB/s)
Zynq> sf write $kernel_addr_r 0xFC0000 $filesize
device 0 offset 0xfc0000, size 0xa95
SF: 2709 bytes @ 0xfc0000 Written: OK

Programming Quad-SPI NOR flash from ethernet[edit | edit source]

  • Initialize and format Quad-SPI NOR flash memory
Zynq> sf probe
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
Zynq> sf erase 0 0x1000000
SF: 16777216 bytes @ 0x0 Erased: OK
  • Properly define the ethernet configuration parameter:
Zynq> setenv ipaddr 192.168.0.89
Zynq> setenv serverip 192.168.0.99
  • download via TFTP the BOOT.BIN binary image and write BOOT.BIN on Quad-SPI NOR flash memory
Zynq> tftpboot $kernel_addr_r desk-xz7-l/desk-xz7-l-1.0.1_borax_BOOT.BIN
Using ethernet@e000b000 device
TFTP from server 192.168.0.99; our IP address is 192.168.0.89
Filename 'desk-xz7-l/desk-xz7-l-1.0.1_borax_BOOT.BIN'.
Load address: 0x2000000
Loading: #T ################################################################
         #################################################################
         ...
         #################################################################
         #########
         444.3 KiB/s
done
Bytes transferred = 7033004 (6b50ac hex)
Zynq> sf write $kernel_addr_r 0x0 $filesize
device 0 offset 0x0, size 0x6b50ac
SF: 7033004 bytes @ 0x0 Written: OK
  • download via TFTP the image.ub binary image and write image.ub on Quad-SPI NOR flash memory
Zynq> mw $kernel_addr_r 0x0 $filesize
Zynq> tftpboot $kernel_addr_r desk-xz7-l/desk-xz7-l-1.0.1_borax_image.ub
Using ethernet@e000b000 device
TFTP from server 192.168.0.99; our IP address is 192.168.0.89
Filename 'desk-xz7-l/desk-xz7-l-1.0.1_borax_image.ub'.
Load address: 0x2000000
Loading: #T ################################################################
         #################################################################
         ...
         #################################################################
         #########################################
         394.5 KiB/s
done
Bytes transferred = 4868556 (4a49cc hex)
Zynq> sf write $kernel_addr_r 0x700000 $filesize
device 0 offset 0x700000, size 0x4a49cc
SF: 4868556 bytes @ 0x700000 Written: OK
  • download via TFTP the boot.scr binary image and write boot.scr on Quad-SPI NOR flash memory
Zynq> mw $kernel_addr_r 0x0 $filesize
Zynq> tftpboot $kernel_addr_r desk-xz7-l/desk-xz7-l-1.0.1_borax_boot.scr
Using ethernet@e000b000 device
TFTP from server 192.168.0.99; our IP address is 192.168.0.89
Filename 'desk-xz7-l/desk-xz7-l-1.0.1_borax_boot.scr'.
Load address: 0x2000000
Loading: #T
         0 Bytes/s
done
Bytes transferred = 2709 (a95 hex)
Zynq> sf write $kernel_addr_r 0xFC0000 $filesize
device 0 offset 0xfc0000, size 0xa95
SF: 2709 bytes @ 0xfc0000 Written: OK

Once change boot mode and restarted, the complete boot log can be like this one:

U-Boot 2021.01-desk-xz7-l-1.0.1 (Jan 12 2024 - 10:44:15 +0000)

CPU:   Zynq 7z030
Silicon: v3.1
Model: Bora
DRAM:  ECC disabled 1 GiB
Flash: 0 Bytes
NAND:  0 MiB
MMC:   mmc@e0100000: 0
Loading Environment from SPIFlash... SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial@e0001000
Out:   serial@e0001000
Err:   serial@e0001000
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
SOM ConfigID#: 00000004
SOM UniqueID#: 2a0e92c4:03193a4b
CB ConfigID#: ffffffff
CB UniqueID#: ffffffff:ffffffff
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
Warning: MAC addr not found in SPI NOR at block 8
Net:
ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr 7, interface rgmii-id

Warning: ethernet@e000b000 (eth0) using random MAC address - 7a:68:29:db:0b:f6
eth0: ethernet@e000b000
Hit ENTER within 2 seconds to stop autoboot
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
device 0 offset 0xfc0000, size 0x40000
SF: 262144 bytes @ 0xfc0000 Read: OK
QSPI: Trying to boot script at 3000000
## Executing script at 03000000
Trying to load boot images from qspi
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
device 0 offset 0x700000, size 0x600000
SF: 6291456 bytes @ 0x700000 Read: OK
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf-system-top.dtb' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel-1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x100000f8
     Data Size:    4845944 Bytes = 4.6 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00200000
     Entry Point:  0x00200000
     Hash algo:    sha256
     Hash value:   f5d0c9b9a689e4b0657468fb280f0c8fb60064196b7938a77a43b36a2743acca
   Verifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf-system-top.dtb' configuration
   Verifying Hash Integrity ... OK
   Trying 'fdt-system-top.dtb' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x1049f37c
     Data Size:    20716 Bytes = 20.2 KiB
     Architecture: ARM
     Hash algo:    sha256
     Hash value:   f93874aa1f1a0c6d52c423e12b25b4a2ae14a09b40a8068a49b4c8914be75e4c
   Verifying Hash Integrity ... sha256+ OK
   Booting using the fdt blob at 0x1049f37c
   Loading Kernel Image
   Loading Device Tree to 2fff7000, end 2ffff0eb ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.0-xilinx-v2021.2 (oe-user@oe-host) (arm-xilinx-linux-gnueabi-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP PREEMPT Tue Oct 12 09:30:57 UTC 2021
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Bora
[    0.000000] earlycon: cdns0 at MMIO 0xe0001000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 16 MiB at 0x3f000000
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000002fffffff]
[    0.000000]   HighMem  [mem 0x0000000030000000-0x000000003fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000] percpu: Embedded 16 pages/cpu s32780 r8192 d24564 u65536
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260416
[    0.000000] Kernel command line: console=ttyPS0,115200 earlycon root=/dev/mmcblk0p2 rw rootwait
[    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: 1009768K/1048576K available (7168K kernel code, 279K rwdata, 1952K rodata, 1024K init, 162K bss, 22424K reserved, 16384K cma-reserved, 245760K highmem)
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    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] efuse mapped to (ptrval)
[    0.000000] slcr mapped to (ptrval)
[    0.000000] GIC physical location is 0xf8f01000
[    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C-310 erratum 769419 enabled
[    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 ID prefetch enabled, offset 1 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
[    0.000000] random: get_random_bytes called from start_kernel+0x2c0/0x4a0 with crng_init=0
[    0.000000] zynq_clock_init: clkc starts at (ptrval)
[    0.000000] Zynq clock init
[    0.000011] sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
[    0.005723] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
[    0.016655] Switching to timer-based delay loop, resolution 3ns
[    0.023169] Console: colour dummy device 80x30
[    0.026895] Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
[    0.037305] pid_max: default: 32768 minimum: 301
[    0.042082] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.049081] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.057754] CPU: Testing write buffer coherency: ok
[    0.061529] CPU0: Spectre v2: using BPIALL workaround
[    0.066749] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.072812] Setting up static identity map for 0x100000 - 0x100060
[    0.078378] rcu: Hierarchical SRCU implementation.
[    0.083352] smp: Bringing up secondary CPUs ...
[    0.088388] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.088399] CPU1: Spectre v2: using BPIALL workaround
[    0.098134] smp: Brought up 1 node, 2 CPUs
[    0.102036] SMP: Total of 2 processors activated (1333.33 BogoMIPS).
[    0.108358] CPU: All CPU(s) started in SVC mode.
[    0.113587] devtmpfs: initialized
[    0.121144] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.124128] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.133462] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.141395] pinctrl core: initialized pinctrl subsystem
[    0.146259] NET: Registered protocol family 16
[    0.151964] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.157733] thermal_sys: Registered thermal governor 'step_wise'
[    0.158046] cpuidle: using governor ladder
[    0.166503] cpuidle: using governor menu
[    0.182919] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.185265] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.191178] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x(ptrval)
[    0.198318] e0000000.serial: ttyPS1 at MMIO 0xe0000000 (irq = 34, base_baud = 3125000) is a xuartps
[    0.207234] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 35, base_baud = 3125000) is a xuartps
[    0.221091] printk: console [ttyPS0] enabled
[    0.221091] printk: console [ttyPS0] enabled
[    0.225396] printk: bootconsole [cdns0] disabled
[    0.225396] printk: bootconsole [cdns0] disabled
[    0.249776] vgaarb: loaded
[    0.252888] SCSI subsystem initialized
[    0.256896] usbcore: registered new interface driver usbfs
[    0.262468] usbcore: registered new interface driver hub
[    0.267875] usbcore: registered new device driver usb
[    0.273183] mc: Linux media interface: v0.10
[    0.277485] videodev: Linux video capture interface: v2.00
[    0.283046] pps_core: LinuxPPS API ver. 1 registered
[    0.288002] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.297158] PTP clock support registered
[    0.301145] EDAC MC: Ver: 3.0.0
[    0.304805] FPGA manager framework
[    0.308536] Advanced Linux Sound Architecture Driver Initialized.
[    0.315660] clocksource: Switched to clocksource arm_global_timer
[    0.332917] NET: Registered protocol family 2
[    0.337977] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.346425] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.354267] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.361542] TCP: Hash tables configured (established 8192 bind 8192)
[    0.368054] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.374750] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.382042] NET: Registered protocol family 1
[    0.387083] RPC: Registered named UNIX socket transport module.
[    0.393034] RPC: Registered udp transport module.
[    0.397734] RPC: Registered tcp transport module.
[    0.402441] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.408896] PCI: CLS 0 bytes, default 64
[    0.413390] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
[    0.421576] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    0.431150] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[    0.438734] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.446129] bounce: pool size: 64 pages
[    0.449974] io scheduler mq-deadline registered
[    0.454520] io scheduler kyber registered
[    0.458913] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
[    0.467704] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
[    0.474442] dma-pl330 f8003000.dmac:         DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[    0.494238] brd: module loaded
[    0.504037] loop: module loaded
[    0.511083] random: fast init done
[    0.614245] random: crng init done
[    0.623641] spi-nor spi0.0: trying to lock already unlocked area
[    0.629650] spi-nor spi0.0: s25fl128s1 (16384 Kbytes)
[    0.639922] libphy: Fixed MDIO Bus: probed
[    0.645716] CAN device driver interface
[    0.652273] libphy: MACB_mii_bus: probed
[    0.688524] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 37 (7a:68:29:db:0b:f6)
[    0.698709] e1000e: Intel(R) PRO/1000 Network Driver
[    0.703668] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.710509] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.717037] ehci-pci: EHCI PCI platform driver
[    0.721607] usbcore: registered new interface driver usb-storage
[    0.728609] ULPI transceiver vendor/product ID 0x0424/0x0006
[    0.734267] Found SMSC USB331x ULPI transceiver.
[    0.738913] ULPI integrity check: passed.
[    0.745040] i2c /dev entries driver
[    0.752088] rtc-ds3232 0-0068: registered as rtc0
[    0.757162] rtc-ds3232 0-0068: setting system clock to 2018-03-09T17:29:17 UTC (1520616557)
[    0.765791] cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 31
[    0.774272] cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
[    0.781826] EDAC MC: ECC not enabled
[    0.785972] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 666666 KHz, changing to: 666667 KHz
[    0.796932] Xilinx Zynq CpuIdle Driver started
[    0.800410] sdhci: Secure Digital Host Controller Interface driver
[    0.803503] sdhci: Copyright(c) Pierre Ossman
[    0.805718] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.809266] ledtrig-cpu: registered to indicate activity on CPUs
[    0.812545] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 1075096770 ns
[    0.817251] timer #0 at dfb516c6, irq=50
[    0.819556] usbcore: registered new interface driver usbhid
[    0.822381] usbhid: USB HID core driver
[    0.827302] fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
[    0.831575] mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
[    0.831977] NET: Registered protocol family 10
[    0.838558] Segment Routing with IPv6
[    0.840631] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    0.847540] NET: Registered protocol family 17
[    0.852063] can: controller area network core
[    0.856576] NET: Registered protocol family 29
[    0.861071] can: raw protocol
[    0.864050] can: broadcast manager protocol
[    0.868298] can: netlink gateway - max_hops=1
[    0.873045] Registering SWP/SWPB emulation handler
[    0.880140] of-fpga-region fpga-full: FPGA Region probed
[    0.886112] of_cfs_init
[    0.888667] of_cfs_init: OK
[    0.891875] ALSA device list:
[    0.894839]   No soundcards found.
[    0.898729] Waiting for root device /dev/mmcblk0p2...
[    1.052324] mmc0: new high speed SDHC card at address aaaa
[    1.055781] mmcblk0: mmc0:aaaa SA16G 14.8 GiB
[    1.060584]  mmcblk0: p1 p2
[    1.086701] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    1.090810] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    1.094724] devtmpfs: mounted
[    1.099892] Freeing unused kernel memory: 1024K
[    1.136017] Run /sbin/init as init process
INIT: version 2.97 booting
[    1.516983] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Starting udev
[    1.712872] udevd[82]: starting version 3.2.9
[    1.763498] udevd[83]: starting eudev-3.2.9
[    2.244862] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
INIT: Entering runlevel: 5
Configuring network interfaces... done.
Starting system message bus: dbus.
Starting haveged: haveged: command socket is listening at fd 3
haveged: haveged starting up


Starting Dropbear SSH server: dropbear.
Starting rpcbind daemon...done.
starting statd: done
Starting atd: OK
Starting internet superserver: inetd.
NFS daemon support not enabled in kernel
Starting system log daemon...0
Mar  9 17:29:22 borax kernel: [    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
Mar  9 17:29:22 borax kernel: [    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
Mar  9 17:29:22 borax kernel: [    0.413390] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
Mar  9 17:29:22 borax kernel: [    0.623641] spi-nor spi0.0: trying to lock already unlocked area
Mar  9 17:29:22 borax kernel: [    1.516983] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Starting internet superserver: xinetd.
Starting crond: OK
Starting tcf-agent: OK

PetaLinux 2021.2 borax ttyPS0


root@borax:~# uname -a
Linux borax 5.10.0-xilinx-v2021.2 #1 SMP PREEMPT Tue Oct 12 09:30:57 UTC 2021 armv7l armv7l armv7l GNU/Linux
root@borax:~# cat /etc/build
-----------------------
Build Configuration:  |
-----------------------
DISTRO = petalinux
DISTRO_VERSION = 2021.2
MACHINE = zynq-generic
IMAGE_BASENAME = dave-image-devel
-----------------------
Layer Revisions:      |
-----------------------
meta              = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-poky         = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-perl         = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-python       = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-filesystems  = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-gnome        = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-multimedia   = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-networking   = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-webserver    = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-xfce         = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-initramfs    = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-oe           = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-clang        = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-chromium     = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-qt5          = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-microblaze   = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-xilinx-bsp   = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-xilinx-pynq  = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-xilinx-contrib = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-xilinx-standalone = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-xilinx-tools = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-petalinux    = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-virtualization = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-openamp      = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-jupyter      = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-vitis-ai     = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-python2      = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-som          = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-security     = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-tpm          = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-user         = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
meta-dave         = HEAD:e944801f104f86191cd086d0cea8f3df88dda061
workspace         = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modified
root@borax:~# cat /etc/os-release
ID=petalinux
NAME="PetaLinux"
VERSION="2021.2 (gatesgarth)"
VERSION_ID=2021.2
PRETTY_NAME="PetaLinux 2021.2 (gatesgarth)"
BUILD_VERSION="desk-xz7-l-1.0.1"
root@borax:~# shutdown -h now

Broadcast message from root@borax (ttyPS0) (Fri Mar  9 17:29:35 2018):

The system is going down for system halt NOW!
INIT: Sending processes configured via /etc/inittab the TERM signal
Stopping haveged:

Stopping Dropbear SSH server: stopped /usr/sbin/dropbear (pid 217)
dropbear.
Stopping atd: OK
Stopping system message bus: dbus.
Stopping internet superserver: inetd.
stopping mountd: done
stopping nfsd: done
Stopping system log daemon...0
Stopping tcf-agent: OK
Stopping internet superserver: xinetd.
stopping statd: done
Stopping crond: OK
Stopping rpcbind daemon...
done.
Deconfiguring network interfaces... done.
Sending all processes the TERM signal...
logout
Sending all processes the KILL signal...
Unmounting remote filesystems...
Deactivating swap...
Unmounting local filesystems...
[   24.097545] reboot: System halted

Program the NAND flash[edit | edit source]

This chapter is compatible with BORA Lite SOM.

First of all, create a bootable microSD card as described here with config_boralite_nand_usd configuration file, and install wic binary on microSD. Then create artifact to install on NAND flash with config_boralite_nand configuration file, as described here, and save the BOOT.BIN and dave-image-devel-zynq-generic.tar.gz artifact into the first partition of microSD.

In this case BOOT.BIN binary that came from to config_boralite_nand_usd and config_boralite_nand are different, so save it with different name. Alternatively you can download binaries from mirror and install on microSD.

Then, install the following files into the microSD first partition:

  • BOOT.BIN. This binary come from to config_boralite_nand_usd configuration file, and need to install on microSD
  • boot.scr. This binary come from to config_boralite_nand_usd configuration file, and need to install on microSD
  • image.ub. This binary come from to config_boralite_nand_usd configuration file, and need to install on microSD
  • desk-xz7-l-1.0.1_boralite_nand_BOOT.BIN.EXTENDED. This binary come from to config_boralite_nand configuration file, and has to be installed on NAND flash
  • desk-xz7-l-1.1.0_boralite_NAND_dave-image-devel-zynq-generic.ubi. This binary come from to config_boralite_nand configuration file, and has to be installed on NAND flash

Programming NAND flash from microSD[edit | edit source]

  • delete all partition on NAND flash memory
root@boralite:~# for i in $(seq 0 2); do sudo flash_erase /dev/mtd$i 0 0; done
Erasing 128 Kibyte @ 15e0000 -- 100 % complete 
Erasing 128 Kibyte @ 20000 -- 100 % complete 
Erasing 128 Kibyte @ 3e920000 -- 99 % complete flash_erase: Skipping bad block at 3e940000
flash_erase: Skipping bad block at 3e960000
flash_erase: Skipping bad block at 3e980000
flash_erase: Skipping bad block at 3e9a0000
Erasing 128 Kibyte @ 3e9a0000 -- 100 % complete 
  • install BOOT.BIN on NAND flash memory
root@boralite:~# nandwrite -p /dev/mtd0 /boot/desk-xz7-l-1.1.0_boralite_NAND_BOOT.BIN.EXTENDED
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
...
Writing data to block 174 at offset 0x15c0000
Writing data to block 175 at offset 0x15e0000
  • install rootfs on NAND flash memory
root@boralite:~# ubiformat /dev/mtd2 -f /boot/desk-xz7-l-1.1.0_boralite_NAND_dave-image-devel-zynq-generic.ubi
ubiformat: mtd2 (nand), size 1050411008 bytes (1001.7 MiB), 8014 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 8013 -- 100 % complete
ubiformat: 8010 eraseblocks are supposedly empty
ubiformat: 4 bad eraseblocks found, numbers: 8010, 8011, 8012, 8013
ubiformat: flashing eraseblock 1894 -- 100 % complete
ubiformat: formatting eraseblock 8013 -- 100 % complete

Once change boot mode and restarted, the complete boot log can be like this one:

U-Boot 2021.01-desk-xz7-l-1.0.1 (Jan 12 2024 - 10:44:15 +0000)

CPU:   Zynq 7z020
Silicon: v3.1
Model: Bora
DRAM:  ECC disabled 1 GiB
Flash: 0 Bytes
NAND:  1024 MiB
MMC:   mmc@e0100000: 0
Loading Environment from NAND... *** Warning - bad CRC, using default environment

In:    serial@e0001000
Out:   serial@e0001000
Err:   serial@e0001000
SOM ConfigID#: 77777777
SOM UniqueID#: 55555555:66666666
CB ConfigID#: ffffffff
CB UniqueID#: ffffffff:ffffffff
Net:
ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr 7, interface rgmii-id

Warning: ethernet@e000b000 (eth0) using random MAC address - 3e:1a:de:54:41:09
eth0: ethernet@e000b000
Hit ENTER within 2 seconds to stop autoboot

Device 0: nand0, sector size 128 KiB
  Page size       2048 b
  OOB size          64 b
  Erase size    131072 b
  subpagesize      512 b
  options     0x40004000
  bbt options 0x00020000

NAND read: device 0 offset 0xfc0000, size 0x40000
 262144 bytes read: OK
NAND: Trying to boot script at 3000000
## Executing script at 03000000
Trying to load boot images from nand

Device 0: nand0, sector size 128 KiB
  Page size       2048 b
  OOB size          64 b
  Erase size    131072 b
  subpagesize      512 b
  options     0x40004000
  bbt options 0x00020000

NAND read: device 0 offset 0x1080000, size 0x6400000
 104857600 bytes read: OK
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf-system-top.dtb' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel-1' kernel subimage
     Description:  Linux kernel
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x100000f8
     Data Size:    5647032 Bytes = 5.4 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00200000
     Entry Point:  0x00200000
     Hash algo:    sha256
     Hash value:   8190a3d693bca4da06460265eb066437a89fc51cde33121353a61c7e5b3c00b3
   Verifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf-system-top.dtb' configuration
   Verifying Hash Integrity ... OK
   Trying 'fdt-system-top.dtb' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x10562cbc
     Data Size:    20625 Bytes = 20.1 KiB
     Architecture: ARM
     Hash algo:    sha256
     Hash value:   dd4f01191b5971a192cb469fc4c43c7137a26ccc87277f9156f08f0b7b77116c
   Verifying Hash Integrity ... sha256+ OK
   Booting using the fdt blob at 0x10562cbc
   Loading Kernel Image
   Loading Device Tree to 2fff7000, end 2ffff090 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.0-xilinx-v2021.2 (oe-user@oe-host) (arm-xilinx-linux-gnueabi-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP PREEMPT Tue Oct 12 09:30:57 UTC 2021
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Bora
[    0.000000] earlycon: cdns0 at MMIO 0xe0001000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] cma: Reserved 16 MiB at 0x3f000000
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000002fffffff]
[    0.000000]   HighMem  [mem 0x0000000030000000-0x000000003fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000] percpu: Embedded 20 pages/cpu s49484 r8192 d24244 u81920
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260416
[    0.000000] Kernel command line: console=ttyPS0,115200 earlycon noinitrd root=ubi0_0 rw rootfstype=ubifs ubi.mtd=2
[    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: 1007176K/1048576K available (9216K kernel code, 773K rwdata, 2352K rodata, 1024K init, 181K bss, 25016K reserved, 16384K cma-reserved, 245760K highmem)
[    0.000000] ftrace: allocating 34293 entries in 67 pages
[    0.000000] ftrace: allocated 67 pages with 3 groups
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Rude variant of Tasks RCU enabled.
[    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] efuse mapped to (ptrval)
[    0.000000] slcr mapped to (ptrval)
[    0.000000] GIC physical location is 0xf8f01000
[    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
[    0.000000] L2C-310 erratum 769419 enabled
[    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 ID prefetch enabled, offset 1 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
[    0.000000] random: get_random_bytes called from start_kernel+0x308/0x4fc with crng_init=0
[    0.000000] zynq_clock_init: clkc starts at (ptrval)
[    0.000000] Zynq clock init
[    0.000012] sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
[    0.005316] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
[    0.016249] Switching to timer-based delay loop, resolution 3ns
[    0.022905] Console: colour dummy device 80x30
[    0.026491] Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
[    0.036905] pid_max: default: 32768 minimum: 301
[    0.041722] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.048678] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.057480] CPU: Testing write buffer coherency: ok
[    0.061121] CPU0: Spectre v2: using BPIALL workaround
[    0.066393] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.072561] Setting up static identity map for 0x100000 - 0x100060
[    0.077999] rcu: Hierarchical SRCU implementation.
[    0.083708] smp: Bringing up secondary CPUs ...
[    0.088167] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.088181] CPU1: Spectre v2: using BPIALL workaround
[    0.097757] smp: Brought up 1 node, 2 CPUs
[    0.101628] SMP: Total of 2 processors activated (1333.33 BogoMIPS).
[    0.107963] CPU: All CPU(s) started in SVC mode.
[    0.113327] devtmpfs: initialized
[    0.121410] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.124055] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.133198] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.141293] pinctrl core: initialized pinctrl subsystem
[    0.146374] NET: Registered protocol family 16
[    0.151988] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.157737] thermal_sys: Registered thermal governor 'step_wise'
[    0.158110] cpuidle: using governor ladder
[    0.166247] cpuidle: using governor menu
[    0.184578] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.186930] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.192897] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x(ptrval)
[    0.200120] e0000000.serial: ttyPS1 at MMIO 0xe0000000 (irq = 34, base_baud = 3125000) is a xuartps
[    0.208992] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 35, base_baud = 3125000) is a xuartps
[    0.222757] printk: console [ttyPS0] enabled
[    0.222757] printk: console [ttyPS0] enabled
[    0.227046] printk: bootconsole [cdns0] disabled
[    0.227046] printk: bootconsole [cdns0] disabled
[    0.254007] vgaarb: loaded
[    0.257202] SCSI subsystem initialized
[    0.261323] usbcore: registered new interface driver usbfs
[    0.266893] usbcore: registered new interface driver hub
[    0.272350] usbcore: registered new device driver usb
[    0.277673] mc: Linux media interface: v0.10
[    0.282043] videodev: Linux video capture interface: v2.00
[    0.287589] pps_core: LinuxPPS API ver. 1 registered
[    0.292584] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.301755] PTP clock support registered
[    0.305736] EDAC MC: Ver: 3.0.0
[    0.309570] FPGA manager framework
[    0.313314] Advanced Linux Sound Architecture Driver Initialized.
[    0.320649] clocksource: Switched to clocksource arm_global_timer
[    0.623097] NET: Registered protocol family 2
[    0.628269] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.636714] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.644561] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.651835] TCP: Hash tables configured (established 8192 bind 8192)
[    0.658407] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.665141] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.672513] NET: Registered protocol family 1
[    0.677671] RPC: Registered named UNIX socket transport module.
[    0.683628] RPC: Registered udp transport module.
[    0.688345] RPC: Registered tcp transport module.
[    0.693043] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.699507] PCI: CLS 0 bytes, default 64
[    0.704113] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
[    0.712358] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    0.722399] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[    0.730304] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.737774] bounce: pool size: 64 pages
[    0.741626] io scheduler mq-deadline registered
[    0.746179] io scheduler kyber registered
[    0.750754] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
[    0.760032] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
[    0.766787] dma-pl330 f8003000.dmac:         DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[    0.789262] brd: module loaded
[    0.804344] loop: module loaded
[    0.809631] libphy: Fixed MDIO Bus: probed
[    0.815731] CAN device driver interface
[    0.822634] libphy: MACB_mii_bus: probed
[    0.862391] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 37 (3e:1a:de:54:41:09)
[    0.872618] e1000e: Intel(R) PRO/1000 Network Driver
[    0.877579] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.884505] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.891064] ehci-pci: EHCI PCI platform driver
[    0.895690] usbcore: registered new interface driver usb-storage
[    0.902828] ULPI transceiver vendor/product ID 0x0424/0x0006
[    0.908490] Found SMSC USB331x ULPI transceiver.
[    0.913157] ULPI integrity check: passed.
[    0.919619] i2c /dev entries driver
[    0.927188] rtc-ds3232 0-0068: registered as rtc0
[    0.932291] rtc-ds3232 0-0068: setting system clock to 2018-03-11T16:20:50 UTC (1520785250)
[    0.940932] cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 31
[    0.948473] tmp421 0-004f: Could not read configuration register (-6)
[    0.955902] cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
[    0.963560] EDAC MC: ECC not enabled
[    0.968031] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 666666 KHz, changing to: 666667 KHz
[    0.979128] Xilinx Zynq CpuIdle Driver started
[    0.984239] sdhci: Secure Digital Host Controller Interface driver
[    0.990418] sdhci: Copyright(c) Pierre Ossman
[    0.994827] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.001388] ledtrig-cpu: registered to indicate activity on CPUs
[    1.007781] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
[    1.016949] timer #0 at (ptrval), irq=50
[    1.021309] usbcore: registered new interface driver usbhid
[    1.026919] usbhid: USB HID core driver
[    1.030832] mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
[    1.031968] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xd3
[    1.044349] nand: Winbond W29N08GV
[    1.047826] nand: 1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.055618] nand: SDR timing mode 4 not acknowledged by the NAND chip
[    1.062632] Bad block table found at page 524224, version 0x01
[    1.069325] Bad block table found at page 524160, version 0x01
[    1.075922] 3 fixed-partitions partitions found on MTD device W29N08GV
[    1.082543] Creating 3 MTD partitions on "W29N08GV":
[    1.087580] 0x000000000000-0x000001600000 : "bootbin"
[    1.101849] 0x000001600000-0x000001640000 : "ubootenv"
[    1.111887] 0x000001640000-0x000040000000 : "rootfs"
[    1.131185] fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
[    1.139624] NET: Registered protocol family 10
[    1.145534] Segment Routing with IPv6
[    1.149300] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.156122] NET: Registered protocol family 17
[    1.160584] can: controller area network core
[    1.165189] NET: Registered protocol family 29
[    1.169729] can: raw protocol
[    1.172767] can: broadcast manager protocol
[    1.177048] can: netlink gateway - max_hops=1
[    1.181957] Registering SWP/SWPB emulation handler
[    1.203441] of-fpga-region fpga-full: FPGA Region probed
[    1.209218] ubi0: attaching mtd2
[    3.944731] ubi0: scanning is finished
[    3.984970] ubi0: volume 0 ("ubifs") re-sized from 1893 to 7850 LEBs
[    3.992391] ubi0: attached mtd2 (name "rootfs", size 1001 MiB)
[    3.998226] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
[    4.005153] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 512
[    4.011919] ubi0: VID header offset: 512 (aligned 512), data offset: 2048
[    4.018701] ubi0: good PEBs: 8010, bad PEBs: 4, corrupted PEBs: 0
[    4.024820] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    4.032097] ubi0: max/mean erase counter: 0/0, WL threshold: 4096, image sequence number: 303836513
[    4.041168] ubi0: available PEBs: 0, total reserved PEBs: 8010, PEBs reserved for bad PEB handling: 156
[    4.050589] ubi0: background thread "ubi_bgt0d" started, PID 54
[    4.050796] of_cfs_init
[    4.059156] of_cfs_init: OK
[    4.062394] ALSA device list:
[    4.065363]   No soundcards found.
[    4.070167] UBIFS (ubi0:0): Mounting in unauthenticated mode
[    4.076139] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 55
[    4.175402] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "ubifs"
[    4.182766] UBIFS (ubi0:0): LEB size: 129024 bytes (126 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    4.192747] UBIFS (ubi0:0): FS size: 1011419136 bytes (964 MiB, 7839 LEBs), journal size 9033728 bytes (8 MiB, 71 LEBs)
[    4.203551] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
[    4.209390] UBIFS (ubi0:0): media format: w4/r0 (latest is w5/r0), UUID 5FEDC81D-3977-4B81-B939-CAEF7CAEBED8, small LPT model
[    4.223631] VFS: Mounted root (ubifs filesystem) on device 0:15.
[    4.232185] devtmpfs: mounted
[    4.241085] Freeing unused kernel memory: 1024K
[    4.246055] Run /sbin/init as init process
INIT: version 2.97 booting
Starting udev
[    5.284603] udevd[81]: starting version 3.2.9
[    5.318975] random: udevd: uninitialized urandom read (16 bytes read)
[    5.326069] random: udevd: uninitialized urandom read (16 bytes read)
[    5.341534] random: udevd: uninitialized urandom read (16 bytes read)
[    5.403685] udevd[82]: starting eudev-3.2.9
bootlogd: /dev/ttyPS0chown: cannot access '/var/log/wtmp': No such file or directory
Failed to set owner -root- for -/var/log/wtmp-.
Configuring packages on first boot....
 (This may take several minutes. Please do not power off the machine.)
Running postinst /etc/rpm-postinsts/100-sysvinit-inittab...
update-rc.d: /etc/init.d/run-postinsts exists during rc.d purge (continuing)
 Removing any system startup links for run-postinsts ...
  /etc/rcS.d/S99run-postinsts
INIT: Entering runlevel: 5
Configuring network interfaces... done.
Starting system message bus: dbus.
Starting haveged: haveged: command socket is listening at fd 3
haveged: haveged starting up


Starting Dropbear SSH server: Waiting for kernel randomness to be initialised...
haveged: haveged: ver: 1.9.13; arch: generic; vend: ; build: (gcc 10.2.0 CTV); collect: 128K

haveged: haveged: cpu: (VC); data: 16K (D); inst: 16K (D); idx: 12/40; sz: 15006/57790

haveged: haveged: tot tests(BA8): A:1/1 B:1/1 continuous tests(B):  last entropy estimate 7.99907

haveged: haveged: fills: 0, generated: 0

Generating 2048 bit rsa key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8WDRfMV0EWtxgmu0taCucHnUDLw11tQb1sD03U1aL+GgjpVU2Z7vgJU4YwgoJtKTXsTBNMpkKdLSENmK2Ms5Xbv5mT190+FCexkjmpSnWATjXe8gX/SVxTCLUBU3yZjtED5MbyK7M6iY+yEjS7purLqKxO8dfsShxeuzpqGHwIZ2veargJl99775G5CANcs62MP+VZ2XVBOja0wuVvRi7HNVupzufecNzNfU/EE2GGXKwWuuf2q+leXSsv3M8J6WX2qivZTCKnKDLBsh1i8GTR9lass1QfsBYECpT7RNPyHwP8OoSLeN1qr4hiqyHYrgGtWj/1EDJOhaHGhco7CXx root@boralite
Fingerprint: sha1!! 84:cf:73:1a:fa:1d:bc:6e:13:ba:6f:0c:c7:32:51:8f:57:42:15:08
dropbear.
Starting rpcbind daemon...done.
starting statd: done
Starting atd: OK
Starting internet superserver: inetd.
NFS daemon support not enabled in kernel
Starting system log daemon...0
Mar 11 16:21:12 boralite kernel: [    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
Mar 11 16:21:12 boralite kernel: [    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
Mar 11 16:21:12 boralite kernel: [    0.704113] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
Mar 11 16:21:12 boralite kernel: [    0.948473] tmp421 0-004f: Could not read configuration register (-6)
Mar 11 16:21:12 boralite kernel: [    1.055618] nand: SDR timing mode 4 not acknowledged by the NAND chip
Mar 11 16:21:12 boralite kernel: [    7.162906] urandom_read: 4 callbacks suppressed
Starting internet superserver: xinetd.
Starting crond: OK
Starting tcf-agent: OK

PetaLinux 2021.2 boralite ttyPS0


root@boralite:~# cat /etc/os-release
ID=petalinux
NAME="PetaLinux"
VERSION="2021.2 (gatesgarth)"
VERSION_ID=2021.2
PRETTY_NAME="PetaLinux 2021.2 (gatesgarth)"
BUILD_VERSION="desk-xz7-l-1.1.0"
root@boralite:~# cat /etc/build
-----------------------
Build Configuration:  |
-----------------------
DISTRO = petalinux
DISTRO_VERSION = 2021.2
MACHINE = zynq-generic
IMAGE_BASENAME = dave-image-devel
-----------------------
Layer Revisions:      |
-----------------------
meta              = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-poky         = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-perl         = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-python       = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-filesystems  = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-gnome        = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-multimedia   = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-networking   = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-webserver    = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-xfce         = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-initramfs    = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-oe           = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-clang        = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-chromium     = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-qt5          = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-microblaze   = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-xilinx-bsp   = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-xilinx-pynq  = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-xilinx-contrib = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-xilinx-standalone = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-xilinx-tools = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-petalinux    = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-virtualization = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-openamp      = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-jupyter      = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-vitis-ai     = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-python2      = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-som          = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-security     = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-tpm          = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-user         = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
meta-dave         = HEAD:e944801f104f86191cd086d0cea8f3df88dda061
workspace         = HEAD:3b09904245b9f132fc8951d4d4ba9c3ee1b2b656 -- modified
root@boralite:~# uname -a
Linux boralite 5.10.0-xilinx-v2021.2 #1 SMP PREEMPT Tue Oct 12 09:30:57 UTC 2021 armv7l armv7l armv7l GNU/Linux
root@boralite:~# shutdown -h now

Broadcast message from root@boralite (ttyPS0) (Sun Mar 11 16:21:21 2018):

The system is going down for system halt NOW!
INIT: Sending processes configured via /etc/inittab the TERM signal
root@boralite:~# Stopping haveged:

Stopping Dropbear SSH server: stopped /usr/sbin/dropbear (pid 278)
dropbear.
Stopping atd: OK
Stopping system message bus: dbus.
Stopping internet superserver: inetd.
stopping mountd: done
stopping nfsd: done
Stopping system log daemon...0
Stopping tcf-agent: OK
Stopping internet superserver: xinetd.
stopping statd: done
Stopping crond: OK
Stopping rpcbind daemon...
done.
Deconfiguring network interfaces... done.
Sending all processes the TERM signal...
logout
Sending all processes the KILL signal...
Unmounting remote filesystems...
Deactivating swap...
Unmounting local filesystems...
[   37.521365] reboot: System halted