AnsweredAssumed Answered

Modifying HDL reference design & Linux

Question asked by jeffkt2 on May 20, 2015
Latest reply on May 21, 2015 by jeffkt2

Hi,

 

I was able to follow the instructions here to build my own Linux kernel and boot files using the reference design:

 

http://wiki.analog.com/resources/eval/user-guides/ad-fmcomms1-ebz/software/linux/zynq

 

At this point, I want to modify the reference design to try some custom Linux drivers. I modified the design by just adding an AXI-GPIO IP block and connecting it correctly. I can interface this design just well by modifying the no-os drivers. However, when I try to boot Linux with this design, I get the below error message and linux cannot boot:

 

In summary the things I've changed:

 

1. Added an AXI-GPIO core to the reference HDL design

2. Re-run synth and implementation and build a new BOOT.BIN with the new .bit, fsbl.elf and old u-boot.elf

3. I have not changed anything in the uEnv.txt, kernel uImage, device tree blob, or root file system

 

It seems like it can no longer open the root file system? mmcblk0p2 is normally the mounted rfs partition of the SD card right?

 

Thanks for any help!

 

VFS: Cannot open root device "mmcblk0p2" or unknown-block(0,0): error -6

Please append a correct "root=" boot option; here are the available partitions:

mmc0: new high speed SDHC card at address e624

mmcblk0: mmc0:e624 SU08G 7.40 GiB

mmcblk0: p1 p2

1f00            1024 mtdblock0  (driver?)

1f01            5120 mtdblock1  (driver?)

1f02             128 mtdblock2  (driver?)

1f03            6016 mtdblock3  (driver?)

1f04            4096 mtdblock4  (driver?)

b300         7761920 mmcblk0  driver: mmcblk

  b301           40960 mmcblk0p1 000be225-01

  b302         7716864 mmcblk0p2 000be225-02

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

CPU0: stopping

CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.19.0-xilinx-13806-g48b80d4 #2

Hardware name: Xilinx Zynq Platform

[<40014954>] (unwind_backtrace) from [<40010e38>] (show_stack+0x10/0x14)

[<40010e38>] (show_stack) from [<40472274>] (dump_stack+0x90/0xdc)

[<40472274>] (dump_stack) from [<400132f4>] (ipi_cpu_stop+0x3c/0x6c)

[<400132f4>] (ipi_cpu_stop) from [<40013900>] (handle_IPI+0x64/0x84)

[<40013900>] (handle_IPI) from [<400085cc>] (gic_handle_irq+0x54/0x5c)

[<400085cc>] (gic_handle_irq) from [<40011800>] (__irq_svc+0x40/0x74)

Exception stack(0x40677f38 to 0x40677f80)

7f20:                                                       44af6d7a 00000000

7f40: 00000018 fffffff8 448c370a 00000000 00000000 5fbd4cc8 406ad3e4 406ad3e4

7f60: 40478f30 00000000 00000008 40677f80 4005f9d8 4036afa4 00000113 ffffffff

[<40011800>] (__irq_svc) from [<4036afa4>] (cpuidle_enter_state+0x4c/0xc0)

[<4036afa4>] (cpuidle_enter_state) from [<40048db4>] (cpu_startup_entry+0x164/0x1ec)

[<40048db4>] (cpu_startup_entry) from [<40640bcc>] (start_kernel+0x334/0x394)

[<40640bcc>] (start_kernel) from [<00008074>] (0x8074)

---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Outcomes