Forum Discussion

JMurr12's avatar
JMurr12
Icon for New Contributor rankNew Contributor
6 years ago

How do I get u-boot-with-spl.sfp to read u-boot.scr instead of extlinux.conf?

Using SoCEDS 19.1

3 Replies

  • FawazJ_Altera's avatar
    FawazJ_Altera
    Icon for Frequent Contributor rankFrequent Contributor

    Hello,

    This is the default setup for uboot.

    once you have the uboot source code, you can navigate to inculde/configs/socfpga_common.h file

    inside this file, you can see the default uboot environments. for example:

    #define CONFIG_EXTRA_ENV_SETTINGS \

    "verify=n\0" \

    "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \

    "fdtaddr=0x00000100\0" \

    "bootimage=zImage\0" \

    "bootimagesize=0x600000\0" \

    "fdtimage=socfpga.dtb\0" \

    "fdtimagesize=0x7000\0" \

    "mmcloadcmd=fatload\0" \

    "mmcloadpart=1\0" \

    "mmcroot=/dev/mmcblk0p2\0" \

    "qspiloadcs=0\0" \

    "qspibootimageaddr=0xa0000\0" \

    "qspifdtaddr=0x50000\0" \

    "qspiroot=/dev/mtdblock1\0" \

    "qspirootfstype=jffs2\0" \

    "nandbootimageaddr=0x120000\0" \

    "nandfdtaddr=0xA0000\0" \

    "nandroot=/dev/mtdblock1\0" \

    "nandrootfstype=jffs2\0" \

    "ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \

    "bootz ${loadaddr} - ${fdtaddr}\0" \

    "mmcload=mmc rescan;" \

    "${mmcloadcmd} mmc 0:${mmcloadpart} ${loadaddr} ${bootimage};" \

    "${mmcloadcmd} mmc 0:${mmcloadpart} ${fdtaddr} ${fdtimage}\0" \

    "mmcboot=setenv bootargs " CONFIG_BOOTARGS \

    " root=${mmcroot} rw rootwait;" \

    "bootz ${loadaddr} - ${fdtaddr}\0" \

    "netboot=dhcp ${bootimage} ; " \

    "tftp ${fdtaddr} ${fdtimage} ; run ramboot\0" \

    "qspiload=sf probe ${qspiloadcs};" \

    "sf read ${loadaddr} ${qspibootimageaddr} ${bootimagesize};" \

    "sf read ${fdtaddr} ${qspifdtaddr} ${fdtimagesize};\0" \

    "qspiboot=setenv bootargs " CONFIG_BOOTARGS \

    " root=${qspiroot} rw rootfstype=${qspirootfstype};"\

    "bootz ${loadaddr} - ${fdtaddr}\0" \

    "nandload=nand read ${loadaddr} ${nandbootimageaddr} ${bootimagesize};"\

    "nand read ${fdtaddr} ${nandfdtaddr} ${fdtimagesize}\0" \

    "nandboot=setenv bootargs " CONFIG_BOOTARGS \

    " root=${nandroot} rw rootfstype=${nandrootfstype};"\

    "bootz ${loadaddr} - ${fdtaddr}\0" \

    "fpga=0\0" \

    "fpgadata=0x2000000\0" \

    "fpgadatasize=0x700000\0" \

    CONFIG_KSZ9021_CLK_SKEW_ENV "=" \

    __stringify(CONFIG_KSZ9021_CLK_SKEW_VAL) "\0" \

    CONFIG_KSZ9021_DATA_SKEW_ENV "=" \

    __stringify(CONFIG_KSZ9021_DATA_SKEW_VAL) "\0" \

    "scriptfile=u-boot.scr\0" \

    "callscript=if fatload mmc 0:1 $fpgadata $scriptfile;" \

    "then source $fpgadata; " \

    the above snapshot of code was taken from the socfpga_common.h, and this line show the default script name:

    "scriptfile=u-boot.scr

    if you need to change any environment setup from the default one, you need to modify this file, then compile uboot.

    in case you need to read from .conf file, you can remove the .scr file and the uboot will read the .conf file automatically.

    Hope this might help.

    thanks.

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

      Hi,

      Thanks.

      My version of socfpga_common.h was Copyright 2012 and CONFIG_EXTRA_ENV_SETTINGS was

      #ifndef CONFIG_EXTRA_ENV_SETTINGS

      #define CONFIG_EXTRA_ENV_SETTINGS \

      "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \

      "bootm_size=0xa000000\0" \

      "kernel_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0" \

      "fdt_addr_r=0x02000000\0" \

      "scriptaddr=0x02100000\0" \

      "pxefile_addr_r=0x02200000\0" \

      "ramdisk_addr_r=0x02300000\0" \

      "socfpga_legacy_reset_compat=1\0" \

      BOOTENV

      #endif

      I obtained this following the instructions at https://rocketboards.org/foswiki/Documentation/BuildingBootloader

      git clone https://github.com/altera-opensource/u-boot-socfpga

      when I issue this command, I get a version of socfpga_common.h copyright 2013-2015 where CONFIG_EXTRA_ENV_SETTINGS matches yours pretty closely.

      When I issue the following commands,

      cd u-boot-socfpga

      git checkout -t -b test origin/socfpga_v2019.04

      I get the Copyright 2012 version and CONFIG_EXTRA_ENV_SETTINGS as above.

      Are these the wrong instructions? Can you point me to something more accurate?

      Thanks again.