UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 53499

PetaLinux v1.1 - Failed to boot PetaLinux from U-BOOT

Description

If I boot the PetaLinux image from flash or the network ('run netboot') after u-boot starts the kernel, nothing else happens and the board appears to be dead:

## Booting kernel from Legacy Image at 50002000 ...
   Image Name:   PetaLinux Kernel 2.6-MMU


   Image Type:   MicroBlaze Linux Kernel Image (uncompressed)
   Data Size:    9481732 Bytes =  9 MB
   Load Address: 50000000
   Entry Point:  50000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK


OK
## Transferring control to Linux (at address 50000000), 0x50000000 ramdisk 0x00000000, FDT 0x00000000...

However, I can succesfully boot the Linux kernel image.elf directly using petalinux-jtag-boot.

I am using PetaLinux v1.1.

Solution

Background

There are many possible reasons for the 'dead board' scenario, including misconfigured hardware such as clocking or reset signals, or even a misconfigured serial port interface.

However, there is a bug in the PetaLinux SDK 1.1 release which can cause this problem, relating to the initialization of CPU caches early in the kernel boot. Please try the work-around described below to see if that resolves your problem.

This issue is not present in PetaLinux SDK v1.2 and later.

Work-around

To fix this issue, edit the file:

$PETALINUX/software/linux-2.6.x/arch/microblaze/kernel/setup.c

around line 56, as follows:

        /* Add this line */
        invalidate_dcache();

        enable_dcache()

This will cause the CPU data cache to be correctly invalidated before being enabled.

Then, rebuild the kernel and system image and try booting again.

If the behavior persists (even after making this change), then the problem lies elsewhere (possibly in your EDK hardware project).

Resolution

This issue has been fixed in PetaLinux v1.2 and later releases.

AR# 53499
Date Created 12/13/2012
Last Updated 01/28/2014
Status Active
Type General Article
Devices
  • Zynq-7000
  • SoC
  • FPGA Device Families
Tools
  • PetaLinux
IP
  • Microblaze
  • Processing System 7