HCL:ZynqMP

Jump to: navigation, search

Initial work was done a long time ago on Ultra96v1 (board is unfortunately not available any more and v2 is not supported). Please take a look at the manual for Ultra96v1 https://en.opensuse.org/HCL:Ultra96.

The image is tested on Xilinx ZynqMP K26 board with default firmware where there is just need to burn image to SD card and plug it (The same image has been tested on Xilinx ZynqMP zcu102 and zcu104 boards with small changes in DTs by removing pinctrl description and setting up disabled status for vcu and pcie. Pinctrl driver will be available in 5.13-rc1 Linux kernel).

Bootlog

Xilinx Zynq MP First Stage Boot Loader 
Release 2020.2   Feb 23 2021  -  06:55:50
NOTICE:  ATF running on XCK26/silicon v4/RTL5.1 at 0xfffea000
NOTICE:  BL31: v2.2(release):xilinx-v2020.2-1-g6ea45ca9b
NOTICE:  BL31: Built : 06:49:19, Feb 23 2021


U-Boot 2020.01 (Feb 23 2021 - 06:52:37 +0000)

Model: ZynqMP K26 RevB
Board: Xilinx ZynqMP
DRAM:  4 GiB
PMUFW:	v1.1
Xilinx I2C FRU format at nvmem0:
 Manufacturer Name: XILINX
 Product Name: SM-K26-XCL2GC-ED
 Serial No: 50572B111F2H
 Part Number: 5057-02ED
 File ID: 0x0
 Revision Number: B
Xilinx I2C FRU format at nvmem1:
 Manufacturer Name: XILINX
 Product Name: SCK-KV-G        
 Serial No: 50582B112M07
 Part Number: 5058-02  
 File ID: 0x0
 Revision Number: B
EL Level:	EL2
Chip ID:	xck26
NAND:  0 MiB
MMC:   mmc@ff170000: 1
In:    serial@ff010000
Out:   serial@ff010000
Err:   serial@ff010000
Bootmode: QSPI_MODE
Reset reason:	SOFT 
Net:   No ethernet found.
Hit any key to stop autoboot:  0 


  *** U-Boot Boot Menu ***

     Auto-Select - 1.CC boot 2.SOM boot
     Carrier Card (CC) boot device
     System on Module (SOM) boot device
     U-Boot console


  Press UP/DOWN to move, ENTER to select



switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found EFI removable media binary efi/boot/bootaa64.efi
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk mmc@ff170000.blk...
** Unrecognized filesystem type **
** Unrecognized filesystem type **
Found 4 disks
BootOrder not defined
EFI boot manager: Cannot load any image
1439600 bytes read in 182 ms (7.5 MiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Welcome to GRUB!


Please press 't' to show the boot menu on this console
error: ../../grub-core/video/video.c:761:no suitable video mode found.

                               GNU GRUB  version 2.04

 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚*openSUSE Tumbleweed                                                             β”‚ 
 β”‚ Advanced options for openSUSE Tumbleweed                                        β”‚
 β”‚ Start bootloader from a read-only snapshot                                      β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚
 β”‚                                                                                 β”‚ 
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

      Use the β–² and β–Ό keys to select which entry is highlighted.               
      Press enter to boot the selected OS, `e' to edit the commands before     
      booting or `c' for a command-line. ESC to return previous menu.          
   The highlighted entry will be executed automatically in 0s.                      

                                Booting `openSUSE Tumbleweed'

Loading Linux 5.12.0-2-default ...
Loading initial ramdisk ...
EFI stub: Booting Linux Kernel...
EFI stub: EFI_RNG_PROTOCOL unavailable
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...

Welcome to openSUSE Tumbleweed dracut-053+suse.93.g039ac07d-1.1 (Initramfs)!

[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Reached target Local File Systems.
[  OK  ] Reached target Paths.
[  OK  ] Reached target Slices.
[  OK  ] Reached target Swap.
[  OK  ] Reached target Timers.
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket.
[  OK  ] Listening on udev Control Socket.
[  OK  ] Listening on udev Kernel Socket.
[  OK  ] Reached target Sockets.
         Starting Create list of st…odes for the current kernel...
         Starting Journal Service...
         Starting Load Kernel Modules...
         Starting Setup Virtual Console...
[  OK  ] Finished Create list of st… nodes for the current kernel.
[  OK  ] Started Journal Service.
[  OK  ] Finished Load Kernel Modules.
         Starting Apply Kernel Variables...
         Starting Create Static Device Nodes in /dev...
         Starting Create Volatile Files and Directories...
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Finished Setup Virtual Console.
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Finished Create Volatile Files and Directories.
         Starting dracut ask for additional cmdline parameters...
[  OK  ] Finished dracut ask for additional cmdline parameters.
         Starting dracut cmdline hook...
[  OK  ] Finished dracut cmdline hook.
         Starting dracut pre-udev hook...
[  OK  ] Finished dracut pre-udev hook.
         Starting Rule-based Manage…for Device Events and Files...
[  OK  ] Started Rule-based Manager for Device Events and Files.
         Starting dracut pre-trigger hook...
[  OK  ] Finished dracut pre-trigger hook.
         Starting Coldplug All udev Devices...
[  OK  ] Finished Coldplug All udev Devices.
[  OK  ] Reached target System Initialization.
[  OK  ] Reached target Basic System.
         Starting dracut initqueue hook...
[  OK  ] Found device /dev/disk/by-…f-09e7-4d42-9464-2e1403efe4d4.
[  OK  ] Finished dracut initqueue hook.
[  OK  ] Reached target Initrd Root Device.
[  OK  ] Reached target Remote File Systems (Pre).
[  OK  ] Reached target Remote Encrypted Volumes.
[  OK  ] Reached target Remote File Systems.
         Starting dracut pre-mount hook...
[   14.484457] dracut-pre-mount[417]: Created symlink /etc/systemd/system/systemd-fsck-root.service β†’ /dev/null.
[   16.464513] dracut-pre-mount[732]: Removed /etc/systemd/system/systemd-fsck-root.service.
[  OK  ] Finished dracut pre-mount hook.
         Starting File System Check…09e7-4d42-9464-2e1403efe4d4...
[  OK  ] Finished File System Check…f-09e7-4d42-9464-2e1403efe4d4.
         Mounting /sysroot...
[  OK  ] Mounted /sysroot.
[  OK  ] Reached target Initrd Root File System.
         Starting Reload Configuration from the Real Root...
[  OK  ] Finished Reload Configuration from the Real Root.
[  OK  ] Reached target Initrd File Systems.
[  OK  ] Reached target Initrd Default Target.
         Starting dracut pre-pivot and cleanup hook...
[  OK  ] Finished dracut pre-pivot and cleanup hook.
         Starting Cleaning Up and Shutting Down Daemons...
[  OK  ] Stopped target Remote Encrypted Volumes.
[  OK  ] Stopped target Timers.
[  OK  ] Stopped dracut pre-pivot and cleanup hook.
[  OK  ] Stopped target Initrd Default Target.
[  OK  ] Stopped target Basic System.
[  OK  ] Stopped target Initrd Root Device.
[  OK  ] Stopped target Paths.
[  OK  ] Stopped target Remote File Systems.
[  OK  ] Stopped target Remote File Systems (Pre).
[  OK  ] Stopped target Slices.
[  OK  ] Stopped target Sockets.
[  OK  ] Stopped target System Initialization.
[  OK  ] Stopped target Swap.
[  OK  ] Stopped dracut pre-mount hook.
[  OK  ] Stopped target Local Encrypted Volumes.
[  OK  ] Stopped Dispatch Password …ts to Console Directory Watch.
[  OK  ] Stopped dracut initqueue hook.
[  OK  ] Stopped Apply Kernel Variables.
[  OK  ] Stopped Load Kernel Modules.
[  OK  ] Stopped Create Volatile Files and Directories.
[  OK  ] Stopped target Local File Systems.
[  OK  ] Stopped Coldplug All udev Devices.
[  OK  ] Stopped dracut pre-trigger hook.
         Stopping Rule-based Manage…for Device Events and Files...
[  OK  ] Stopped Rule-based Manager for Device Events and Files.
[  OK  ] Closed udev Control Socket.
[  OK  ] Closed udev Kernel Socket.
[  OK  ] Stopped dracut pre-udev hook.
[  OK  ] Stopped dracut cmdline hook.
[  OK  ] Stopped dracut ask for additional cmdline parameters.
         Starting Cleanup udev Database...
[  OK  ] Stopped Create Static Device Nodes in /dev.
[  OK  ] Stopped Create list of sta… nodes for the current kernel.
[  OK  ] Stopped Setup Virtual Console.
[  OK  ] Finished Cleaning Up and Shutting Down Daemons.
[  OK  ] Finished Cleanup udev Database.
[  OK  ] Reached target Switch Root.
         Starting Switch Root...

Welcome to openSUSE Tumbleweed!

[  OK  ] Stopped Switch Root.
[  OK  ] Created slice system-getty.slice.
[  OK  ] Created slice system-modprobe.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[  OK  ] Set up automount Arbitrary…s File System Automount Point.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Stopped target Switch Root.
[  OK  ] Stopped target Initrd File Systems.
[  OK  ] Stopped target Initrd Root File System.
[  OK  ] Reached target Remote File Systems.
[  OK  ] Reached target Slices.
[  OK  ] Reached target System Time Set.
[  OK  ] Listening on Device-mapper event daemon FIFOs.
[  OK  ] Listening on LVM2 poll daemon socket.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on udev Control Socket.
[  OK  ] Listening on udev Kernel Socket.
         Activating swap /dev/disk/…08bd-48eb-ac93-16da23241f49...
         Mounting Huge Pages File System...
         Mounting POSIX Message Queue File System...
         Mounting Kernel Debug File System...
         Mounting Kernel Trace File System...
         Starting Create list of st…odes for the current kernel...
         Starting Monitoring of LVM…meventd or progress polling...
         Starting Load Kernel Module configfs...
         Starting Load Kernel Module drm...
         Starting Load Kernel Module fuse...
[  OK  ] Stopped Journal Service.
         Starting Journal Service...
         Starting Load Kernel Modules...
         Starting Remount Root and Kernel File Systems...
         Starting Coldplug All udev Devices...
[  OK  ] Activated swap /dev/disk/b…9-08bd-48eb-ac93-16da23241f49.
[  OK  ] Mounted Huge Pages File System.
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Started Journal Service.
[  OK  ] Mounted Kernel Trace File System.
[  OK  ] Finished Create list of st… nodes for the current kernel.
[  OK  ] Finished Monitoring of LVM… dmeventd or progress polling.
[  OK  ] Finished Load Kernel Module configfs.
[  OK  ] Finished Load Kernel Module drm.
[  OK  ] Finished Load Kernel Module fuse.
[  OK  ] Finished Load Kernel Modules.
[  OK  ] Finished Remount Root and Kernel File Systems.
[  OK  ] Reached target Swap.
         Mounting FUSE Control File System...
         Mounting Kernel Configuration File System...
         Starting Apply Kernel Variables...
         Starting Create Static Device Nodes in /dev...
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Finished Coldplug All udev Devices.
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /.snapshots...
         Mounting /boot/efi...
         Mounting /boot/grub2/arm64-efi...
         Mounting /home...
         Mounting /opt...
         Mounting /root...
         Mounting /srv...
         Mounting /tmp...
         Mounting /usr/local...
         Mounting /var...
         Starting Wait for udev To …plete Device Initialization...
         Starting Rule-based Manage…for Device Events and Files...
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Mounted /.snapshots.
[  OK  ] Mounted /boot/efi.
[  OK  ] Mounted /boot/grub2/arm64-efi.
[  OK  ] Mounted /home.
[  OK  ] Mounted /opt.
[  OK  ] Mounted /root.
[  OK  ] Mounted /srv.
[  OK  ] Mounted /tmp.
[  OK  ] Started Rule-based Manager for Device Events and Files.
[  OK  ] Mounted /usr/local.
[  OK  ] Mounted /var.
[  OK  ] Reached target Local File Systems.
         Starting Restore /run/initramfs on shutdown...
         Starting Flush Journal to Persistent Storage...
         Starting Load/Save Random Seed...
[  OK  ] Finished Restore /run/initramfs on shutdown.
         Starting Load Kernel Module configfs...
[  OK  ] Finished Load Kernel Module configfs.
[  OK  ] Finished Flush Journal to Persistent Storage.
         Starting Create Volatile Files and Directories...
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Finished Update UTMP about System Boot/Shutdown.
[  OK  ] Finished Wait for udev To Complete Device Initialization.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Watch /etc/sysconfig/btrfsmaintenance.
[  OK  ] Started Watch for changes in CA certificates.
[  OK  ] Started Watch for changes in issue snippets.
[  OK  ] Started Daily Cleanup of Snapper Snapshots.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Paths.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started irqbalance daemon.
         Starting Generate issue file for login session...
         Starting Apply settings from /etc/sysconfig/keyboard...
         Starting User Login Management...
         Starting wicked AutoIPv4 supplicant service...
         Starting wicked DHCPv4 supplicant service...
         Starting wicked DHCPv6 supplicant service...
[  OK  ] Finished Apply settings from /etc/sysconfig/keyboard.
[  OK  ] Started User Login Management.
[  OK  ] Finished Generate issue file for login session.
[  OK  ] Started wicked DHCPv6 supplicant service.
[  OK  ] Started wicked AutoIPv4 supplicant service.
[  OK  ] Started wicked DHCPv4 supplicant service.
         Starting wicked network management service daemon...
[  OK  ] Started wicked network management service daemon.
[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
         Starting wicked network nanny service...
[  OK  ] Started wicked network nanny service.
         Starting wicked managed network interfaces...
[  OK  ] Finished Load/Save Random Seed.
[  OK  ] Finished wicked managed network interfaces.
[  OK  ] Reached target Network.
         Starting NTP client/server...
         Starting OpenSSH Daemon...
         Starting Permit User Sessions...
[  OK  ] Finished Permit User Sessions.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyPS0.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started NTP client/server.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Started Backup of RPM database.
[  OK  ] Started Backup of /etc/sysconfig.
[  OK  ] Started Balance block groups on a btrfs filesystem.
[  OK  ] Started Defragment file data and/or directory metadata.
[  OK  ] Started Scrub btrfs filesystem, verify block checksums.
[  OK  ] Started Discard unused blocks on a mounted filesystem.
[  OK  ] Started Check if mainboard battery is Ok.
[  OK  ] Started Discard unused blocks once a week.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Timeline of Snapper Snapshots.
[  OK  ] Reached target Timers.
[  OK  ] Started OpenSSH Daemon.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Finished Update UTMP about System Runlevel Changes.

Welcome to openSUSE Tumbleweed 20210504 - Kernel 5.12.0-2-default (ttyPS0).



localhost login: root
Password: 
Last login: Tue Mar 30 00:01:01 on ttyPS0
Have a lot of fun...
localhost:~ #