[meta-xilinx] Help with boot failure

Rich Wilson richaw at gmail.com
Mon Jun 19 10:29:50 PDT 2017


Thank you for your response, Nathan.
Top posting is supposed to be bad. So scroll way down to the bottom!
And I may have discovered a big hint, see the end of my response.

On Sun, Jun 18, 2017 at 11:54 PM, Nathan Rossi <nathan at nathanrossi.com>
wrote:

> On 19 June 2017 at 15:59, Rich Wilson <richaw at gmail.com> wrote:
> > I have tried to follow the directions in meta-xilinx to build
> > microzed-zynq7, and the results aren't booting (from micro-SD).
> > Boot results:
> > =====================================================
> > U-Boot SPL 2017.01 (Jun 17 2017 - 07:44:02)
> > mmc boot
> > Trying to boot from MMC1reading system.dtb
> > spl_load_image_fat_os: error reading image system.dtb, err - -1
> > reading u-boot.img
> > reading u-boot.img
> >
> >
> > U-Boot 2017.01 (Jun 17 2017 - 07:44:02 -0700)
> >
> > Model: Zynq MicroZED Board
> > Board: Xilinx Zynq
> > DRAM:  ECC disabled 1 GiB
> > MMC:   sdhci at e0100000: 0
> > SF: Detected s25fl128s_64k with page size 256 Bytes, erase size 64 KiB,
> > total 1B
> > *** Warning - bad CRC, using default environment
> >
> > In:    serial at e0001000
> > Out:   serial at e0001000
> > Err:   serial at e0001000
> > Model: Zynq MicroZED Board
> > Board: Xilinx Zynq
> > Net:   ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
> >
> > Warning: ethernet at e000b000 (eth0) using random MAC address -
> > 92:62:5b:ad:43:d0
> > eth0: ethernet at e000b000
> > ** Bad device size - mmc 0 **
> > Checking if uenvcmd is set ...
> > Hit any key to stop autoboot:  0
> > Copying FIT from SD to RAM...
> > ** Bad device size - mmc 0 **
>
> Your issue appears to be here, for some reason U-Boot is failing to
> access the SD card. Are you able to use the mmcinfo and fatls commands
> in U-Boot to list and or manually load the images from your SD card?
>
> If not then there might be an issue with the card or with how you have
> set up the partitions/etc.
>
> OE can generate an image with partition table/etc setup such that it
> can be directly dd'd to the disk. To enable that up just add the
> following to your local.conf:
>
> IMAGE_FSTYPES_append = " wic"
> WKS_FILES = "sdimage-bootpart.wks"
>
> Re-run your image build and the output image will be
> "core-image-minimal.wic".
>
> > Zynq>
> > ====================================================
> > Bitbake:
> > rw at linux-pbup:~/poky/build> bitbake core-image-minimal
> > Parsing recipes: 100% |##########################################| Time:
> > 0:00:33
> > Parsing of 871 .bb files complete (0 cached, 871 parsed). 1342 targets,
> 80
> > skipped, 0 masked, 0 errors.
> > NOTE: Resolving any missing task queue dependencies
> >
> > Build Configuration:
> > BB_VERSION        = "1.34.0"
> > BUILD_SYS         = "x86_64-linux"
> > NATIVELSBSTRING   = "universal-4.8"
> > TARGET_SYS        = "arm-poky-linux-gnueabi"
> > MACHINE           = "microzed-zynq7"
> > DISTRO            = "poky"
> > DISTRO_VERSION    = "2.3"
> > TUNE_FEATURES     = "arm armv7a vfp thumb neon callconvention-hard
> cortexa9"
> > TARGET_FPU        = "hard"
> > meta
> > meta-poky
> > meta-yocto-bsp    = "pyro:f01b909a266498853e6b3f10e6b39f2d95148129"
> > meta-xilinx       = "pyro:2371ecf0a0ad37cb775d4c09e89a1e70ab8f347a"
> > meta-webserver    = "pyro:5e82995148a2844c6f483ae5ddd1438d87ea9fb7"
> > ====================================================
> > Contents of boot partition (and you can see where I copied the files
> from):
> >
> > linux-pbup:/home/rw/poky/build/tmp/deploy/images/microzed-zynq7 # ls
> /mnt
> > boot.bin                                          microzed-zynq7.dtb
> > uEnv.txt
> > core-image-minimal-microzed-zynq7.cpio.gz.u-boot  u-boot.img
> uImage
> > =======================================================
> > contents of uEnv.txt, which seemed to be equivalent to the directions (or
> > do I need to replace the ${...} constructs? I don't think it's getting
> that
> > far :) )
> >
> > kernel_image=uImage
> > devicetree_image=microzed-zynq7.dtb
> > bootargs=console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait
> earlyprintk
> > loadkernel=fatload mmc 0 ${kernel_load_address} ${kernel_image}
> > loaddtb=fatload mmc 0 ${devicetree_load_address} ${devicetree_image}
> > bootkernel=run loadkernel && run loaddtb && bootm ${kernel_load_address}
> -
> > ${devicetree_
> > load_address}
> > uenvcmd=run bootkernel
> > ==============================================================
> > Potential screwup by me: When I first bitbaked, meta-xilinx was at
> > the master branch. After checking out pyro, I rebaked, but
> > it didn't do anything. I removed /build/tmp, and the bitbake
> > was pretty fast. Same result.
>
> It looks like your build is fine, and pryo/master point at the same
> commit at the moment so there should be no differences. Also no need
> to modify the generated uEnv.txt.
>
> Regards,
> Nathan
>

I added the requested lines to local.conf and bitbaked. The first time I
tried this,
it got stuck for over 10 minutes, guile do_compile IIRC, with over 99% user
CPU time. That didn't seem right, so CTRL/C and tried again. Succeeded
very quickly. Here's the evidence:

Keyboard Interrupt, closing down...


Second Keyboard Interrupt, stopping...

Execution was interrupted, returning a non-zero exit code.
NOTE: Sending SIGTERM to remaining 1 tasks
Traceback (most recent call last):
  File "/home/rw/poky/bitbake/bin/bitbake", line 48, in <module>
    cookerdata.CookerConfiguration()))
  File "/home/rw/poky/bitbake/lib/bb/main.py", line 470, in bitbake_main
    server_connection.terminate()
  File "/home/rw/poky/bitbake/lib/bb/server/process.py", line 231, in
terminate
    self.procserver.join(0.1)
  File "/usr/lib64/python3.4/multiprocessing/process.py", line 121, in join
    res = self._popen.wait(timeout)
  File "/usr/lib64/python3.4/multiprocessing/popen_fork.py", line 51, in
wait
    if not wait([self.sentinel], timeout):
  File "/usr/lib64/python3.4/multiprocessing/connection.py", line 926, in
wait
    ready = selector.select(timeout)
  File "/usr/lib64/python3.4/selectors.py", line 367, in select
    fd_event_list = self._poll.poll(timeout)
KeyboardInterrupt


And after the appropriate dd, here is the result:

U-Boot SPL 2017.01 (Jun 19 2017 - 00:20:53)
mmc boot
Trying to boot from MMC1reading system.dtb
spl_load_image_fat_os: error reading image system.dtb, err - -1
reading u-boot.img
reading u-boot.img


U-Boot 2017.01 (Jun 19 2017 - 00:20:53 -0700)

Model: Zynq MicroZED Board
Board: Xilinx Zynq
DRAM:  ECC disabled 1 GiB
MMC:   sdhci at e0100000: 0
SF: Detected s25fl128s_64k with page size 256 Bytes, erase size 64 KiB,
total 1B
*** Warning - bad CRC, using default environment

In:    serial at e0001000
Out:   serial at e0001000
Err:   serial at e0001000
Model: Zynq MicroZED Board
Board: Xilinx Zynq
Net:   ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id

Warning: ethernet at e000b000 (eth0) using random MAC address -
92:62:5b:ad:43:d0
eth0: ethernet at e000b000
** Bad device size - mmc 0 **
Checking if uenvcmd is set ...
Hit any key to stop autoboot:  0
Copying FIT from SD to RAM...
** Bad device size - mmc 0 **
Zynq> mmcinfo
Device: sdhci at e0100000
Manufacturer ID: 3
OEM: 5344
Name: SL16G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.8 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
Zynq> fatls mmc 0
    69424   boot.bin
    21929   microzed-zynq7.dtb
   465013   u-boot.img
      417   uenv.txt
  3597520   uimage

5 file(s), 0 dir(s)

Zynq>


Now an interesting experiment. I typed three commands from
 uenvcmd=fatload mmc 0 0x3000000 ${kernel_image} && fatload mmc 0 0x2A00000
${devicetree_image} && bootm 0x3000000 - 0x2A00000

and the kernel took off. But couldn't find root, no surprise.

AHA! This might be a big hint what is going on:
(after a reboot)

Zynq> fatls mmc 0
** Bad device size - mmc 0 **
Zynq> mmcinfo
Device: sdhci at e0100000
Manufacturer ID: 3
OEM: 5344
Name: SL16G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.8 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
Zynq> fatls mmc 0
    69424   boot.bin
    21929   microzed-zynq7.dtb
   465013   u-boot.img
      417   uenv.txt
  3597520   uimage

5 file(s), 0 dir(s)

Zynq>



-- 
Rich Wilson
richaw at gmail.com
425-337-7129 (land line)
425-374-4760 (Google)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20170619/aa16a9e9/attachment.html>


More information about the meta-xilinx mailing list