Forum Discussion

dpeng's avatar
dpeng
Icon for New Contributor rankNew Contributor
3 months ago

Cyclone V: how to boot Linux from QSPI?

I am building a system with Buildroot and Barebox as the bootloader. I can generate a working SD card image. Now, I want to transpose this to a 64MiB NOR QSPI flash on the SoM.

I read the HPS boot guide, that describes the required SD card partition layout, but it is not very verbose about the QSPI...

I read that UBI + UBIFS is very common for NOR flash. I understand that it is well suited for the rootfs. But where should I place the pre-loader?

Could someone give more details to install Linux on a QSPI and boot from it?

6 Replies

  • tehjingy_Altera's avatar
    tehjingy_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi dpeng​ 

    Please refer to our User Guide for the Cylcone V Boot from QSPI.

    https://altera-fpga.github.io/rel-25.3/embedded-designs/cyclone-v/sx/soc/boot-examples/ug-linux-boot-cve-soc/#2-cyclone-v-soc-boot-from-qspi

    In the steps there are 4 different binaries that was created u-boot-with-spl.sfp, socfpga_cyclone5_socdk.dtb, zImage and core-image-minimal-cyclone5-rootfs.jffs2. These files are required to boot into the linux environment.

    These binaries are flashed into the QSPI Image separately into the address shown in table below:

     

     

     

     

     

    Regards
    tehjingy

  • Hi @dpeng,,


    Greetings, as we do not receive any further clarification/updates on the matter, hence would assume challenge are overcome.

    Please login to ‘ https://supporttickets.intel.com/s/?language=en_US’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions. For new queries, please feel free to open a new thread and we will be right with you. Pleasure having you here.


    Best Wishes

    BB


    • dpeng's avatar
      dpeng
      Icon for New Contributor rankNew Contributor

      Hi,

      Sorry for not replying, but I was busy with some another thing.

      I did not solve this issue. My goal is to create an image with genimage, so the whole process will be automated. I'm having trouble creating the configuration file for genimage.

      Also, why is the pre-loader split in 4 chunks?

      • DinhN_Altera's avatar
        DinhN_Altera
        Icon for New Contributor rankNew Contributor

        Hi,

        The SPL has 4 different binaries(SPL, SPL device tree , U-Boot, and the U-Boot device tree ). I've never used genimage before, what does the tool look like?

        Dinh

  • Hi @dpeng,


    Good day, just following up on the previous clarification.

    By any chances did you managed to look into it?

    Hope to hear from you soon.


    Best Wishes

    BB


  • StefanG_Altera's avatar
    StefanG_Altera
    Icon for Occasional Contributor rankOccasional Contributor

    Hi,

    The preloader should be placed at the beginning (0x0) of the QSPI address space.

    The "Building Bootloader for CV and A10" guide in RocketBoards provides an example on how OS (Linux), Preloader (4 x SPL and Full U-Boot) are prepared and flashed to QSPI via quartus_hps (chapter Cyclone V SoC - Boot from QSPI).

    https://www.rocketboards.org/foswiki/Documentation/BuildingBootloaderCycloneVAndArria10#Cyclone_V_SoC_45_Boot_from_QSPI

    See "C. QSPI Binaries"

    Hope this helps.