Open main menu

DAVE Developer's Wiki β

Changes

DESK-XZ7-L/Deployment/Standalone boot

43,346 bytes added, 26 January
no edit summary
!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"|Notes
|-
!|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededededf8fb; padding:5px; color:#000000"|{{oldid|17xxx17164|17xxx2022/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:#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"|Q1 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.0 1 release
|-
|}
<section end=History/>
__FORCETOC__
<section begin=Body/>
==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.
{{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
 
=== Program the Quad-SPI NOR flash ===
We'll explain how to program This chapter is compatible with [[BORA SOM | BORA]], [[BORA Xpress SOM | BORA Xpress]] and configure a <[[BORA Lite SOM> to boot in standalone mode| BORA Lite]] platforms, without the need but below there is log for a system microSD card or an NFS server, with three options:* 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 flashBORA Xpress SOM.
=== Program boot images 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 SD card ===<code>tftpboot</code> directory in your host device.
====uThen, boot the board with the microSD card and stop the automatic boot process of U-Bootin order to access the console.<pre class===="workstation-terminal">Update to the latest uU-Boot 2021.01-desk-xz7-boot version allows usage of ul-boot environment variables available1.0.1 (Jan 12 2024 - 10:44:15 +0000)
<pre>CPU: Zynq 7z030Silicon: v3.1Model: Borammc_update=mmc dev; setexpr blocks ${filesize} / 0x200; setexpr blocks ${blocks} + DRAM: ECC disabled 1; GiBFlash: 0 BytesNAND: 0 MiBMMC: mmc write ${loadaddr} @e0100000: 0Loading Environment from FAT... *** Warning - bad CRC, using default environment In: serial@e0001000Out: serial@e0001000Err: serial@e0001000SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBSF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBSOM ConfigID#: 00000004SOM UniqueID#: 2a0e92c4:03193a4bCB ConfigID#: ffffffffCB UniqueID#: ffffffff:ffffffffSF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBWarning: MAC addr not found in SPI NOR at block 8Net:ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr 7, interface rgmii-id Warning: ethernet@e000b000 (eth0) using random MAC address - 72:2c:e1:44:08:28eth0: ethernet@e000b000Hit ENTER within 2 ${blocks}seconds to stop autobootZynq>
</pre>
Load u====Programming Quad-boot binary form a <code>tftp</code> server:SPI NOR flash from microSD==== * Initialize and format Quad-SPI NOR flash memory
<pre class="workstation-terminal">
=Zynq> run loadsf probe=SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBZynq> run mmc_updatesf erase 0 0x1000000SF: 16777216 bytes @ 0x0 Erased: OK
</pre>
==== Create the SD card partitions ====The SD card should have at least 2 partition:* the first must be an FAT32 partition (type Install <code>bBOOT.BIN</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 filesystemon Quad-SPI NOR flash memory
<pre class==== Creating the SD card from nfs boot ===="workstation-terminal">Zynq> fatload mmc 0:1 $kernel_addr_r BOOT.BIN* Boot the system via SD or NFS as described 7033004 bytes read in the e [[406 ms (<KIT16.5 MiB/s)Zynq>)#Quick_start_guide|Quick start guide]]sf write $kernel_addr_r 0x0 $filesize* SD device has to be partitioned and properly formatted choosing the <code>file system0 offset 0x0, size 0x6b50acSF: 7033004 bytes @ 0x0 Written: OK</codepre> for each partition* an example of SD partitioning script is the following one:
* Install <precode>#!image.ub</bin/shcode> on Quad-SPI NOR flash memory
node<pre class="workstation-terminal">Zynq> mw $kernel_addr_r 0x0 $filesizeZynq> fatload mmc 0:1$kernel_addr_r image.ub4868556 bytes read in 287 ms (16.2 MiB/s)Zynq> sf write $kernel_addr_r 0x700000 $filesizedevice 0 offset 0x700000, size 0x4a49ccSF: 4868556 bytes @ 0x700000 Written: OK</pre>
# partition size * Install <code>boot.scr</code> on Quad-SPI NOR flash memory <pre class="workstation-terminal">Zynq> mw $kernel_addr_r 0x0 $filesizeZynq> fatload mmc 0:1 $kernel_addr_r boot.scr2709 bytes read in MB14 ms (188.5 KiB/s)BOOTLOAD_RESERVE=8Zynq> sf write $kernel_addr_r 0xFC0000 $filesizedevice 0 offset 0xfc0000, size 0xa95BOOT_ROM_SIZE=128SF: 2709 bytes @ 0xfc0000 Written: OKRFS_SIZE=2048</pre>
# create the SDCARD partitionpart=""echo ${node} | grep mmcblk > /dev/nullif [ "$?" ===Programming Quad-eq "0" ]; then partSPI NOR flash from ethernet===="p"fi* Initialize and format Quad-SPI NOR flash memory
# print the SD total capacitytotal_size<pre class=`sfdisk "workstation-s ${node}`terminal">total_size=`expr ${total_size} / 1024`Zynq> sf probeecho SD SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total size16 MiBZynq> sf erase 0 0x1000000SF: 16777216 bytes @ 0x0 Erased: ${total_size}KBOK</pre>
# calculate partition sizes* Properly define the ethernet configuration parameter:boot_start<pre class=`expr ${BOOTLOAD_RESERVE} \\* 1024 \\* 1024 / 512`"workstation-terminal">boot_size=`expr ${BOOT_ROM_SIZE} \\* 1024 \\* 1024 / 512`Zynq> setenv ipaddr 192.168.0.89rfs_start=`expr ${boot_size} + ${boot_start}`Zynq> setenv serverip 192.168.0.99rfs_size=`expr ${RFS_SIZE} \\* 1024 \\* 1024 </ 512`pre>
umount ${node}${part}1 * download via TFTP the <code> BOOT.BIN</devcode> binary image and write <code>BOOT.BIN</null 2code>&on Quad-SPI NOR flash memory<pre class="workstation-terminal">Zynq> tftpboot $kernel_addr_r desk-xz7-l/desk-xz7-l-1.0.1_borax_BOOT.BINUsing ethernet@e000b000 deviceTFTP from server 192.168.0.99; our IP address is 192.168.0.89Filename 'desk-xz7-l/desk-xz7-l-1.0.1_borax_BOOT.BIN'.umount Load address: 0x2000000Loading: #T ################################################################ ################################################################# ... ################################################################# ######### 444.3 KiB/sdoneBytes transferred = 7033004 (6b50ac hex)Zynq> sf write ${node}kernel_addr_r 0x0 ${part}2 > /devfilesizedevice 0 offset 0x0, size 0x6b50acSF: 7033004 bytes @ 0x0 Written: OK</null 2pre>&1
# call sfdisk to create partition table* download via TFTP the <code>image.ub</code> binary image and write <code>image.ub</code> on Quad-SPI NOR flash memory<pre class="workstation-terminal">{ echo Zynq> mw ${boot_start},kernel_addr_r 0x0 $filesizeZynq> tftpboot ${boot_size},0c,kernel_addr_r desk-xz7-l/desk-xz7-l-1.0.1_borax_image.ubUsing ethernet@e000b000 deviceTFTP from server 192.168.0.99; echo ${rfs_start},${rfs_size},83,our IP address is 192.168.0.89Filename 'desk-xz7-l/desk-; } | sfdisk xz7-l-force 1.0.1_borax_image.ub'.Load address: 0x2000000Loading: #T ################################################################ ################################################################# ... ################################################################# ######################################### 394.5 KiB/sdoneBytes transferred = 4868556 (4a49cc hex)Zynq> sf write $kernel_addr_r 0x700000 ${node}filesizedevice 0 offset 0x700000, size 0x4a49ccSF: 4868556 bytes @ 0x700000 Written: OK</pre>
# format * download via TFTP the SDCARD partition<code>boot.scr</code> binary image and write <code>boot.scr</code> on Quad-SPI NOR flash memoryecho <pre class="formatting bootworkstation-terminal">Zynq> mw $kernel_addr_r 0x0 $filesizemkfs.vfat Zynq> tftpboot $kernel_addr_r desk-xz7-l/desk-xz7-F 32 l-n boot ${node}${part}1.0.1_borax_boot.screcho "formatting rfs"Using ethernet@e000b000 devicemkfsTFTP from server 192.ext4 168.0.99; our IP address is 192.168.0.89Filename 'desk-xz7-l/desk-xz7-l-F 1.0.1_borax_boot.scr'.Load address: 0x2000000Loading: #T 0 Bytes/sdoneBytes transferred = 2709 (a95 hex)Zynq> sf write ${node}kernel_addr_r 0xFC0000 ${part}2 -Lrfsfilesizedevice 0 offset 0xfc0000, size 0xa95SF: 2709 bytes @ 0xfc0000 Written: OK
</pre>
EOnce 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 7z030Silicon: v3.1Model: BoraDRAM: ECC disabled 1 GiBFlash: 0 BytesNAND: 0 MiBMMC: mmc@e0100000: 0Loading 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@e0001000Out: serial@e0001000Err: serial@e0001000SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBSF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBSOM ConfigID#: 00000004SOM UniqueID#: 2a0e92c4:03193a4bCB ConfigID#: ffffffffCB UniqueID#: ffffffff:ffffffffSF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBWarning: MAC addr not found in SPI NOR at block 8Net:ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr 7, interface rgmii-id Warning: ethernet@e000b000 (eth0) using random MAC address - 7a:68:29:db:0b:f6eth0: ethernet@e000b000Hit ENTER within 2 seconds to stop autobootSF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBdevice 0 offset 0xfc0000, size 0x40000SF: 262144 bytes @ 0xfc0000 Read: OKQSPI: Trying to boot script at 3000000## Executing script at 03000000Trying to load boot images from qspiSF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBdevice 0 offset 0x700000, size 0x600000SF: 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 ..g.
<pre class[ 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 ="workstation3125000) 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 -terminal"Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>root[ 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@boraf8891000, 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/sdcardSWPB emulation handler[ 0.880140] of-partitionfpga-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.sh 898729] Waiting for root device /dev/mmcblk2mmcblk0p2...SD total size[ 1.052324] mmc0: new high speed SDHC card at address aaaa[ 1.055781] mmcblk0: mmc0: 3776KBaaaa SA16G 14.8 GiB[ 1341 1.905014060584] mmcblk2mmcblk0: p1 p2Checking that no[ 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 processINIT: 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-one is using this disk right now mounted. Opts: (null)INIT: Entering runlevel: 5Configuring network interfaces...done.Starting system message bus: dbus. OKStarting haveged: haveged: command socket is listening at fd 3haveged: haveged starting up
Disk /dev/mmcblk2: 3.7 GiB, 3959422976 bytes, 7733248 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical):[ 1341.922729] mmcblk2: p1 p2
512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa77eb3f0
Old situationStarting Dropbear SSH server:dropbear.Starting rpcbind daemon...done.starting statd: doneStarting atd: OKStarting internet superserver: inetd.NFS daemon support not enabled in kernelStarting system log daemon...0Mar 9 17:29:22 borax kernel: [ 0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000Mar 9 17:29:22 borax kernel: [ 0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000Mar 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 areaMar 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: OKStarting tcf-agent: OK
Device Boot Start End Sectors Size Id Type/dev/mmcblk2p1 2048 264191 262144 128M c W95 FAT32 (LBA)/dev/mmcblk2p2 264192 4458495 4194304 2G 83 LinuxPetaLinux 2021.2 borax ttyPS0
>>> Created a new DOS disklabel with disk identifier 0xcce0c36f.
Created a new partition 1 of type 'W95 FAT32 (LBA)' and of size 128 MiB.
/dev/mmcblk2p2: Created a new partition 2 of type 'Linux' and of size 2 GiB.
/dev/mmcblk2p3:
New situation:
Device root@borax:~# uname -aLinux borax 5.10.0-xilinx-v2021.2 #1 SMP PREEMPT Tue Oct 12 09:30:57 UTC 2021 armv7l armv7l armv7l GNU/Linuxroot@borax:~# cat /etc/build-----------------------Build Configuration: |-----------------------DISTRO = petalinuxDISTRO_VERSION = 2021.2MACHINE = zynq-genericIMAGE_BASENAME = dave-image-devel-----------------------Layer Revisions: |-----------------------meta = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-poky = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-perl Boot = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-python = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-filesystems Start = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-gnome = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-multimedia = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-networking = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-webserver = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xfce = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-initramfs = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-oe = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-clang = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-chromium End Sectors = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-qt5 = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-microblaze = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xilinx-bsp = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xilinx-pynq Size Id Type= HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xilinx-contrib = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xilinx-standalone = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xilinx-tools = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-petalinux = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-virtualization = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-openamp = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-jupyter = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-vitis-ai = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-python2 = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-som = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-security = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-tpm = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-user = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-dave = HEAD:e944801f104f86191cd086d0cea8f3df88dda061workspace = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedroot@borax:~# cat /devetc/mmcblk2p1 16384 278527 262144 128M c W95 FAT32 os-releaseID=petalinuxNAME="PetaLinux"VERSION="2021.2 (gatesgarth)"VERSION_ID=2021.2PRETTY_NAME="PetaLinux 2021.2 (LBAgatesgarth)"BUILD_VERSION="desk-xz7-l-1.0.1"/dev/mmcblk2p2 278528 4472831 4194304 2G 83 Linuxroot@borax:~# shutdown -h now
The partition table has been altered.Calling ioctlBroadcast message from root@borax (ttyPS0) to re-read partition table.Syncing disks.formatting bootmkfs.fat 3.0.28 (2015-05-16)mkfs.fatFri Mar 9 17:29: warning - lowercase labels might not work properly with DOS or Windowsformatting rfsmke2fs 1.43-WIP (18-May-201535 2018)Discarding device blocks: doneCreating filesystem with 524288 4k blocks and 131072 inodesFilesystem UUID: 9a685543-1af2-4e39-83f3-b8a32248c021Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912
Allocating group tables: doneWriting inode tables: doneThe system is going down for system halt NOW!Creating journal (16384 blocks)INIT: doneSending processes configured via /etc/inittab the TERM signalWriting superblocks and filesystem accounting informationStopping haveged: done
root@boraStopping Dropbear SSH server:~# stopped /usr/sbin/dropbear (pid 217)dropbear.Stopping atd: OKStopping system message bus: dbus.Stopping internet superserver: inetd.stopping mountd: donestopping nfsd: doneStopping system log daemon...0Stopping tcf-agent: OKStopping internet superserver: xinetd.stopping statd: doneStopping crond: OKStopping rpcbind daemon...done.Deconfiguring network interfaces... done.Sending all processes the TERM signal...logoutSending all processes the KILL signal...Unmounting remote filesystems...Deactivating swap...Unmounting local filesystems...[ 24.097545] reboot: System halted
</pre>
* create a mount point and mount === Program the first partition <pre>root@bora:~# mkdir -p /mnt/sdroot@bora:~# mount /dev/mmcblk0p1 /mnt/sd</pre>NAND flash ===
* copy boot image filesThis chapter is compatible with [[BORA Lite SOM | BORA Lite]] SOM.
First of all, create a bootable microSD card as described [[DESK-XZ7-L/Development/Creating_and_building_the_Petalinux_project| here]] with <pre class="workstation-terminal"code>root@bora:~# cp imagesconfig_boralite_nand_usd</linuxcode> configuration file, and install <code>wic</BOOTcode> binary on microSD.BIN Then create artifact to install on NAND flash with <code>config_boralite_nand</mntcode> configuration file, as described [[DESK-XZ7-L/sdroot@bora:~# cp imagesDevelopment/linuxCreating_and_building_the_Petalinux_project| here]], and save the <code>BOOT.BIN</code> and <code>dave-image-devel-zynq-generic.ub /mnt/sdroot@bora:~# cp images/linux/boottar.scr /mnt/sdgz</precode>artifact into the first partition of microSD.
==== Program root file system into SD card ====NowIn 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 extract the root file system into that directorydownload binaries from [https://mirror.dave.eu/desk-xz-l/ mirror] and install on microSD.
* mount Then, install the <code>ext3/ext4</code> volume in following files into the temporary directorymicroSD first partition:
* <pre class="workstation-terminal"code>BOOT.BIN</code>. This binary come from to <code>config_boralite_nand_usd</code>configuration file, and need to install on microSDroot@bora:~# mount * <code>boot.scr</devcode>* <code>desk-xz7-l-1.0.1_boralite_nand_BOOT.BIN.EXTENDED</mmcblk0p2 code>. This binary come from to <code>config_boralite_nand</mnt/sdcode> configuration file, and has to be installed on NAND flash[ 1810* <code>desk-xz7-l-1.899327] EXT40.1_boralite_nand_dave-image-devel-zynq-fs (mmcblk2p2): mounted filesystem with ordered data modegeneric. Opts: (null)root@bora:~#tar.gz</code>* <code>image.ub</precode>
<pre class="workstation-terminal">root@bora:~# tar xf images/linux/rootfs.tar.gz -C /mnt/sd</pre>=== Programming NAND flash from microSD ====
* finally, you need to cleanly umount and safely reboot or turn off the system.delete all partition on NAND flash memory
<pre class="workstation-terminal">
root@boraboralite:~# umount for i in $(seq 0 2); do flash_erase /mntdev/sdmtd$i 0 0; donerootErasing 128 Kibyte @bora:~# reboot15e0000 -- 100 % completeErasing 128 Kibyte @ 20000 -- 100 % completeErasing 128 Kibyte @ 1bde0000 -- 100 % complete
</pre>
Reboot the system and configure U-Boot to apply the new configuration* install <code>BOOT.BIN</code> on NAND flash memory
<pre class="workstation-terminal">
=> setenv bootcmd run mmcbootroot@boralite:~# nandwrite -p /dev/mtd0 /boot/desk-xz7-l-1.0.1_boralite_nand_BOOT.BIN.EXTENDED=> saveenvWriting data to block 0 at offset 0x0Writing data to block 1 at offset 0x20000...Writing data to block 168 at offset 0x1500000Writing data to block 169 at offset 0x1520000
</pre>
=== Program boot images into internal storage ======= Program the NOR flash =========u* install <code>dave-image-Boot===== Update to the latest udevel-boot version allows usage of uzynq-boot environment variables availablegeneric.tar.gz</code> rootfs on NAND flash memory
<pre class="workstation-terminal">
=> run loadroot@boralite:~# ubiformat /dev/mtd2ubiformat: mtd2 (nand), size 467664896 bytes (446.0 MiB), 3568 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 byteslibscan: scanning eraseblock 3567 -- 100 % completeubiformat: 3568 eraseblocks are supposedly emptyubiformat: formatting eraseblock 3567 -- 100 % completeroot@boralite:~# ubiattach -m 2UBI 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 -mSet volume size to 439197696Volume ID 0, size 3404 LEBs (439197696 bytes, 418.8 MiB), LEB size 129024 bytes (126.0 KiB), dynamic, name "rootfs", alignment 1root@boralite:~# mkdir -p /mnt/nandroot@boralite:~# mount -t ubifs ubi0_0 /mnt/nandroot@boralite:~# tar -xzvf /boot/dave-image-devel-zynq-generic.tar.gz -C /mnt/nand/....root@boralite:~# umount /mnt/nand/root@boralite:~# ubidetach -m 2
</pre>
Once change boot mode and restarted, the complete boot log can be like this one: <pre class=====fit image ====="mw-collapsible mw-collapsed">We assume that the following environment variables are present in uU-Boot 2021.01-desk-xz7-l-1.0.1 (Jan 12 2024 -boot10:44:15 +0000)
<pre>CPU: Zynq 7z020loadk=tftpboot ${loadaddr} ${serverip}Silicon:${bootfile}v3.1loadfdt=tftpboot ${fdtaddr} ${serverip}Model:${fdtfile}Boraspi_updatek=sf erase 200000 800000; sf write ${loadaddr} 200000 ${filesize}DRAM: ECC disabled 1 GiBspi_updatefdt=sf erase 180000 80000; sf write ${fdtaddr} 180000 ${filesize}Flash: 0 Bytesspi_loadk=sf read ${loadaddr} 200000 800000NAND: 1024 MiBspi_loadfdt=sf read ${fdtaddr} 180000 80000MMC: mmc@e0100000: 0spi_nand=sf probe; run spi_loadk spi_loadfdt nandargs addcons addmisc; if run configid_fixupfdt; then bootm ${loadaddr} Loading Environment from NAND... *** Warning - ${fdtaddr}; fi</pre>bad CRC, using default environment
* Update the <code>bootfile</code> and <code>fdtfile</code> environment variables to fit the filename as found inside the TFTP server.In: serial@e0001000* Program kernel and device tree on NOR flash with the following UOut: serial@e0001000Err: serial@e0001000SOM ConfigID#: 77777777SOM UniqueID#: 55555555:66666666CB ConfigID#: ffffffffCB UniqueID#: ffffffff:ffffffffNet:ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr 7, interface rgmii-Boot commandid
<pre class="boardWarning: ethernet@e000b000 (eth0) using random MAC address -terminal">f6:c3:de:d6:d6:e6sf probe; run loadk spi_updatek loadfdt spi_updatefdteth0: ethernet@e000b000</pre>Hit ENTER within 2 seconds to stop autoboot
E.g.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 0xfc0000, size 0x40000=> sf probe; run loadk spi_updatek loadfdt spi_updatefdt 262144 bytes read: OK</pre>NAND: Trying to boot script at 3000000## Executing script at 03000000Trying to load boot images from nand
Reboot the system and configure U-Boot to apply the new configurationDevice 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 classNAND 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 ="workstation4.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-terminal">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 => setenv bootcmd run spi_nand20.2 KiB=> saveenv Architecture: ARM Hash algo: sha256 Hash value: 42e997d9430c0dc091dfb37df69c2148e40ad7fdd75ec4f49501bc5d4bc48f53 Verifying Hash Integrity ... sha256+ OK Booting using the fdt blob at 0x1049f37c Loading Kernel Image</pre> Loading Device Tree to 2fff7000, end 2ffff0af ... OK
==== Program root file system into NAND flash ====* Boot the system via SD or NFS as described in the e [[(<KIT>)#Quick_start_guide|Quick start 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 Starting 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[ 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=Please note that 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 partition index may change depending 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 flash -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 availabilitylist:[ 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, flash 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), umin./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 processINIT: version 2.97 bootingStarting 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.9bootlogd: /dev/ttyPS0Configuring packages on first boot environment variables or kernel device driver load order. Always ... (This may take care of looking inside <code>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 ... /procetc/mtd<rcS.d/code> to match your specific layout}}S99run-postinstsINIT: Entering runlevel: 5Configuring network interfaces... done.Starting system message bus: dbus.Starting haveged: haveged: command socket is listening at fd 3haveged: haveged starting up
* Format and initialize ''nand-ubi'' partition, which in our case is <code>mtd7</code>, using [[Memory Tecnology Device (MTD)#UBI|UBI]] with:
<pre>
ubiformat /dev/mtd0
ubiattach -m 0
ubimkvol /dev/ubi0 -N rootfs -m
</pre>
EStarting Dropbear SSH server: Waiting for kernel randomness to be initialised.g..haveged: haveged: ver: 1.9.13; arch: generic; vend: ; build: (gcc 10.2.0 CTV); collect: 128K
<pre class="workstation-terminal">root@borahaveged:~# ubiformat /dev/mtd0</pre>* Now mount the UBI volume using [[Memory Tecnology Device haveged: cpu: (VC); data: 16K (D); inst: 16K (MTDD)#UBIFS|UBIFS]] in a temporary directory<pre>mkdir -p ; idx: 12/mnt/nandmount -t ubifs ubi0_0 /mnt/nand<40; sz: 15006/pre>57790
E.ghaveged: haveged: tot tests(BA8): A:1/1 B:1/1 continuous tests(B): last entropy estimate 7.:99862
<pre class="workstation-terminal">root@borahaveged:~# mkdir -p /mnt/nandroot@borahaveged:~# 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>fills: 0, generated: 0
* finallyGenerating 2048 bit rsa key, you need to cleanly umount and detach 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@boraliteFingerprint: sha1!! 0e:82:1e:52:c9:20:b1:64:1d:17:b0:a8:a8:e5:93:44:3f:ec:6c:38dropbear.Starting rpcbind daemon...done.starting statd: doneStarting atd: OKStarting internet superserver: inetd.NFS daemon support not enabled in kernelStarting system log daemon...0Mar 9 22:44:12 boralite kernel: [ 0.000000] L2C: platform modifies aux control register: 0x72360000 -> 0x72760000Mar 9 22:44:12 boralite kernel: [ 0.000000] L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000Mar 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 MTD partitionNAND chipMar 9 22:44:12 boralite kernel: [ 5.281753] urandom_read: 4 callbacks suppressedStarting internet superserver: xinetd.Starting crond: OKStarting tcf-agent: OK
<pre>umount /mnt/nand/ubidetach -m 0</pre>PetaLinux 2021.2 boralite ttyPS0
E.g.
<pre class="workstation-terminal">root@boraboralite:~# umount cat /mnt/nandetc/build-----------------------Build Configuration: |-----------------------DISTRO = petalinux[ 2446DISTRO_VERSION = 2021.743091] UBIFS2MACHINE = zynq-genericIMAGE_BASENAME = dave-image-devel-----------------------Layer Revisions: un |-mount UBI device ----------------------meta = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-poky = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-perl = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-python = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-filesystems = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-gnome = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-multimedia = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-networking = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-webserver = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xfce = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-initramfs = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-oe = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-clang = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-chromium = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-qt5 = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-microblaze = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xilinx-bsp = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xilinx-pynq = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xilinx-contrib = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xilinx-standalone = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-xilinx-tools = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-petalinux = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-virtualization = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-openamp = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-jupyter = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-vitis-ai = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-python2 = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-som = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-security = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-tpm = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-user = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedmeta-dave = HEAD:e944801f104f86191cd086d0cea8f3df88dda061workspace = HEAD:829c44d28c8c46b51744c14a92107ec3c5790934 -- modifiedroot@boralite:~# uname -aLinux boralite 5.10.0, volume 0[ 2446-xilinx-v2021.749670] UBIFS2 #1 SMP PREEMPT Tue Oct 12 09:30: background thread "ubifs_bgt0_0" stops57 UTC 2021 armv7l armv7l armv7l GNU/Linuxroot@boraboralite:~# ubidetach cat /etc/os-m releaseID=petalinuxNAME="PetaLinux"VERSION="2021.2 (gatesgarth)"VERSION_ID=2021.2[ 2450PRETTY_NAME="PetaLinux 2021.738153] UBI: detaching mtd7 from ubi02 (gatesgarth)"[ 2450BUILD_VERSION="desk-xz7-l-1.759527] UBI0.1"root@boralite: mtd7 is detached from ubi0</pre>~# 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 system is going down for system halt NOW!INIT: Sending processes configured via /etc/inittab the following variable, which must contain the same MTD partition number used aboveTERM signalroot@boralite:~# Stopping haveged:
<pre>Stopping Dropbear SSH server: stopped /usr/sbin/dropbear (pid 275)dropbear.Stopping atd: OKStopping system message bus: dbus.nand_args=setenv bootargs root=ubi0Stopping internet superserver:rootfs rootfstype=ubifs rw ubiinetd.stopping mountd: donestopping nfsd: doneStopping system log daemon...mtd=0Stopping tcf-agent: OKStopping internet superserver: xinetd.stopping statd: doneStopping crond: OKStopping rpcbind daemon...done.Deconfiguring network interfaces... done.Sending all processes the TERM signal...logoutSending all processes the KILL signal...Unmounting remote filesystems...Deactivating swap...Unmounting local filesystems...[ 173.736463] reboot: System halted
</pre>
----<section end=Body/>
[[Category:BORA]] [[Category:BORA Xpress]][[Category:BORA Lite]]
8,256
edits