GuzTech / fpga-zynq

Support for Rocket Chip on Zynq FPGAs
http://bar.eecs.berkeley.edu/projects/2014-rocket_chip.html
Other
1 stars 0 forks source link

Commit 1f1416a does not boot Linux #1

Closed GuzTech closed 7 years ago

GuzTech commented 7 years ago

On 2016-12-21, we managed to build BOOT.bin, the device tree, the Linux kernel, and a ramdisk image. We can get U-Boot to start, but it does not boot the kernel. The output when starting:

U-Boot 2014.07-dirty (Dec 20 2016 - 17:20:30)

Board:  Xilinx Zynq
I2C:   ready
DRAM:  ECC disabled 256 MiB
MMC:   zynq_sdhci: 0
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
Warning: failed to set MAC address

Hit any key to stop autoboot:  0 
Device: zynq_sdhci
Manufacturer ID: 3
OEM: 5344
Name: SU08G 
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.4 GiB
Bus Width: 4-bit
reading uEnv.txt
** Unable to read file uEnv.txt **
Copying Linux from SD to RAM...
reading uImage
3386736 bytes read in 390 ms (8.3 MiB/s)
reading devicetree.dtb
7490 bytes read in 17 ms (429.7 KiB/s)
reading uramdisk.image.gz
6136848 bytes read in 674 ms (8.7 MiB/s)
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux-3.15.0-xilinx-06044-g6fd59
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3386672 Bytes = 3.2 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:   
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    6136784 Bytes = 5.9 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
   Booting using the fdt blob at 0x2a00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 0ed6b000, end 0f3453d0 ... OK
   Loading Device Tree to 0ed66000, end 0ed6ad41 ... OK

Starting kernel ...
GuzTech commented 7 years ago

AFAIK, there are a couple of things that need to be checked:

GuzTech commented 7 years ago

The problem is the device tree that is incorrect. Commit 4b7dd05 describes the fix for generating a device tree for the PYNQ. The fix has not yet been committed, because the device tree in the Zybo folder is a single file, with some different options compared to the ones generated for the PYNQ. I want to first compare and port the differences to see if it works correctly before committing.

GuzTech commented 7 years ago

The new device tree has been committed in commit 8b540e2.