This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x single stage Linux bootloader



Hi,

I am working on beagle bone black, i want to boot my board by using single stage boot loader instead of two stages of boot loader i.e MLO, u-boot.img,   How can i design that single stage boot loader which can load the kernel


Thanks

Venkatesh

  • I will ask the software team to comment.
  • Hi,

    You can use the falcon mode in u-boot. This way your MLO will load the kernel, skipping the u-boot stage:
    www.denx.de/.../2013-ELCE-U-Boot-Falcon-Boot.pdf

    Best Regards,
    Yordan
  • You can also refer to doc/README.falcon file for instructions how to implement this in your spl.

    Best Regards,
    Yordan
  • Thank you Yordan,

    Do i need to modify u-boot source code to do this way.

    Thanks
    Venkatesh
  • Yes, you should modify the configuration header. See doc/README.falcon.

    Best Regards,
    Yordan
  • Hi Yordan,
    I have modified the configuration header, compiled and started loading, it booted and stops in U-boot prompt, here i have used spl export command but not going futher, here the command i have used,
    U-boot: spl export am335x-boneblack.dtb 0x82000000 0x81000000 0x88000000
    is it correct way of using spl export command or not, if not please replay with that command.
    And one more questions is, as i asked i want to boot my Beagle Bone Black with single stage boot loader, but in this method, i am loading MLO, u-boot.img then only the board is started booting, if load only MLO, or u-boot-spl, its throwing errors, if i am not wrong only MLO should load the kernel, in single stage boot loader. So how falcon boot comes under single stage boot loader, can you clarify my doubt.

    Regards,
    Venkatesh
  • Hello Venkatesh,

    Please, also refer to <u-boot-version>/board/ti/am335x/README file and try these steps:

    Falcon Mode: FAT SD cards
    =========================

    In this case the additional file is written to the filesystem. In this
    example we assume that the uImage and device tree to be used are already on
    the FAT filesystem (only the uImage MUST be for this to function
    afterwards) along with a Falcon Mode aware MLO and the FAT partition has
    already been created and marked bootable:

    U-Boot # mmc rescan
    # Load kernel and device tree into memory, perform export
    U-Boot # load mmc 1:1 ${loadaddr} uImage
    U-Boot # run findfdt
    U-Boot # load mmc 1:1 ${fdtaddr} ${fdtfile}
    U-Boot # run mmcargs
    U-Boot # spl export fdt ${loadaddr} - ${fdtaddr}

    This will print a number of lines and then end with something like:
    Using Device Tree in place at 80f80000, end 80f85928
    Using Device Tree in place at 80f80000, end 80f88928
    So then you:

    U-Boot # fatwrite mmc 1:1 0x80f80000 args 8928

    Best regards,
    Kemal