Difference between revisions of "DESK-XZ7-L/Deployment/Standalone boot"

From DAVE Developer's Wiki
Jump to: navigation, search
(Program root file system into SD card)
 
(6 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
 
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
 
|-  
 
|-  
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|ID#
 
 
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue Date
 
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue Date
 
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
 
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
 
|-
 
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|{{oldid|17xxx|17xxx}}
+
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|{{oldid|17164|2022/11/22}}
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|Q1 2023
+
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|DESK-XZ7-L-1.0.0-rc1 release
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|DESK-XZ7-L 1.0.0 release  
+
|-
 +
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|2023/01/23
 +
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|DESK-XZ7-L-1.0.1 release
 
|-
 
|-
 
|}
 
|}
 
<section end=History/>
 
<section end=History/>
 +
__FORCETOC__
 
<section begin=Body/>
 
<section begin=Body/>
  
 
==Standalone boot==
 
==Standalone boot==
  
 
=== Introduction ===
 
 
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.
 
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.
  
 
{{ImportantMessage|text=The following programming examples are intended for <b>laboratory usage</b> or for ''preliminary deployment strategy''.<br><br>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.}}
 
{{ImportantMessage|text=The following programming examples are intended for <b>laboratory usage</b> or for ''preliminary deployment strategy''.<br><br>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 <code>SOM</code> 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
  
We'll explain how to program and configure a <SOM> to boot in standalone mode, without the need for a system microSD card or an NFS server, with three options:
+
=== Program the Quad-SPI NOR flash ===
* booting with SD only
 
** in this configuration the whole system will boot without the need for a NOR/NAND flashes storage, all images and the root file system will be fetched from the SD card
 
* booting with NOR and NAND internal storage
 
** in this configuration the primary boot images will be fetched from NOR flash storage, while the root file system will be fetched from NAND flash
 
  
=== Program boot images into SD card ===
+
This chapter is compatible with [[BORA SOM | BORA]], [[BORA Xpress SOM | BORA Xpress]] and [[BORA Lite SOM | BORA Lite]] platforms, but below there is log for BORA Xpress SOM.
The SD card should have at least 2 partition:
 
* the first must be an FAT32 partition (type <code>b</code>) with size of at least 64MB
 
* the second is a normal linux partition (type <code>83</code>) of at least 512M with ext3/ext4 filesystem
 
  
==== Create the SD card partitions ====
+
First of all, create a bootable microSD card as described [[DESK-XZ7-L/Development/Creating_and_building_the_Petalinux_project#Petalinux_build | here]]. Alternatively you can download binaries from [https://mirror.dave.eu/desk-xz-l/ mirror] and install it on microSD or into <code>tftpboot</code> directory in your host device.
* SD device has to be partitioned and properly formatted choosing the <code>file system</code> for each partition
 
* an example of SD partitioning script is the following one (running on a DAVE Embedded Systems' DVDK VM):
 
  
<pre>
+
Then, boot the board with the microSD card and stop the automatic boot process of U-Boot in order to access the console.
#!/bin/sh
+
<pre class="workstation-terminal">
 +
U-Boot 2021.01-desk-xz7-l-1.0.1 (Jan 12 2024 - 10:44:15 +0000)
  
node=$1
+
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
  
# partition size in MB
+
In:    serial@e0001000
RESERVED=8
+
Out:  serial@e0001000
BOOT_ROM_SIZE=128
+
Err:  serial@e0001000
RFS_SIZE=2048
+
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
  
# create the SDCARD partition
+
Warning: ethernet@e000b000 (eth0) using random MAC address - 72:2c:e1:44:08:28
part=""
+
eth0: ethernet@e000b000
echo ${node} | grep mmcblk > /dev/null
+
Hit ENTER within 2 seconds to stop autoboot
if [ "$?" -eq "0" ]; then
+
Zynq>
        part="p"
+
</pre>
fi
 
  
# print the SD total capacity
+
====Programming Quad-SPI NOR flash from microSD====
total_size=`sfdisk -s ${node}`
 
total_size=`expr ${total_size} / 1024`
 
echo SD total size: ${total_size}KB
 
  
# calculate partition sizes
+
* Initialize and format Quad-SPI NOR flash memory
boot_start=`expr ${RESERVED} \\* 1024 \\* 1024 / 512`
 
boot_size=`expr ${BOOT_ROM_SIZE} \\* 1024 \\* 1024 / 512`
 
rfs_start=`expr ${boot_size} + ${boot_start}`
 
rfs_size=`expr ${RFS_SIZE} \\* 1024 \\* 1024 / 512`
 
  
umount ${node}${part}1 > /dev/null 2>&1
+
<pre class="workstation-terminal">
umount ${node}${part}2 > /dev/null 2>&1
+
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
 +
</pre>
  
# call sfdisk to create partition table
+
* Install <code>BOOT.BIN</code> on Quad-SPI NOR flash memory
{ echo ${boot_start},${boot_size},0c,-; echo ${rfs_start},${rfs_size},83,-; } | sfdisk --force ${node}
 
  
# format the SDCARD partition
+
<pre class="workstation-terminal">
echo "formatting boot"
+
Zynq> fatload mmc 0:1 $kernel_addr_r BOOT.BIN
mkfs.vfat -F 32 -n BOOT  ${node}${part}1
+
7033004 bytes read in 406 ms (16.5 MiB/s)
echo "formatting rfs"
+
Zynq> sf write $kernel_addr_r 0x0 $filesize
mkfs.ext4 -F ${node}${part}2 -Lrfs
+
device 0 offset 0x0, size 0x6b50ac
 +
SF: 7033004 bytes @ 0x0 Written: OK
 
</pre>
 
</pre>
  
E.g.
+
* Install <code>image.ub</code> on Quad-SPI NOR flash memory
  
 
<pre class="workstation-terminal">
 
<pre class="workstation-terminal">
vdk@vagrant:~/desk-xz-l$ sudo ./sdcard-partition.sh /dev/sdc
+
Zynq> mw $kernel_addr_r 0x0 $filesize
SD total size: 7580KB
+
Zynq> fatload mmc 0:1 $kernel_addr_r image.ub
Checking that no-one is using this disk right now ... OK
+
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
 +
</pre>
  
Disk /dev/sdc: 7.41 GiB, 7948206080 bytes, 15523840 sectors
+
* Install <code>boot.scr</code> on Quad-SPI NOR flash memory
Disk model: STORAGE DEVICE 
 
Units: sectors of 1 * 512 = 512 bytes
 
Sector size (logical/physical): 512 bytes / 512 bytes
 
I/O size (minimum/optimal): 512 bytes / 512 bytes
 
Disklabel type: dos
 
Disk identifier: 0xd775a452
 
  
Old situation:
+
<pre class="workstation-terminal">
 +
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
 +
</pre>
  
Device    Boot Start      End  Sectors  Size Id Type
+
====Programming Quad-SPI NOR flash from ethernet====
/dev/sdc1        8192 15523839 15515648  7.4G  b W95 FAT32
+
* Initialize and format Quad-SPI NOR flash memory
  
>>> Created a new DOS disklabel with disk identifier 0x3f242b9b.
+
<pre class="workstation-terminal">
/dev/sdc1: Created a new partition 1 of type 'W95 FAT32 (LBA)' and of size 128 MiB.
+
Zynq> sf probe
/dev/sdc2: Created a new partition 2 of type 'Linux' and of size 2 GiB.
+
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
Partition #2 contains a ext4 signature.
+
Zynq> sf erase 0 0x1000000
/dev/sdc3: Done.
+
SF: 16777216 bytes @ 0x0 Erased: OK
 
 
New situation:
 
Disklabel type: dos
 
Disk identifier: 0x3f242b9b
 
 
 
Device    Boot  Start    End Sectors  Size Id Type
 
/dev/sdc1        16384  278527  262144  128M  c W95 FAT32 (LBA)
 
/dev/sdc2      278528 4472831 4194304    2G 83 Linux
 
 
 
The partition table has been altered.
 
Calling ioctl() to re-read partition table.
 
Syncing disks.
 
formatting boot
 
mkfs.fat 4.1 (2017-01-24)
 
formatting rfs
 
mke2fs 1.45.5 (07-Jan-2020)
 
/dev/sdc2 contains a ext4 file system labelled 'rfs'
 
        created on Mon Nov 21 13:14:20 2022
 
Creating filesystem with 524288 4k blocks and 131072 inodes
 
Filesystem UUID: cc691ca0-1eb4-4ff9-87cc-da74f9e91685
 
Superblock backups stored on blocks:
 
        32768, 98304, 163840, 229376, 294912
 
 
 
Allocating group tables: done                           
 
Writing inode tables: done                           
 
Creating journal (16384 blocks): done
 
Writing superblocks and filesystem accounting information: done
 
 
 
dvdk@vagrant:~/desk-xz-l$
 
 
</pre>
 
</pre>
  
Then, insert the SD card in the target and boot the system via NFS as described in the e [[DESK-XZ7-L/General/Booting_from_NFS|Booting from nfs]] guide
+
* Properly define the ethernet configuration parameter:
 
+
<pre class="workstation-terminal">
* create a mount point and mount the first partition
+
Zynq> setenv ipaddr 192.168.0.89
<pre>
+
Zynq> setenv serverip 192.168.0.99
root@bora:~# mkdir -p /mnt/sd
 
root@bora:~# mount /dev/mmcblk0p1 /mnt/sd
 
 
</pre>
 
</pre>
  
* copy boot image files
+
* download via TFTP the <code>BOOT.BIN</code> binary image and write <code>BOOT.BIN</code> on Quad-SPI NOR flash memory
 
+
<pre class="workstation-terminal">
<pre>
+
Zynq> tftpboot $kernel_addr_r desk-xz7-l/desk-xz7-l-1.0.1_borax_BOOT.BIN
root@bora:~# cp BOOT.BIN /mnt/sd
+
Using ethernet@e000b000 device
root@bora:~# cp image.ub /mnt/sd
+
TFTP from server 192.168.0.99; our IP address is 192.168.0.89
root@bora:~# cp boot.scr /mnt/sd
+
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
 
</pre>
 
</pre>
  
==== Program root file system into SD card ====
+
* download via TFTP the <code>image.ub</code> binary image and write <code>image.ub</code> on Quad-SPI NOR flash memory
* mount the <code>ext3/ext4</code> volume in the temporary directory
+
<pre class="workstation-terminal">
 
+
Zynq> mw $kernel_addr_r 0x0 $filesize
<pre>
+
Zynq> tftpboot $kernel_addr_r desk-xz7-l/desk-xz7-l-1.0.1_borax_image.ub
root@bora:~# mount /dev/mmcblk0p2 /mnt/ext
+
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
 
</pre>
 
</pre>
  
* now, you can extract the root file system in the target directory
+
* download via TFTP the <code>boot.scr</code> binary image and write <code>boot.scr</code> on Quad-SPI NOR flash memory
 
+
<pre class="workstation-terminal">
<pre>
+
Zynq> mw $kernel_addr_r 0x0 $filesize
root@bora:~# tar zxpf images/linux/rootfs.tar.gz -C /mnt/ext
+
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
 
</pre>
 
</pre>
  
* finally, you need to cleanly umount and safely reboot or turn off the system.
+
Once change boot mode and restarted, the complete boot log can be like this one:  
 
 
<pre>
 
root@bora:~# umount /mnt/sd
 
root@bora:~# umount /mnt/ext
 
root@bora:~# reboot
 
</pre>
 
  
Once restarted, the complete boot log can be like this one:
 
 
<pre class="mw-collapsible mw-collapsed">
 
<pre class="mw-collapsible mw-collapsed">
U-Boot 2021.01 (Oct 12 2021 - 09:28:42 +0000)
+
U-Boot 2021.01-desk-xz7-l-1.0.1 (Jan 12 2024 - 10:44:15 +0000)
  
CPU:  Zynq 7z020
+
CPU:  Zynq 7z030
 
Silicon: v3.1
 
Silicon: v3.1
 +
Model: Bora
 
DRAM:  ECC disabled 1 GiB
 
DRAM:  ECC disabled 1 GiB
 
Flash: 0 Bytes
 
Flash: 0 Bytes
 
NAND:  0 MiB
 
NAND:  0 MiB
 
MMC:  mmc@e0100000: 0
 
MMC:  mmc@e0100000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment
+
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
 
In:    serial@e0001000
 
Out:  serial@e0001000
 
Out:  serial@e0001000
 
Err:  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:
 
Net:
ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr -1, interface rgmii-id
+
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
 
eth0: ethernet@e000b000
Hit any key to stop autoboot: 0
+
Hit ENTER within 2 seconds to stop autoboot
switch to partitions #0, OK
+
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
mmc0 is current device
+
device 0 offset 0xfc0000, size 0x40000
Scanning mmc 0:1...
+
SF: 262144 bytes @ 0xfc0000 Read: OK
Found U-Boot script /boot.scr
+
QSPI: Trying to boot script at 3000000
ERROR: reserving fdt memory region failed (addr=3e000000 size=1000000)
 
2710 bytes read in 22 ms (120.1 KiB/s)
 
 
## Executing script at 03000000
 
## Executing script at 03000000
Trying to load boot images from mmc0
+
Trying to load boot images from qspi
ERROR: reserving fdt memory region failed (addr=3e000000 size=1000000)
+
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
4847892 bytes read in 398 ms (11.6 MiB/s)
+
device 0 offset 0x700000, size 0x600000
 +
SF: 6291456 bytes @ 0x700000 Read: OK
 
## Loading kernel from FIT Image at 10000000 ...
 
## Loading kernel from FIT Image at 10000000 ...
 
   Using 'conf-system-top.dtb' configuration
 
   Using 'conf-system-top.dtb' configuration
Line 210: Line 234:
 
     Compression:  uncompressed
 
     Compression:  uncompressed
 
     Data Start:  0x100000f8
 
     Data Start:  0x100000f8
     Data Size:    4826176 Bytes = 4.6 MiB
+
     Data Size:    4845944 Bytes = 4.6 MiB
 
     Architecture: ARM
 
     Architecture: ARM
 
     OS:          Linux
 
     OS:          Linux
Line 216: Line 240:
 
     Entry Point:  0x00200000
 
     Entry Point:  0x00200000
 
     Hash algo:    sha256
 
     Hash algo:    sha256
     Hash value:  e92c329ce6440944a9b8d2c581f9e2f668870af9b90648b321f5b2c996bfb47f
+
     Hash value:  f5d0c9b9a689e4b0657468fb280f0c8fb60064196b7938a77a43b36a2743acca
 
   Verifying Hash Integrity ... sha256+ OK
 
   Verifying Hash Integrity ... sha256+ OK
 
## Loading fdt from FIT Image at 10000000 ...
 
## Loading fdt from FIT Image at 10000000 ...
Line 225: Line 249:
 
     Type:        Flat Device Tree
 
     Type:        Flat Device Tree
 
     Compression:  uncompressed
 
     Compression:  uncompressed
     Data Start:  0x1049a644
+
     Data Start:  0x1049f37c
     Data Size:    19819 Bytes = 19.4 KiB
+
     Data Size:    20716 Bytes = 20.2 KiB
 
     Architecture: ARM
 
     Architecture: ARM
 
     Hash algo:    sha256
 
     Hash algo:    sha256
     Hash value:  021ac7fe236180abcd9d663112aeadec8c6a8c1be2e31e729504ea585d99ca42
+
     Hash value:  f93874aa1f1a0c6d52c423e12b25b4a2ae14a09b40a8068a49b4c8914be75e4c
 
   Verifying Hash Integrity ... sha256+ OK
 
   Verifying Hash Integrity ... sha256+ OK
   Booting using the fdt blob at 0x1049a644
+
   Booting using the fdt blob at 0x1049f37c
 
   Loading Kernel Image
 
   Loading Kernel Image
ERROR: reserving fdt memory region failed (addr=3e000000 size=1000000)
+
   Loading Device Tree to 2fff7000, end 2ffff0eb ... OK
   Loading Device Tree to 2fff8000, end 2ffffd6a ... OK
 
  
 
Starting kernel ...
 
Starting kernel ...
  
Booting Linux on physical CPU 0x0
+
[    0.000000] Booting Linux on physical CPU 0x0
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] 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
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
+
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
+
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: xlnx,zynq-7000
+
[    0.000000] OF: fdt: Machine model: Bora
earlycon: cdns0 at MMIO 0xe0001000 (options '115200n8')
+
[    0.000000] earlycon: cdns0 at MMIO 0xe0001000 (options '115200n8')
printk: bootconsole [cdns0] enabled
+
[    0.000000] printk: bootconsole [cdns0] enabled
Memory policy: Data cache writealloc
+
[    0.000000] Memory policy: Data cache writealloc
OF: reserved mem: OVERLAP DETECTED!
+
[    0.000000] cma: Reserved 16 MiB at 0x3f000000
rproc@3e000000 (0x3e000000--0x3f000000) overlaps with vdev0vring0@3e800000 (0x3e800000--0x3e804000)
+
[    0.000000] Zone ranges:
Reserved memory: created DMA memory pool at 0x3e000000, size 16 MiB
+
[    0.000000]  Normal  [mem 0x0000000000000000-0x000000002fffffff]
OF: reserved mem: initialized node rproc@3e000000, compatible id shared-dma-pool
+
[    0.000000]  HighMem  [mem 0x0000000030000000-0x000000003fffffff]
Reserved memory: created DMA memory pool at 0x3e800000, size 0 MiB
+
[    0.000000] Movable zone start for each node
OF: reserved mem: initialized node vdev0vring0@3e800000, compatible id shared-dma-pool
+
[    0.000000] Early memory node ranges
Reserved memory: created DMA memory pool at 0x3e804000, size 0 MiB
+
[    0.000000]  node  0: [mem 0x0000000000000000-0x000000003fffffff]
OF: reserved mem: initialized node vdev0vring1@3e804000, compatible id shared-dma-pool
+
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003fffffff]
Reserved memory: created DMA memory pool at 0x3e808000, size 1 MiB
+
[    0.000000] percpu: Embedded 16 pages/cpu s32780 r8192 d24564 u65536
OF: reserved mem: initialized node vdev0buffer@3e808000, compatible id shared-dma-pool
+
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 260416
cma: Reserved 16 MiB at 0x3f000000
+
[    0.000000] Kernel command line: console=ttyPS0,115200 earlycon root=/dev/mmcblk0p2 rw rootwait
Zone ranges:
+
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
  Normal  [mem 0x0000000000000000-0x000000002fffffff]
+
[   0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
  HighMem  [mem 0x0000000030000000-0x000000003fffffff]
+
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
Movable zone start for each node
+
[    0.000000] Memory: 1009768K/1048576K available (7168K kernel code, 279K rwdata, 1952K rodata, 1024K init, 162K bss, 22424K reserved, 16384K cma-reserved, 245760K highmem)
Early memory node ranges
+
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
  node  0: [mem 0x0000000000000000-0x000000003dffffff]
+
[    0.000000] rcu:     RCU event tracing is enabled.
  node  0: [mem 0x000000003f000000-0x000000003fffffff]
+
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
Initmem setup node 0 [mem 0x0000000000000000-0x000000003fffffff]
+
[    0.000000]  Trampoline variant of Tasks RCU enabled.
percpu: Embedded 15 pages/cpu s32396 r8192 d20852 u61440
+
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
Built 1 zonelists, mobility grouping on. Total pages: 256320
+
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
Kernel command line: console=ttyPS0,115200 earlycon root=/dev/mmcblk0p2 rw rootwait
+
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
+
[    0.000000] efuse mapped to (ptrval)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
+
[    0.000000] slcr mapped to (ptrval)
mem auto-init: stack:off, heap alloc:off, heap free:off
+
[   0.000000] GIC physical location is 0xf8f01000
Memory: 993544K/1032192K available (7168K kernel code, 275K rwdata, 1940K rodata, 1024K init, 162K bss, 22264K reserved, 16384K cma-reserved, 229376K highmem)
+
[   0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
rcu: Preemptible hierarchical RCU implementation.
+
[    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
rcu:   RCU event tracing is enabled.
+
[    0.000000] L2C-310 erratum 769419 enabled
rcu:   RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
+
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
        Trampoline variant of Tasks RCU enabled.
+
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
+
[    0.000000] L2C-310 ID prefetch enabled, offset 1 lines
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
+
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
+
[    0.000000] L2C-310 cache controller enabled, 8 ways, 512 kB
efuse mapped to (ptrval)
+
[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
slcr mapped to (ptrval)
+
[    0.000000] random: get_random_bytes called from start_kernel+0x2c0/0x4a0 with crng_init=0
GIC physical location is 0xf8f01000
+
[    0.000000] zynq_clock_init: clkc starts at (ptrval)
L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
+
[    0.000000] Zynq clock init
L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
+
[    0.000011] sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
L2C-310 erratum 769419 enabled
+
[    0.005723] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
L2C-310 enabling early BRESP for Cortex-A9
+
[    0.016655] Switching to timer-based delay loop, resolution 3ns
L2C-310 full line of zeros enabled for Cortex-A9
+
[    0.023169] Console: colour dummy device 80x30
L2C-310 ID prefetch enabled, offset 1 lines
+
[    0.026895] Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
L2C-310 dynamic clock gating enabled, standby mode enabled
+
[    0.037305] pid_max: default: 32768 minimum: 301
L2C-310 cache controller enabled, 8 ways, 512 kB
+
[    0.042082] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
+
[    0.049081] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
random: get_random_bytes called from start_kernel+0x2c0/0x4a0 with crng_init=0
+
[    0.057754] CPU: Testing write buffer coherency: ok
zynq_clock_init: clkc starts at (ptrval)
+
[    0.061529] CPU0: Spectre v2: using BPIALL workaround
Zynq clock init
+
[    0.066749] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
+
[    0.072812] Setting up static identity map for 0x100000 - 0x100060
clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
+
[    0.078378] rcu: Hierarchical SRCU implementation.
Switching to timer-based delay loop, resolution 3ns
+
[    0.083352] smp: Bringing up secondary CPUs ...
Console: colour dummy device 80x30
+
[    0.088388] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
+
[    0.088399] CPU1: Spectre v2: using BPIALL workaround
pid_max: default: 32768 minimum: 301
+
[    0.098134] smp: Brought up 1 node, 2 CPUs
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
+
[    0.102036] SMP: Total of 2 processors activated (1333.33 BogoMIPS).
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
+
[    0.108358] CPU: All CPU(s) started in SVC mode.
CPU: Testing write buffer coherency: ok
+
[    0.113587] devtmpfs: initialized
CPU0: Spectre v2: using BPIALL workaround
+
[    0.121144] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
+
[    0.124128] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
Setting up static identity map for 0x100000 - 0x100060
+
[    0.133462] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
rcu: Hierarchical SRCU implementation.
+
[    0.141395] pinctrl core: initialized pinctrl subsystem
smp: Bringing up secondary CPUs ...
+
[    0.146259] NET: Registered protocol family 16
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
+
[    0.151964] DMA: preallocated 256 KiB pool for atomic coherent allocations
CPU1: Spectre v2: using BPIALL workaround
+
[    0.157733] thermal_sys: Registered thermal governor 'step_wise'
smp: Brought up 1 node, 2 CPUs
+
[    0.158046] cpuidle: using governor ladder
SMP: Total of 2 processors activated (1333.33 BogoMIPS).
+
[    0.166503] cpuidle: using governor menu
CPU: All CPU(s) started in SVC mode.
+
[    0.182919] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
devtmpfs: initialized
+
[    0.185265] hw-breakpoint: maximum watchpoint size is 4 bytes.
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
+
[    0.191178] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x(ptrval)
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
+
[    0.198318] e0000000.serial: ttyPS1 at MMIO 0xe0000000 (irq = 34, base_baud = 3125000) is a xuartps
futex hash table entries: 512 (order: 3, 32768 bytes, linear)
+
[    0.207234] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 35, base_baud = 3125000) is a xuartps
pinctrl core: initialized pinctrl subsystem
+
[    0.221091] printk: console [ttyPS0] enabled
NET: Registered protocol family 16
+
[    0.221091] printk: console [ttyPS0] enabled
DMA: preallocated 256 KiB pool for atomic coherent allocations
+
[    0.225396] printk: bootconsole [cdns0] disabled
thermal_sys: Registered thermal governor 'step_wise'
+
[    0.225396] printk: bootconsole [cdns0] disabled
cpuidle: using governor menu
+
[    0.249776] vgaarb: loaded
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
+
[    0.252888] SCSI subsystem initialized
hw-breakpoint: maximum watchpoint size is 4 bytes.
+
[    0.256896] usbcore: registered new interface driver usbfs
zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x(ptrval)
+
[    0.262468] usbcore: registered new interface driver hub
e0000000.serial: ttyPS1 at MMIO 0xe0000000 (irq = 34, base_baud = 3125000) is a xuartps
+
[    0.267875] usbcore: registered new device driver usb
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 35, base_baud = 3125000) is a xuartps
+
[    0.273183] mc: Linux media interface: v0.10
printk: console [ttyPS0] enabled
+
[    0.277485] videodev: Linux video capture interface: v2.00
printk: console [ttyPS0] enabled
+
[    0.283046] pps_core: LinuxPPS API ver. 1 registered
printk: bootconsole [cdns0] disabled
+
[    0.288002] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
printk: bootconsole [cdns0] disabled
+
[    0.297158] PTP clock support registered
vgaarb: loaded
+
[    0.301145] EDAC MC: Ver: 3.0.0
SCSI subsystem initialized
+
[    0.304805] FPGA manager framework
usbcore: registered new interface driver usbfs
+
[    0.308536] Advanced Linux Sound Architecture Driver Initialized.
usbcore: registered new interface driver hub
+
[    0.315660] clocksource: Switched to clocksource arm_global_timer
usbcore: registered new device driver usb
+
[    0.332917] NET: Registered protocol family 2
mc: Linux media interface: v0.10
+
[    0.337977] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
videodev: Linux video capture interface: v2.00
+
[    0.346425] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
pps_core: LinuxPPS API ver. 1 registered
+
[    0.354267] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
+
[    0.361542] TCP: Hash tables configured (established 8192 bind 8192)
PTP clock support registered
+
[    0.368054] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
EDAC MC: Ver: 3.0.0
+
[    0.374750] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
FPGA manager framework
+
[    0.382042] NET: Registered protocol family 1
Advanced Linux Sound Architecture Driver Initialized.
+
[    0.387083] RPC: Registered named UNIX socket transport module.
clocksource: Switched to clocksource arm_global_timer
+
[    0.393034] RPC: Registered udp transport module.
NET: Registered protocol family 2
+
[    0.397734] RPC: Registered tcp transport module.
tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
+
[    0.402441] RPC: Registered tcp NFSv4.1 backchannel transport module.
TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
+
[    0.408896] PCI: CLS 0 bytes, default 64
TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
+
[    0.413390] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
TCP: Hash tables configured (established 8192 bind 8192)
+
[    0.421576] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
+
[    0.431150] workingset: timestamp_bits=14 max_order=18 bucket_order=4
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
+
[    0.438734] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
NET: Registered protocol family 1
+
[    0.446129] bounce: pool size: 64 pages
RPC: Registered named UNIX socket transport module.
+
[    0.449974] io scheduler mq-deadline registered
RPC: Registered udp transport module.
+
[    0.454520] io scheduler kyber registered
RPC: Registered tcp transport module.
+
[    0.458913] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
RPC: Registered tcp NFSv4.1 backchannel transport module.
+
[    0.467704] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
PCI: CLS 0 bytes, default 64
+
[    0.474442] dma-pl330 f8003000.dmac:         DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
+
[    0.494238] brd: module loaded
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
+
[    0.504037] loop: module loaded
workingset: timestamp_bits=14 max_order=18 bucket_order=4
+
[    0.511083] random: fast init done
jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
+
[    0.614245] random: crng init done
bounce: pool size: 64 pages
+
[    0.623641] spi-nor spi0.0: trying to lock already unlocked area
io scheduler mq-deadline registered
+
[    0.629650] spi-nor spi0.0: s25fl128s1 (16384 Kbytes)
io scheduler kyber registered
+
[    0.639922] libphy: Fixed MDIO Bus: probed
zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
+
[    0.645716] CAN device driver interface
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
+
[    0.652273] libphy: MACB_mii_bus: probed
dma-pl330 f8003000.dmac:       DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
+
[    0.688524] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 37 (7a:68:29:db:0b:f6)
brd: module loaded
+
[    0.698709] e1000e: Intel(R) PRO/1000 Network Driver
loop: module loaded
+
[    0.703668] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
spi_master spi0: cannot find modalias for /axi/spi@e000d000/flash@0
+
[    0.710509] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
spi_master spi0: Failed to create SPI device for /axi/spi@e000d000/flash@0
+
[    0.717037] ehci-pci: EHCI PCI platform driver
libphy: Fixed MDIO Bus: probed
+
[    0.721607] usbcore: registered new interface driver usb-storage
CAN device driver interface
+
[    0.728609] ULPI transceiver vendor/product ID 0x0424/0x0006
libphy: MACB_mii_bus: probed
+
[    0.734267] Found SMSC USB331x ULPI transceiver.
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 37 (00:0a:35:00:1e:53)
+
[    0.738913] ULPI integrity check: passed.
e1000e: Intel(R) PRO/1000 Network Driver
+
[    0.745040] i2c /dev entries driver
e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
+
[    0.752088] rtc-ds3232 0-0068: registered as rtc0
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
+
[    0.757162] rtc-ds3232 0-0068: setting system clock to 2018-03-09T17:29:17 UTC (1520616557)
ehci-pci: EHCI PCI platform driver
+
[    0.765791] cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 31
usbcore: registered new interface driver usb-storage
+
[    0.774272] cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
i2c /dev entries driver
+
[    0.781826] EDAC MC: ECC not enabled
cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 31
+
[    0.785972] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 666666 KHz, changing to: 666667 KHz
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
+
[    0.796932] Xilinx Zynq CpuIdle Driver started
EDAC MC: ECC not enabled
+
[    0.800410] sdhci: Secure Digital Host Controller Interface driver
Xilinx Zynq CpuIdle Driver started
+
[   0.803503] sdhci: Copyright(c) Pierre Ossman
sdhci: Secure Digital Host Controller Interface driver
+
[    0.805718] sdhci-pltfm: SDHCI platform and OF driver helper
sdhci: Copyright(c) Pierre Ossman
+
[    0.809266] ledtrig-cpu: registered to indicate activity on CPUs
sdhci-pltfm: SDHCI platform and OF driver helper
+
[    0.812545] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 1075096770 ns
ledtrig-cpu: registered to indicate activity on CPUs
+
[    0.817251] timer #0 at dfb516c6, irq=50
clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
+
[    0.819556] usbcore: registered new interface driver usbhid
timer #0 at (ptrval), irq=50
+
[    0.822381] usbhid: USB HID core driver
usbcore: registered new interface driver usbhid
+
[    0.827302] fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
usbhid: USB HID core driver
+
[    0.831575] mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
+
[    0.831977] NET: Registered protocol family 10
fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
+
[    0.838558] Segment Routing with IPv6
NET: Registered protocol family 10
+
[    0.840631] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
Segment Routing with IPv6
+
[    0.847540] NET: Registered protocol family 17
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
+
[    0.852063] can: controller area network core
NET: Registered protocol family 17
+
[    0.856576] NET: Registered protocol family 29
can: controller area network core
+
[    0.861071] can: raw protocol
NET: Registered protocol family 29
+
[    0.864050] can: broadcast manager protocol
can: raw protocol
+
[    0.868298] can: netlink gateway - max_hops=1
can: broadcast manager protocol
+
[    0.873045] Registering SWP/SWPB emulation handler
can: netlink gateway - max_hops=1
+
[    0.880140] of-fpga-region fpga-full: FPGA Region probed
Registering SWP/SWPB emulation handler
+
[    0.886112] of_cfs_init
of-fpga-region fpga-full: FPGA Region probed
+
[    0.888667] of_cfs_init: OK
of_cfs_init
+
[    0.891875] ALSA device list:
of_cfs_init: OK
+
[    0.894839]  No soundcards found.
ALSA device list:
+
[    0.898729] Waiting for root device /dev/mmcblk0p2...
  No soundcards found.
+
[    1.052324] mmc0: new high speed SDHC card at address aaaa
Waiting for root device /dev/mmcblk0p2...
+
[    1.055781] mmcblk0: mmc0:aaaa SA16G 14.8 GiB
mmc0: new high speed SDHC card at address e624
+
[    1.060584]  mmcblk0: p1 p2
mmcblk0: mmc0:e624 SU08G 7.40 GiB
+
[    1.086701] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
mmcblk0: p1 p2
+
[    1.090810] VFS: Mounted root (ext4 filesystem) on device 179:2.
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
+
[    1.094724] devtmpfs: mounted
VFS: Mounted root (ext4 filesystem) on device 179:2.
+
[    1.099892] Freeing unused kernel memory: 1024K
devtmpfs: mounted
+
[    1.136017] Run /sbin/init as init process
Freeing unused kernel memory: 1024K
 
Run /sbin/init as init process
 
 
INIT: version 2.97 booting
 
INIT: version 2.97 booting
random: fast init done
+
[    1.516983] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
 
Starting udev
 
Starting udev
udevd[79]: starting version 3.2.9
+
[    1.712872] udevd[82]: starting version 3.2.9
random: udevd: uninitialized urandom read (16 bytes read)
+
[    1.763498] udevd[83]: starting eudev-3.2.9
random: udevd: uninitialized urandom read (16 bytes read)
+
[    2.244862] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
random: udevd: uninitialized urandom read (16 bytes read)
 
udevd[80]: starting eudev-3.2.9
 
remoteproc remoteproc0: remoteproc@0 is available
 
EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
 
bootlogd: /dev/ttyPS0hwclock: Cannot access the Hardware Clock via any known method.
 
hwclock: Use the --verbose option to see the details of our search for an access method.
 
Fri Mar  9 12:34:56 UTC 2018
 
hwclock: Cannot access the Hardware Clock via any known method.
 
hwclock: Use the --verbose option to see the details of our search for an access method.
 
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...
 
Running postinst /etc/rpm-postinsts/101-postfix-cfg...
 
newaliases: fatal: could not find any active network interfaces
 
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
 
INIT: Entering runlevel: 5
Configuring network interfaces... udhcpc: started, v1.32.0
+
Configuring network interfaces... done.
udhcpc: sending discover
 
udhcpc: sending discover
 
udhcpc: sending discover
 
udhcpc: no lease, forking to background
 
done.
 
 
Starting system message bus: dbus.
 
Starting system message bus: dbus.
 
Starting haveged: haveged: command socket is listening at fd 3
 
Starting haveged: haveged: command socket is listening at fd 3
Line 455: Line 454:
  
  
Starting Dropbear SSH server: Waiting for kernel randomness to be initialised...
+
Starting Dropbear SSH server: dropbear.
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 8.00147
 
 
 
haveged: haveged: fills: 0, generated: 0
 
 
 
Generating 2048 bit rsa key, this may take a while...
 
Public key portion is:
 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUVSSH5GBRYKSqp/IabWPY1YjhUafEjPgQ3z5jeMumYluG9SVENoI2GzLZrfCFJyA0WRDCk+oTjBnrEHEKGChX/srqIvlM9P36/qOlP9/kY6gvpPWeawFQ1srgLX12rtqnE0oxy/eDo8a+IjUIyBz4zrTdtpZ88mT32e0Egiy1XuSUCWdfVy+cEjFLEVWojAUPW/AcxiyNZrjmPR2YGNSH9/Y8LgH6WZj5/2g68tOH6hrW+qpdO8T8jTCoG/5OBuYWUzGlOPk058CABHmcFmDoiH0wKInoVMyNiPZCotNF9+QpArSosTHAUlUwHZ4fzxbV57K3gBt8co6FKLAfO/mP root@bora
 
Fingerprint: sha1!! 62:38:60:ea:fb:84:ea:71:b1:3f:a5:e4:14:96:eb:26:e3:35:ef:fd
 
dropbear.
 
 
Starting rpcbind daemon...done.
 
Starting rpcbind daemon...done.
 
starting statd: done
 
starting statd: done
 
Starting atd: OK
 
Starting atd: OK
starting DNS forwarder and DHCP server: dnsmasq... done.
 
hwclock: Cannot access the Hardware Clock via any known method.
 
hwclock: Use the --verbose option to see the details of our search for an access method.
 
 
Starting internet superserver: inetd.
 
Starting internet superserver: inetd.
 
NFS daemon support not enabled in kernel
 
NFS daemon support not enabled in kernel
Starting ntpd: done
 
 
Starting system log daemon...0
 
Starting system log daemon...0
Mar  9 12:35:16 bora kernel: OF: reserved mem: OVERLAP DETECTED!
+
Mar  9 17:29:22 borax kernel: [    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
Mar  9 12:35:16 bora kernel: rproc@3e000000 (0x3e000000--0x3f000000) overlaps with vdev0vring0@3e800000 (0x3e800000--0x3e804000)
+
Mar  9 17:29:22 borax kernel: [    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
Mar  9 12:35:16 bora kernel: L2C: 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 12:35:16 bora kernel: L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
+
Mar  9 17:29:22 borax kernel: [    0.623641] spi-nor spi0.0: trying to lock already unlocked area
Mar  9 12:35:16 bora kernel: hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
+
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.
Mar  9 12:35:16 bora kernel: spi_master spi0: cannot find modalias for /axi/spi@e000d000/flash@0
 
Mar  9 12:35:16 bora kernel: spi_master spi0: Failed to create SPI device for /axi/spi@e000d000/flash@0
 
Mar  9 12:35:16 bora kernel: urandom_read: 2 callbacks suppressed
 
 
Starting internet superserver: xinetd.
 
Starting internet superserver: xinetd.
Starting Postfix...Creating aliases database ...
 
postfix/postfix-script: starting the Postfix mail system
 
Successful
 
Starting Lighttpd Web Server: lighttpd.
 
* starting FTP Server: vsftpd... done.
 
 
Starting crond: OK
 
Starting crond: OK
 
Starting tcf-agent: OK
 
Starting tcf-agent: OK
  
PetaLinux 2021.2 bora ttyPS0
+
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:
  
root@bora:~#
+
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
 
</pre>
 
</pre>
  
=== Program boot images into internal storage ===
+
=== Program the NAND flash ===
==== Program the NOR flash ====
+
 
=====BOOT.BIN=====
+
This chapter is compatible with [[BORA Lite SOM | BORA Lite]] SOM.
Update to the latest <code>BOOT.BIN</code> version: in the following example, the binary file is loaded from the ''tftp server'':
+
 
 +
First of all, create a bootable microSD card as described [[DESK-XZ7-L/Development/Creating_and_building_the_Petalinux_project| here]] with <code>config_boralite_nand_usd</code> configuration file, and install <code>wic</code> binary on microSD. Then create artifact to install on NAND flash with <code>config_boralite_nand</code> configuration file, as described [[DESK-XZ7-L/Development/Creating_and_building_the_Petalinux_project| here]], and save the <code>BOOT.BIN</code> and <code>dave-image-devel-zynq-generic.tar.gz</code> artifact into the first partition of microSD.
 +
 
 +
In this case <code>BOOT.BIN</code> binary that came from to <code>config_boralite_nand_usd</code> and <code>config_boralite_nand</code> are different, so save it with different name. Alternatively you can download binaries from [https://mirror.dave.eu/desk-xz-l/ mirror] and install on microSD.
 +
 
 +
Then, install the following files into the microSD first partition:
 +
 
 +
* <code>BOOT.BIN</code>. This binary come from to <code>config_boralite_nand_usd</code> configuration file, and need to install on microSD
 +
* <code>boot.scr</code>
 +
* <code>desk-xz7-l-1.0.1_boralite_nand_BOOT.BIN.EXTENDED</code>. This binary come from to <code>config_boralite_nand</code> configuration file, and has to be installed on NAND flash
 +
* <code>desk-xz7-l-1.0.1_boralite_nand_dave-image-devel-zynq-generic.tar.gz</code>
 +
* <code>image.ub</code>
 +
 
 +
==== Programming NAND flash from microSD ====
 +
 
 +
* delete all partition on NAND flash memory
  
 
<pre class="workstation-terminal">
 
<pre class="workstation-terminal">
Zynq> setenv boot_addr_r 0x1000000
+
root@boralite:~# for i in $(seq 0 2); do flash_erase /dev/mtd$i 0 0; done
Zynq> tftpboot ${boot_addr_r} desk-xz7/BOOT.BIN
+
Erasing 128 Kibyte @ 15e0000 -- 100 % complete
Using ethernet@e000b000 device
+
Erasing 128 Kibyte @ 20000 -- 100 % complete
TFTP from server 192.168.0.23; our IP address is 192.168.0.90
+
Erasing 128 Kibyte @ 1bde0000 -- 100 % complete
Filename 'desk-xz7/BOOT.BIN'.
 
Load address: 0x1000000
 
Loading: #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #####################################
 
        1.9 MiB/s
 
done
 
Bytes transferred = 22149396 (151f914 hex)
 
 
</pre>
 
</pre>
  
then erase and program the <code>BOOT.BIN</code> binary image:
+
* install <code>BOOT.BIN</code> on NAND flash memory
  
 
<pre class="workstation-terminal">
 
<pre class="workstation-terminal">
Zynq> sf probe; sf erase 0 2000000
+
root@boralite:~# nandwrite -p /dev/mtd0 /boot/desk-xz7-l-1.0.1_boralite_nand_BOOT.BIN.EXTENDED
SF: Detected s25fl256s1 with page size 256 Bytes, erase size 64 KiB, total 32 MiB
+
Writing data to block 0 at offset 0x0
SF: 33554432 bytes @ 0x0 Erased: OK
+
Writing data to block 1 at offset 0x20000
Zynq> sf write ${boot_addr_r} 0 ${filesize}
+
...
device 0 offset 0x0, size 0x151f914
+
Writing data to block 168 at offset 0x1500000
SF: 22149396 bytes @ 0x0 Written: OK
+
Writing data to block 169 at offset 0x1520000
Zynq>
 
 
</pre>
 
</pre>
  
=====fit image =====
+
* install <code>dave-image-devel-zynq-generic.tar.gz</code> rootfs on NAND flash memory
* program the FIT image on NOR flash with the following U-Boot commands:
 
  
 
<pre class="workstation-terminal">
 
<pre class="workstation-terminal">
Zynq> tftpboot ${kernel_addr_r} ${serverip}:desk-xz7/image.ub
+
root@boralite:~# ubiformat /dev/mtd2
Using ethernet@e000b000 device
+
ubiformat: mtd2 (nand), size 467664896 bytes (446.0 MiB), 3568 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
TFTP from server 192.168.0.23; our IP address is 192.168.0.90
+
libscan: scanning eraseblock 3567 -- 100 % complete
Filename 'desk-xz7/image.ub'.
+
ubiformat: 3568 eraseblocks are supposedly empty
Load address: 0x2000000
+
ubiformat: formatting eraseblock 3567 -- 100 % complete
Loading: #################################################################
+
root@boralite:~# ubiattach -m 2
        #################################################################
+
UBI device number 0, total 3568 LEBs (460357632 bytes, 439.0 MiB), available 3404 LEBs (439197696 bytes, 418.8 MiB), LEB size 129024 bytes (126.0 KiB)
        #################################################################
+
root@boralite:~# ubimkvol /dev/ubi0 -N rootfs -m
        #################################################################
+
Set volume size to 439197696
        #################################################################
+
Volume ID 0, size 3404 LEBs (439197696 bytes, 418.8 MiB), LEB size 129024 bytes (126.0 KiB), dynamic, name "rootfs", alignment 1
        #################################################################
+
root@boralite:~# mkdir -p /mnt/nand
        #################################################################
+
root@boralite:~# mount -t ubifs ubi0_0 /mnt/nand
        #################################################################
+
root@boralite:~# tar -xzvf /boot/dave-image-devel-zynq-generic.tar.gz -C /mnt/nand/.
        #################################################################
+
...
        #################################################################
+
root@boralite:~# umount /mnt/nand/
        #################################################################
+
root@boralite:~# ubidetach -m 2
        #################################################################
 
        #################################################################
 
        #################################################################
 
        #####################################
 
        670.9 KiB/s
 
done
 
Bytes transferred = 4847892 (49f914 hex)
 
Zynq>
 
 
</pre>
 
</pre>
  
* then erase and program the <code>image-ub</code> FIT image in NOR:
+
Once change boot mode and restarted, the complete boot log can be like this one:
 +
 
 +
<pre class="mw-collapsible mw-collapsed">
 +
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 - f6:c3:de:d6:d6:e6
 +
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
  
<pre class="workstation-terminal">
+
NAND read: device 0 offset 0x1080000, size 0x6400000
Zynq> sf probe; sf erase 1800000 800000; sf write ${kernel_addr_r} 1800000 ${filesize}
+
104857600 bytes read: OK
SF: Detected s25fl256s1 with page size 256 Bytes, erase size 64 KiB, total 32 MiB
+
## Loading kernel from FIT Image at 10000000 ...
device 0 offset 0x1000000, size 0x49f914
+
  Using 'conf-system-top.dtb' configuration
SF: 4847892 bytes @ 0x1000000 Written: OK
+
  Verifying Hash Integrity ... OK
Zynq>
+
  Trying 'kernel-1' kernel subimage
</pre>
+
    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:    20656 Bytes = 20.2 KiB
 +
    Architecture: ARM
 +
    Hash algo:   sha256
 +
    Hash value:   42e997d9430c0dc091dfb37df69c2148e40ad7fdd75ec4f49501bc5d4bc48f53
 +
  Verifying Hash Integrity ... sha256+ OK
 +
  Booting using the fdt blob at 0x1049f37c
 +
  Loading Kernel Image
 +
  Loading Device Tree to 2fff7000, end 2ffff0af ... OK
  
* configure U-Boot to apply the new configuration:
+
Starting kernel ...
  
<pre class="workstation-terminal">
+
[    0.000000] Booting Linux on physical CPU 0x0
Zynq> setenv spi_nand 'sf probe; sf read ${kernel_addr_r} 1800000 800000; bootm ${kernel_addr_r}'
+
[    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
Zynq> setenv bootcmd 'run spi_nand'
+
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
Zynq> saveenv
+
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
</pre>
+
[    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 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: 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.016654] Switching to timer-based delay loop, resolution 3ns
 +
[    0.023168] 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.057757] CPU: Testing write buffer coherency: ok
 +
[    0.061529] CPU0: Spectre v2: using BPIALL workaround
 +
[    0.066750] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
 +
[    0.072813] Setting up static identity map for 0x100000 - 0x100060
 +
[    0.078377] rcu: Hierarchical SRCU implementation.
 +
[    0.083352] smp: Bringing up secondary CPUs ...
 +
[    0.088389] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
 +
[    0.088401] CPU1: Spectre v2: using BPIALL workaround
 +
[    0.098133] smp: Brought up 1 node, 2 CPUs
 +
[    0.102036] SMP: Total of 2 processors activated (1333.33 BogoMIPS).
 +
[    0.108357] CPU: All CPU(s) started in SVC mode.
 +
[    0.113588] devtmpfs: initialized
 +
[    0.121210] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
 +
[    0.124130] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
 +
[    0.133461] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
 +
[    0.141400] pinctrl core: initialized pinctrl subsystem
 +
[    0.146260] NET: Registered protocol family 16
 +
[    0.151995] DMA: preallocated 256 KiB pool for atomic coherent allocations
 +
[    0.157737] thermal_sys: Registered thermal governor 'step_wise'
 +
[    0.158045] cpuidle: using governor ladder
 +
[    0.166503] cpuidle: using governor menu
 +
[    0.183028] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
 +
[    0.185376] hw-breakpoint: maximum watchpoint size is 4 bytes.
 +
[    0.191287] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x(ptrval)
 +
[    0.198430] e0000000.serial: ttyPS1 at MMIO 0xe0000000 (irq = 34, base_baud = 3125000) is a xuartps
 +
[    0.207344] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 35, base_baud = 3125000) is a xuartps
 +
[    0.221202] printk: console [ttyPS0] enabled
 +
[    0.221202] printk: console [ttyPS0] enabled
 +
[    0.225508] printk: bootconsole [cdns0] disabled
 +
[    0.225508] printk: bootconsole [cdns0] disabled
 +
[    0.249919] vgaarb: loaded
 +
[    0.253028] SCSI subsystem initialized
 +
[    0.257026] usbcore: registered new interface driver usbfs
 +
[    0.262608] usbcore: registered new interface driver hub
 +
[    0.268015] usbcore: registered new device driver usb
 +
[    0.273332] mc: Linux media interface: v0.10
 +
[    0.277632] videodev: Linux video capture interface: v2.00
 +
[    0.283192] pps_core: LinuxPPS API ver. 1 registered
 +
[    0.288149] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
 +
[    0.297305] PTP clock support registered
 +
[    0.301292] EDAC MC: Ver: 3.0.0
 +
[    0.304949] FPGA manager framework
 +
[    0.308681] Advanced Linux Sound Architecture Driver Initialized.
 +
[    0.315837] clocksource: Switched to clocksource arm_global_timer
 +
[    0.333163] NET: Registered protocol family 2
 +
[    0.338219] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
 +
[    0.346667] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
 +
[    0.354511] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
 +
[    0.361784] TCP: Hash tables configured (established 8192 bind 8192)
 +
[    0.368300] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
 +
[    0.375014] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
 +
[    0.382308] NET: Registered protocol family 1
 +
[    0.387345] RPC: Registered named UNIX socket transport module.
 +
[    0.393300] RPC: Registered udp transport module.
 +
[    0.398001] RPC: Registered tcp transport module.
 +
[    0.402740] RPC: Registered tcp NFSv4.1 backchannel transport module.
 +
[    0.409180] PCI: CLS 0 bytes, default 64
 +
[    0.413721] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
 +
[    0.421860] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
 +
[    0.431454] workingset: timestamp_bits=14 max_order=18 bucket_order=4
 +
[    0.439077] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
 +
[    0.446536] bounce: pool size: 64 pages
 +
[    0.450383] io scheduler mq-deadline registered
 +
[    0.454934] io scheduler kyber registered
 +
[    0.459327] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
 +
[    0.468109] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
 +
[    0.474850] dma-pl330 f8003000.dmac:        DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
 +
[    0.494688] brd: module loaded
 +
[    0.504477] loop: module loaded
 +
[    0.509473] libphy: Fixed MDIO Bus: probed
 +
[    0.515346] CAN device driver interface
 +
[    0.521835] libphy: MACB_mii_bus: probed
 +
[    0.562752] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 37 (f6:c3:de:d6:d6:e6)
 +
[    0.572919] e1000e: Intel(R) PRO/1000 Network Driver
 +
[    0.577877] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
 +
[    0.584681] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
 +
[    0.591202] ehci-pci: EHCI PCI platform driver
 +
[    0.595787] usbcore: registered new interface driver usb-storage
 +
[    0.602740] ULPI transceiver vendor/product ID 0x0424/0x0006
 +
[    0.608397] Found SMSC USB331x ULPI transceiver.
 +
[    0.613077] ULPI integrity check: passed.
 +
[    0.619138] i2c /dev entries driver
 +
[    0.626225] rtc-ds3232 0-0068: registered as rtc0
 +
[    0.631266] rtc-ds3232 0-0068: setting system clock to 2018-03-09T22:43:45 UTC (1520635425)
 +
[    0.639890] cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 31
 +
[    0.647246] tmp421 0-004f: Could not read configuration register (-6)
 +
[    0.654494] cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
 +
[    0.662040] EDAC MC: ECC not enabled
 +
[    0.666183] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 666666 KHz, changing to: 666667 KHz
 +
[    0.677171] Xilinx Zynq CpuIdle Driver started
 +
[    0.680527] sdhci: Secure Digital Host Controller Interface driver
 +
[    0.683621] sdhci: Copyright(c) Pierre Ossman
 +
[    0.685836] sdhci-pltfm: SDHCI platform and OF driver helper
 +
[    0.689399] ledtrig-cpu: registered to indicate activity on CPUs
 +
[    0.692668] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 1075096770 ns
 +
[    0.697371] timer #0 at (ptrval), irq=50
 +
[    0.699683] usbcore: registered new interface driver usbhid
 +
[    0.702500] usbhid: USB HID core driver
 +
[    0.705419] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xd3
 +
[    0.708625] nand: Winbond W29N08GV
 +
[    0.710334] nand: 1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
 +
[    0.712244] mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
 +
[    0.714200] nand: SDR timing mode 4 not acknowledged by the NAND chip
 +
[    0.721567] Bad block table found at page 524224, version 0x01
 +
[    0.728120] Bad block table found at page 524160, version 0x01
 +
[    0.734601] 3 fixed-partitions partitions found on MTD device W29N08GV
 +
[    0.741231] Creating 3 MTD partitions on "W29N08GV":
 +
[    0.746267] 0x000000000000-0x000001600000 : "bootbin"
 +
[    0.753640] 0x000001600000-0x000001640000 : "ubootenv"
 +
[    0.760285] 0x000001640000-0x00001d440000 : "rootfs"
 +
[    0.775328] fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
 +
[    0.783257] NET: Registered protocol family 10
 +
[    0.789108] Segment Routing with IPv6
 +
[    0.792886] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
 +
[    0.799816] NET: Registered protocol family 17
 +
[    0.804356] can: controller area network core
 +
[    0.808869] NET: Registered protocol family 29
 +
[    0.813401] can: raw protocol
 +
[    0.816497] can: broadcast manager protocol
 +
[    0.820768] can: netlink gateway - max_hops=1
 +
[    0.825605] Registering SWP/SWPB emulation handler
 +
[    0.832970] of-fpga-region fpga-full: FPGA Region probed
 +
[    0.838736] ubi0: attaching mtd2
 +
[    2.056102] ubi0: scanning is finished
 +
[    2.074242] ubi0: attached mtd2 (name "rootfs", size 446 MiB)
 +
[    2.080123] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
 +
[    2.087020] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 512
 +
[    2.093715] ubi0: VID header offset: 512 (aligned 512), data offset: 2048
 +
[    2.100621] ubi0: good PEBs: 3568, bad PEBs: 0, corrupted PEBs: 0
 +
[    2.106734] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
 +
[    2.113950] ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 635011865
 +
[    2.123040] ubi0: available PEBs: 0, total reserved PEBs: 3568, PEBs reserved for bad PEB handling: 160
 +
[    2.132475] ubi0: background thread "ubi_bgt0d" started, PID 53
 +
[    2.132642] of_cfs_init
 +
[    2.140972] of_cfs_init: OK
 +
[    2.144117] ALSA device list:
 +
[    2.147151]  No soundcards found.
 +
[    2.151854] UBIFS (ubi0:0): Mounting in unauthenticated mode
 +
[    2.157764] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 54
 +
[    2.252675] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs"
 +
[    2.260145] UBIFS (ubi0:0): LEB size: 129024 bytes (126 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
 +
[    2.270077] UBIFS (ubi0:0): FS size: 437262336 bytes (417 MiB, 3389 LEBs), journal size 21934080 bytes (20 MiB, 170 LEBs)
 +
[    2.281079] UBIFS (ubi0:0): reserved for root: 4952683 bytes (4836 KiB)
 +
[    2.287714] UBIFS (ubi0:0): media format: w5/r0 (latest is w5/r0), UUID 1D39DE69-4DB4-43C3-B1DC-4790B3D8D8CA, small LPT model
 +
[    2.300876] VFS: Mounted root (ubifs filesystem) on device 0:13.
 +
[    2.308081] devtmpfs: mounted
 +
[    2.314189] Freeing unused kernel memory: 1024K
 +
[    2.319122] Run /sbin/init as init process
 +
INIT: version 2.97 booting
 +
Starting udev
 +
[    3.363102] udevd[78]: starting version 3.2.9
 +
[    3.402426] random: udevd: uninitialized urandom read (16 bytes read)
 +
[    3.410464] random: udevd: uninitialized urandom read (16 bytes read)
 +
[    3.426120] random: udevd: uninitialized urandom read (16 bytes read)
 +
[    3.496826] udevd[79]: starting eudev-3.2.9
 +
bootlogd: /dev/ttyPS0Configuring 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
  
==== Program root file system into NAND flash ====
 
* Boot the system via SD or NFS as described in the e [[DESK-XZ7-L/General/Booting_from_NFS|Booting from NFS]] guide
 
* By default, the NAND is already partitioned to allow booting from NAND-only (see next section) and, thus, some partitions are reserved for u-boot and kernel images. Here we won't modify this default configuration. The [[Memory Tecnology Device (MTD)|MTD]] partitions can be dumped with <code>/proc/mtd</code> (the partition's name should be self-explanatory)
 
<pre class="workstation-terminal">
 
</pre>
 
  
{{ImportantMessage|text=Please note that MTD partition index may change depending of flash device availability, flash device size, u-boot environment variables or kernel device driver load order. Always take care of looking inside <code>/proc/mtd</code> to match your specific layout}}
+
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
  
* Format and initialize ''nand-ubi'' partition, which in our case is <code>mtd0</code>, using [[Memory Tecnology Device (MTD)#UBI|UBI]] with:
+
haveged: haveged: cpu: (VC); data: 16K (D); inst: 16K (D); idx: 12/40; sz: 15006/57790
<pre>
 
ubiformat /dev/mtd0
 
ubiattach -m 0
 
ubimkvol /dev/ubi0 -N rootfs -m
 
</pre>
 
  
E.g.
+
haveged: haveged: tot tests(BA8): A:1/1 B:1/1 continuous tests(B):  last entropy estimate 7.99862
  
<pre class="workstation-terminal">
+
haveged: haveged: fills: 0, generated: 0
root@bora:~# ubiformat /dev/mtd0
 
</pre>
 
* Now mount the UBI volume using [[Memory Tecnology Device (MTD)#UBIFS|UBIFS]] in a temporary directory
 
<pre>
 
mkdir -p /mnt/nand
 
mount -t ubifs ubi0_0 /mnt/nand
 
</pre>
 
  
E.g.:
+
Generating 2048 bit rsa key, this may take a while...
 +
Public key portion is:
 +
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCTB8TmZSylf7njT2d8i1CdsvL2RVkN9NBTJjMX36nmx3GgyTY1O+R8fRv3eXdFD+XWUk02YMWSpPwvC6geSyGEovUe60y7cg/SRyZRTth/sokI+HboE/i0BUzeDCtFS5/L2nDNs/TIg6/0yVn4fcnWH7IDxLNTsqdf0f7wcapCXQrP2+xocU63B4NkXpUVL+Y/Za06M0lqaiqasfOXFfP5MSyTTeJa91LfH5qOca0fxJGqmMDStJjaLTAsEiI3H2waFysRG/prIO17fVbnbsCF2UaNm8Un7wluae0HjUBd/ItTdIa6erKUJilVGsSkPo0+Shx5O1Zk4cetuPFs+e2P root@boralite
 +
Fingerprint: sha1!! 0e:82:1e:52:c9:20:b1:64:1d:17:b0:a8:a8:e5:93:44:3f:ec:6c:38
 +
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 22:44:12 boralite kernel: [    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
 +
Mar  9 22:44:12 boralite kernel: [    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
 +
Mar  9 22:44:12 boralite kernel: [    0.413721] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
 +
Mar  9 22:44:12 boralite kernel: [    0.647246] tmp421 0-004f: Could not read configuration register (-6)
 +
Mar  9 22:44:12 boralite kernel: [    0.714200] nand: SDR timing mode 4 not acknowledged by the NAND chip
 +
Mar  9 22:44:12 boralite kernel: [    5.281753] urandom_read: 4 callbacks suppressed
 +
Starting internet superserver: xinetd.
 +
Starting crond: OK
 +
Starting tcf-agent: OK
  
<pre class="workstation-terminal">
+
PetaLinux 2021.2 boralite ttyPS0
root@bora:~# mkdir -p /mnt/nand
 
root@bora:~# mount -t ubifs ubi0_0 /mnt/nand
 
</pre>
 
* you can now extract the root file system into that directory
 
<pre>
 
tar xvjf -C /mnt/nand
 
</pre>
 
  
* finally, you need to cleanly umount and detach the MTD partition
 
  
<pre class="workstation-terminal">
+
root@boralite:~# cat /etc/build
root@bora:~# umount /mnt/nand/
+
-----------------------
root@bora:~# ubidetach -m
+
Build Configuration:  |
</pre>
+
-----------------------
 +
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@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:~# 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@boralite:~# shutdown -h now
  
You can now safely reboot or turn off the system.
+
Broadcast message from root@boralite (ttyPS0) (Fri Mar  9 22:46:32 2018):
  
In U-Boot environment check the following variable, which must contain the same MTD partition number used above
+
The system is going down for system halt NOW!
 +
INIT: Sending processes configured via /etc/inittab the TERM signal
 +
root@boralite:~# Stopping haveged:
  
<pre>
+
Stopping Dropbear SSH server: stopped /usr/sbin/dropbear (pid 275)
nand_args=setenv bootargs root=ubi0:rootfs rootfstype=ubifs rw ubi.mtd=0
+
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...
 +
[  173.736463] reboot: System halted
 
</pre>
 
</pre>
  
----
+
<section end=Body/>
  
[[Category:BORA]]
+
[[Category:BORA]] [[Category:BORA Xpress]][[Category:BORA Lite]]

Latest revision as of 09:22, 26 January 2024

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



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
  • 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.0.1_boralite_nand_dave-image-devel-zynq-generic.tar.gz
  • image.ub

Programming NAND flash from microSD[edit | edit source]

  • delete all partition on NAND flash memory
root@boralite:~# for i in $(seq 0 2); do flash_erase /dev/mtd$i 0 0; done
Erasing 128 Kibyte @ 15e0000 -- 100 % complete
Erasing 128 Kibyte @ 20000 -- 100 % complete
Erasing 128 Kibyte @ 1bde0000 -- 100 % complete
  • install BOOT.BIN on NAND flash memory
root@boralite:~# nandwrite -p /dev/mtd0 /boot/desk-xz7-l-1.0.1_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 168 at offset 0x1500000
Writing data to block 169 at offset 0x1520000
  • install dave-image-devel-zynq-generic.tar.gz rootfs on NAND flash memory
root@boralite:~# ubiformat /dev/mtd2
ubiformat: mtd2 (nand), size 467664896 bytes (446.0 MiB), 3568 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 3567 -- 100 % complete
ubiformat: 3568 eraseblocks are supposedly empty
ubiformat: formatting eraseblock 3567 -- 100 % complete
root@boralite:~# ubiattach -m 2
UBI device number 0, total 3568 LEBs (460357632 bytes, 439.0 MiB), available 3404 LEBs (439197696 bytes, 418.8 MiB), LEB size 129024 bytes (126.0 KiB)
root@boralite:~# ubimkvol /dev/ubi0 -N rootfs -m
Set volume size to 439197696
Volume ID 0, size 3404 LEBs (439197696 bytes, 418.8 MiB), LEB size 129024 bytes (126.0 KiB), dynamic, name "rootfs", alignment 1
root@boralite:~# mkdir -p /mnt/nand
root@boralite:~# mount -t ubifs ubi0_0 /mnt/nand
root@boralite:~# tar -xzvf /boot/dave-image-devel-zynq-generic.tar.gz -C /mnt/nand/.
...
root@boralite:~# umount /mnt/nand/
root@boralite:~# ubidetach -m 2

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 - f6:c3:de:d6:d6:e6
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:    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:    20656 Bytes = 20.2 KiB
     Architecture: ARM
     Hash algo:    sha256
     Hash value:   42e997d9430c0dc091dfb37df69c2148e40ad7fdd75ec4f49501bc5d4bc48f53
   Verifying Hash Integrity ... sha256+ OK
   Booting using the fdt blob at 0x1049f37c
   Loading Kernel Image
   Loading Device Tree to 2fff7000, end 2ffff0af ... 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 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: 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.016654] Switching to timer-based delay loop, resolution 3ns
[    0.023168] 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.057757] CPU: Testing write buffer coherency: ok
[    0.061529] CPU0: Spectre v2: using BPIALL workaround
[    0.066750] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.072813] Setting up static identity map for 0x100000 - 0x100060
[    0.078377] rcu: Hierarchical SRCU implementation.
[    0.083352] smp: Bringing up secondary CPUs ...
[    0.088389] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.088401] CPU1: Spectre v2: using BPIALL workaround
[    0.098133] smp: Brought up 1 node, 2 CPUs
[    0.102036] SMP: Total of 2 processors activated (1333.33 BogoMIPS).
[    0.108357] CPU: All CPU(s) started in SVC mode.
[    0.113588] devtmpfs: initialized
[    0.121210] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.124130] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.133461] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.141400] pinctrl core: initialized pinctrl subsystem
[    0.146260] NET: Registered protocol family 16
[    0.151995] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.157737] thermal_sys: Registered thermal governor 'step_wise'
[    0.158045] cpuidle: using governor ladder
[    0.166503] cpuidle: using governor menu
[    0.183028] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.185376] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.191287] zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x(ptrval)
[    0.198430] e0000000.serial: ttyPS1 at MMIO 0xe0000000 (irq = 34, base_baud = 3125000) is a xuartps
[    0.207344] e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 35, base_baud = 3125000) is a xuartps
[    0.221202] printk: console [ttyPS0] enabled
[    0.221202] printk: console [ttyPS0] enabled
[    0.225508] printk: bootconsole [cdns0] disabled
[    0.225508] printk: bootconsole [cdns0] disabled
[    0.249919] vgaarb: loaded
[    0.253028] SCSI subsystem initialized
[    0.257026] usbcore: registered new interface driver usbfs
[    0.262608] usbcore: registered new interface driver hub
[    0.268015] usbcore: registered new device driver usb
[    0.273332] mc: Linux media interface: v0.10
[    0.277632] videodev: Linux video capture interface: v2.00
[    0.283192] pps_core: LinuxPPS API ver. 1 registered
[    0.288149] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.297305] PTP clock support registered
[    0.301292] EDAC MC: Ver: 3.0.0
[    0.304949] FPGA manager framework
[    0.308681] Advanced Linux Sound Architecture Driver Initialized.
[    0.315837] clocksource: Switched to clocksource arm_global_timer
[    0.333163] NET: Registered protocol family 2
[    0.338219] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.346667] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.354511] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.361784] TCP: Hash tables configured (established 8192 bind 8192)
[    0.368300] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.375014] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.382308] NET: Registered protocol family 1
[    0.387345] RPC: Registered named UNIX socket transport module.
[    0.393300] RPC: Registered udp transport module.
[    0.398001] RPC: Registered tcp transport module.
[    0.402740] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.409180] PCI: CLS 0 bytes, default 64
[    0.413721] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
[    0.421860] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    0.431454] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[    0.439077] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.446536] bounce: pool size: 64 pages
[    0.450383] io scheduler mq-deadline registered
[    0.454934] io scheduler kyber registered
[    0.459327] zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
[    0.468109] dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
[    0.474850] dma-pl330 f8003000.dmac:         DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
[    0.494688] brd: module loaded
[    0.504477] loop: module loaded
[    0.509473] libphy: Fixed MDIO Bus: probed
[    0.515346] CAN device driver interface
[    0.521835] libphy: MACB_mii_bus: probed
[    0.562752] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 37 (f6:c3:de:d6:d6:e6)
[    0.572919] e1000e: Intel(R) PRO/1000 Network Driver
[    0.577877] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.584681] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.591202] ehci-pci: EHCI PCI platform driver
[    0.595787] usbcore: registered new interface driver usb-storage
[    0.602740] ULPI transceiver vendor/product ID 0x0424/0x0006
[    0.608397] Found SMSC USB331x ULPI transceiver.
[    0.613077] ULPI integrity check: passed.
[    0.619138] i2c /dev entries driver
[    0.626225] rtc-ds3232 0-0068: registered as rtc0
[    0.631266] rtc-ds3232 0-0068: setting system clock to 2018-03-09T22:43:45 UTC (1520635425)
[    0.639890] cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 31
[    0.647246] tmp421 0-004f: Could not read configuration register (-6)
[    0.654494] cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
[    0.662040] EDAC MC: ECC not enabled
[    0.666183] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 666666 KHz, changing to: 666667 KHz
[    0.677171] Xilinx Zynq CpuIdle Driver started
[    0.680527] sdhci: Secure Digital Host Controller Interface driver
[    0.683621] sdhci: Copyright(c) Pierre Ossman
[    0.685836] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.689399] ledtrig-cpu: registered to indicate activity on CPUs
[    0.692668] clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 1075096770 ns
[    0.697371] timer #0 at (ptrval), irq=50
[    0.699683] usbcore: registered new interface driver usbhid
[    0.702500] usbhid: USB HID core driver
[    0.705419] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xd3
[    0.708625] nand: Winbond W29N08GV
[    0.710334] nand: 1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    0.712244] mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
[    0.714200] nand: SDR timing mode 4 not acknowledged by the NAND chip
[    0.721567] Bad block table found at page 524224, version 0x01
[    0.728120] Bad block table found at page 524160, version 0x01
[    0.734601] 3 fixed-partitions partitions found on MTD device W29N08GV
[    0.741231] Creating 3 MTD partitions on "W29N08GV":
[    0.746267] 0x000000000000-0x000001600000 : "bootbin"
[    0.753640] 0x000001600000-0x000001640000 : "ubootenv"
[    0.760285] 0x000001640000-0x00001d440000 : "rootfs"
[    0.775328] fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
[    0.783257] NET: Registered protocol family 10
[    0.789108] Segment Routing with IPv6
[    0.792886] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    0.799816] NET: Registered protocol family 17
[    0.804356] can: controller area network core
[    0.808869] NET: Registered protocol family 29
[    0.813401] can: raw protocol
[    0.816497] can: broadcast manager protocol
[    0.820768] can: netlink gateway - max_hops=1
[    0.825605] Registering SWP/SWPB emulation handler
[    0.832970] of-fpga-region fpga-full: FPGA Region probed
[    0.838736] ubi0: attaching mtd2
[    2.056102] ubi0: scanning is finished
[    2.074242] ubi0: attached mtd2 (name "rootfs", size 446 MiB)
[    2.080123] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
[    2.087020] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 512
[    2.093715] ubi0: VID header offset: 512 (aligned 512), data offset: 2048
[    2.100621] ubi0: good PEBs: 3568, bad PEBs: 0, corrupted PEBs: 0
[    2.106734] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    2.113950] ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 635011865
[    2.123040] ubi0: available PEBs: 0, total reserved PEBs: 3568, PEBs reserved for bad PEB handling: 160
[    2.132475] ubi0: background thread "ubi_bgt0d" started, PID 53
[    2.132642] of_cfs_init
[    2.140972] of_cfs_init: OK
[    2.144117] ALSA device list:
[    2.147151]   No soundcards found.
[    2.151854] UBIFS (ubi0:0): Mounting in unauthenticated mode
[    2.157764] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 54
[    2.252675] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs"
[    2.260145] UBIFS (ubi0:0): LEB size: 129024 bytes (126 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    2.270077] UBIFS (ubi0:0): FS size: 437262336 bytes (417 MiB, 3389 LEBs), journal size 21934080 bytes (20 MiB, 170 LEBs)
[    2.281079] UBIFS (ubi0:0): reserved for root: 4952683 bytes (4836 KiB)
[    2.287714] UBIFS (ubi0:0): media format: w5/r0 (latest is w5/r0), UUID 1D39DE69-4DB4-43C3-B1DC-4790B3D8D8CA, small LPT model
[    2.300876] VFS: Mounted root (ubifs filesystem) on device 0:13.
[    2.308081] devtmpfs: mounted
[    2.314189] Freeing unused kernel memory: 1024K
[    2.319122] Run /sbin/init as init process
INIT: version 2.97 booting
Starting udev
[    3.363102] udevd[78]: starting version 3.2.9
[    3.402426] random: udevd: uninitialized urandom read (16 bytes read)
[    3.410464] random: udevd: uninitialized urandom read (16 bytes read)
[    3.426120] random: udevd: uninitialized urandom read (16 bytes read)
[    3.496826] udevd[79]: starting eudev-3.2.9
bootlogd: /dev/ttyPS0Configuring 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.99862

haveged: haveged: fills: 0, generated: 0

Generating 2048 bit rsa key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCTB8TmZSylf7njT2d8i1CdsvL2RVkN9NBTJjMX36nmx3GgyTY1O+R8fRv3eXdFD+XWUk02YMWSpPwvC6geSyGEovUe60y7cg/SRyZRTth/sokI+HboE/i0BUzeDCtFS5/L2nDNs/TIg6/0yVn4fcnWH7IDxLNTsqdf0f7wcapCXQrP2+xocU63B4NkXpUVL+Y/Za06M0lqaiqasfOXFfP5MSyTTeJa91LfH5qOca0fxJGqmMDStJjaLTAsEiI3H2waFysRG/prIO17fVbnbsCF2UaNm8Un7wluae0HjUBd/ItTdIa6erKUJilVGsSkPo0+Shx5O1Zk4cetuPFs+e2P root@boralite
Fingerprint: sha1!! 0e:82:1e:52:c9:20:b1:64:1d:17:b0:a8:a8:e5:93:44:3f:ec:6c:38
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 22:44:12 boralite kernel: [    0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
Mar  9 22:44:12 boralite kernel: [    0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
Mar  9 22:44:12 boralite kernel: [    0.413721] hw perfevents: no interrupt-affinity property for /pmu@f8891000, guessing.
Mar  9 22:44:12 boralite kernel: [    0.647246] tmp421 0-004f: Could not read configuration register (-6)
Mar  9 22:44:12 boralite kernel: [    0.714200] nand: SDR timing mode 4 not acknowledged by the NAND chip
Mar  9 22:44:12 boralite kernel: [    5.281753] 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/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@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:~# 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@boralite:~# shutdown -h now

Broadcast message from root@boralite (ttyPS0) (Fri Mar  9 22:46:32 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 275)
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...
[  173.736463] reboot: System halted