0

Following is the log message related to u-boot on Xilinx zynq platform:

[Fri Apr 04 19:57:50.990 2014] U-Boot 2013.07 (Apr 04 2014 - 19:38:00)
[Fri Apr 04 19:57:50.990 2014] 
[Fri Apr 04 19:57:50.990 2014] Memory: ECC disabled
[Fri Apr 04 19:57:50.990 2014] DRAM:  1 GiB
[Fri Apr 04 19:57:51.007 2014] MMC:   zynq_sdhci: 0
[Fri Apr 04 19:57:51.007 2014] SF: Detected N25Q128A with page size 64 KiB, total 16 MiB
[Fri Apr 04 19:57:51.038 2014] *** Warning - bad CRC, using default environment
[Fri Apr 04 19:57:51.038 2014] 
[Fri Apr 04 19:57:51.038 2014] In:    serial
[Fri Apr 04 19:57:51.038 2014] Out:   serial
[Fri Apr 04 19:57:51.038 2014] Err:   serial
[Fri Apr 04 19:57:51.038 2014] U-BOOT for Xilinx-ZC702-14.7
[Fri Apr 04 19:57:51.038 2014] 
[Fri Apr 04 19:57:51.038 2014] 
[Fri Apr 04 19:57:51.038 2014] SF: Detected N25Q128A with page size 64 KiB, total 16 MiB
[Fri Apr 04 19:57:51.354 2014] SF: 1963200 bytes @ 0x520000 Read: OK
[Fri Apr 04 19:57:51.354 2014] ## Loading kernel from FIT Image at 01000000 ...
[Fri Apr 04 19:57:51.354 2014]    Using 'conf@1' configuration
[Fri Apr 04 19:57:51.354 2014]    Trying 'kernel@1' kernel subimage
[Fri Apr 04 19:57:51.354 2014]      Description:  PetaLinux Kernel
[Fri Apr 04 19:57:51.354 2014]      Type:         Kernel Image
[Fri Apr 04 19:57:51.354 2014]      Compression:  gzip compressed
[Fri Apr 04 19:57:51.354 2014]      Data Start:   0x010000f0
[Fri Apr 04 19:57:51.354 2014]      Data Size:    1630119 Bytes = 1.6 MiB
[Fri Apr 04 19:57:51.354 2014]      Architecture: ARM
[Fri Apr 04 19:57:51.354 2014]      OS:           Linux
[Fri Apr 04 19:57:51.354 2014]      Load Address: 0x00008000
[Fri Apr 04 19:57:51.354 2014]      Entry Point:  0x00008000
[Fri Apr 04 19:57:51.354 2014]      Hash algo:    crc32
[Fri Apr 04 19:57:51.354 2014]      Hash value:   01dece90
[Fri Apr 04 19:57:51.354 2014]    Verifying Hash Integrity ... crc32+ OK

My aim is to reduce boot time. The OS and the u-boot is supposed to boot from flash. But as you can on the top MMC is being detected:

    [Fri Apr 04 19:57:50.990 2014] DRAM:  1 GiB
    [Fri Apr 04 19:57:51.007 2014] MMC:   zynq_sdhci: 0

It takes 0.17 seconds.

Is there anyway I can save this time may be by disabling MMC from u-boot?If so how do we disable MMC in u-boot. What is the general procedure?

0

The MMC is detected, that is normal. I don't think you can save any appreciable time by changing that.

If you can get a U-Boot command prompt (e.g. by hitting a key during "bootdelay" period), you can learn more about boot sequence by looking at output of commands

printenv bootcmd
printenv bootargs

Your kernel is already loading from flash. Your filesystem might be in flash, or on MMC, I don't know this platform.

It looks like your board has no U-Boot environment saved, so it is using the default environment that is set at build time. It should be possible for you to change environment variables (command setenv), then put them in persistent memory (command saveenv). Usually that is the general procedure for changing boot sequence.

0
[Fri Apr 04 19:57:50.990 2014] DRAM:  1 GiB
[Fri Apr 04 19:57:51.007 2014] MMC:   zynq_sdhci: 0

I have also fell into this trap thinking that the mmc initialisation is taking that much time. No it is not. MMC initialisation takes place later if you have enabled mmc in U-boot. This is the startup sequence , enabling debug messages in the board_f.c and board_r.c file will clear this misconception.

The most of the time taken here is spent on copying u-boot from flash to RAM in my case.

  • @dr01 it looks a reasonable answer - pointing out that this (apparently) isn't the place to try and shave time off the boot sequence. – roaima Jun 23 '16 at 15:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.