Beaglebone Bootloader

Ben Gras beng at shrike-systems.com
Mon Jun 29 23:08:48 UTC 2015


I added BSP_RESET_BOARD_AT_EXIT to bsp.h. (Joel told me it's not
supposed to be there.) That causes the application to reset once it
exits. The purpose is to run the tests in qemu in an automated way, as
qemu can be told to exit once the VM resets.

That behaviour should not be bsp-default I admit.


On Tue, Jun 30, 2015 at 12:56 AM, Angelo Fraietta
<newsgroups at smartcontroller.com.au> wrote:
> Thanks for that. That clears whole thing up.
>
> On Tue, Jun 30, 2015 at 1:04 AM, Cláudio Silva <claudiodcsilva at gmail.com>
> wrote:
>>
>> Hello Angelo,
>>
>> If I use an unaltered hello world example, I get the same behaviour as you
>> in the hello world execution. There is an exit(0) in the end of the hello
>> world example that causes a reboot.If you don't want to reboot you need to
>> replace it with an infinite loop. That is why my example doesn't do it.
>>
>> Best Regards,
>> Cláudio
>>
>> On Sun, Jun 28, 2015 at 11:54 PM Angelo Fraietta
>> <newsgroups at smartcontroller.com.au> wrote:
>>>
>>> This worked and loaded successfully with tftp,
>>> Furthermore, I used the script you had to convert the RTEMS exe to a
>>> bootable image and that also worked. However, there was a difference in that
>>> in your exe, when "hello world" finished the beagle halted, however, on the
>>> exe generated on my system, the beagle rebooted at the end of the program.
>>> Also tried it with ticker and the program ran and then rebooted when the app
>>> finished. Would you be able to send me the RTEMS exe (before you convert to
>>> bootable image) of the hello program so I can see whether the rebooting is
>>> caused by the script that converts to a bootable image or whether it is in
>>> the code generation by compiler.
>>>
>>> Thanks for your help in this.
>>>
>>> On Thu, Jun 25, 2015 at 2:07 AM, Cláudio Silva <claudiodcsilva at gmail.com>
>>> wrote:
>>>>
>>>> Hi Angelo,
>>>>
>>>> Attached to this e-mail you will find an executable in .img format that
>>>> I can boot through TFTP in the BBB.
>>>> Here are the commands to boot Linux in the uboot command line if your
>>>> uEnv gets corrupted again:
>>>> https://gist.github.com/cdcs/5ebf5e6ee59746657721
>>>>
>>>> Best Regards,
>>>> Cláudio
>>>>
>>>>
>>>> On Wed, Jun 24, 2015 at 4:27 AM Angelo Fraietta
>>>> <newsgroups at smartcontroller.com.au> wrote:
>>>>>
>>>>> I got back to my defaule beagle by reflashing. However, can someone
>>>>> please email me a known working image (say hello) that can be loaded (and
>>>>> preferably tested) by tftp. I need to eliminate whether it is the executable
>>>>> generated by me or something else.
>>>>>
>>>>> Thanks
>>>>>
>>>>> On Wed, Jun 24, 2015 at 8:40 AM, Angelo Fraietta
>>>>> <newsgroups at smartcontroller.com.au> wrote:
>>>>>>
>>>>>> My image is not loading.
>>>>>>
>>>>>> U-Boot SPL 2014.04-00014-g47880f5 (Apr 22 2014 - 13:23:54)
>>>>>> reading args
>>>>>> spl_load_image_fat_os: error reading image args, err - -1
>>>>>> reading u-boot.img
>>>>>> reading u-boot.img
>>>>>>
>>>>>>
>>>>>> U-Boot 2014.04-00014-g47880f5 (Apr 22 2014 - 13:23:54)
>>>>>>
>>>>>> I2C:   ready
>>>>>> DRAM:  512 MiB
>>>>>> NAND:  0 MiB
>>>>>> MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
>>>>>> *** Warning - readenv() failed, using default environment
>>>>>>
>>>>>> Net:   <ethaddr> not set. Validating first E-fuse MAC
>>>>>> cpsw, usb_ether
>>>>>> Hit any key to stop autoboot:  0
>>>>>> gpio: pin 53 (gpio 53) value is 1
>>>>>> Card did not respond to voltage select!
>>>>>> mmc0(part 0) is current device
>>>>>> Card did not respond to voltage select!
>>>>>> gpio: pin 56 (gpio 56) value is 0
>>>>>> gpio: pin 55 (gpio 55) value is 0
>>>>>> gpio: pin 54 (gpio 54) value is 0
>>>>>> mmc1(part 0) is current device
>>>>>> gpio: pin 54 (gpio 54) value is 1
>>>>>> SD/MMC found on device 1
>>>>>> reading uEnv.txt
>>>>>> 426 bytes read in 4 ms (103.5 KiB/s)
>>>>>> gpio: pin 55 (gpio 55) value is 1
>>>>>> Loaded environment from uEnv.txt
>>>>>> Importing environment from mmc ...
>>>>>> Checking if uenvcmd is set ...
>>>>>> gpio: pin 56 (gpio 56) value is 1
>>>>>> Running uenvcmd ...
>>>>>> cpsw Waiting for PHY auto negotiation to complete. done
>>>>>> link up on port 0, speed 100, full duplex
>>>>>> Using cpsw device
>>>>>> TFTP from server 192.168.0.25; our IP address is 192.168.0.53
>>>>>> Filename '/hello'.
>>>>>> Load address: 0x81000000
>>>>>> Loading:
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>
>>>>>> #################################################################
>>>>>>          ###########
>>>>>>          4.9 MiB/s
>>>>>> done
>>>>>> Bytes transferred = 33554432 (2000000 hex)
>>>>>> Wrong Image Format for bootm command
>>>>>> ERROR: can't get kernel image!
>>>>>>
>>>>>>
>>>>>> uenvcmd was not defined in uEnv.txt ...
>>>>>> Booting from nand ...
>>>>>>
>>>>>> no devices available
>>>>>>
>>>>>> no devices available
>>>>>> Bad Linux ARM zImage magic!
>>>>>> U-Boot#
>>>>>>
>>>>>>
>>>>>> It would not load the image. So I think my image is bad. Can someone
>>>>>> email me the image for the hello example for beagle already
>>>>>>
>>>>>> I modified the uEnv.txt on the device. Now, however, I have a beagle
>>>>>> that is in the uBoot menu and I can't change the eUenv,txt because it will
>>>>>> not how up as a drive because it is not booted into linux.
>>>>>>
>>>>>> How do I get back to beagle linux from u-boot prompt?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> On Tue, Jun 23, 2015 at 6:44 PM, Cláudio Silva
>>>>>> <claudiodcsilva at gmail.com> wrote:
>>>>>>>
>>>>>>> Hello Angelo,
>>>>>>>
>>>>>>> I am using the following script snippet to generate a u-boot bootable
>>>>>>> image from an RTEMS .exe:
>>>>>>> https://gist.github.com/cdcs/0c789e9aae9e79200da5
>>>>>>> It essentially follows the steps described in Ben's README.
>>>>>>>
>>>>>>> If you are using application=/TICKER in the script, it will try to
>>>>>>> load something called TICKER from the tftp root (without any extension).
>>>>>>>
>>>>>>> Did you try with the u-boot that comes preloaded in the BBB?
>>>>>>> You can just try boot the linux version provided in the BBB's emmc
>>>>>>> and then change the uEnv.txt ("/boot/uboot/uEnv.txt") to your tftp version
>>>>>>> of uEnv. You shouldn't need the sdcard.
>>>>>>>
>>>>>>>
>>>>>>> Best Regards,
>>>>>>> Cláudio
>>>>>>>
>>>>>>> On Tue, Jun 23, 2015 at 5:59 AM Angelo Fraietta
>>>>>>> <newsgroups at smartcontroller.com.au> wrote:
>>>>>>>>
>>>>>>>> If it is any help. this is the configuration on my SDCard that loads
>>>>>>>> debian linux from SDCard.
>>>>>>>>
>>>>>>>> ##Video: Uncomment to override:
>>>>>>>> ##see:
>>>>>>>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/fb/modedb.txt
>>>>>>>> #kms_force_mode=video=HDMI-A-1:1024x768 at 60e
>>>>>>>>
>>>>>>>> ##Enable systemd
>>>>>>>> systemd=quiet init=/lib/systemd/systemd
>>>>>>>>
>>>>>>>> ##BeagleBone Cape Overrides
>>>>>>>>
>>>>>>>> ##BeagleBone Black:
>>>>>>>> ##Disable HDMI/eMMC
>>>>>>>>
>>>>>>>> #optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G
>>>>>>>>
>>>>>>>> ##Disable HDMI
>>>>>>>> #optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
>>>>>>>>
>>>>>>>> ##WIP: v3.13+ capes..
>>>>>>>> #cape=lcd4-01
>>>>>>>> #cape=
>>>>>>>>
>>>>>>>> ##note: the eMMC flasher script relies on the next line
>>>>>>>> mmcroot=UUID=8f529ad7-82d1-4d8e-91dc-31e9e2080813 ro
>>>>>>>> mmcrootfstype=ext4 rootwait fixrtc
>>>>>>>>
>>>>>>>> ##These are needed to be compliant with Angstrom's 2013.06.20
>>>>>>>> u-boot.
>>>>>>>> console=ttyO0,115200n8
>>>>>>>>
>>>>>>>> kernel_file=zImage
>>>>>>>> initrd_file=initrd.img
>>>>>>>>
>>>>>>>> loadaddr=0x82000000
>>>>>>>> initrd_addr=0x88080000
>>>>>>>> fdtaddr=0x88000000
>>>>>>>>
>>>>>>>> initrd_high=0xffffffff
>>>>>>>> fdt_high=0xffffffff
>>>>>>>>
>>>>>>>> loadkernel=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${kernel_file}
>>>>>>>> loadinitrd=load mmc ${mmcdev}:${mmcpart} ${initrd_addr}
>>>>>>>> ${initrd_file}; setenv initrd_size ${filesize}
>>>>>>>> loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} /dtbs/${fdtfile}
>>>>>>>>
>>>>>>>> loadfiles=run loadkernel; run loadinitrd; run loadfdt
>>>>>>>> mmcargs=setenv bootargs console=tty0 console=${console} ${optargs}
>>>>>>>> ${kms_force_mode} root=${mmcroot} rootfstype=${mmcrootfstype} ${systemd}
>>>>>>>>
>>>>>>>> uenvcmd=run loadfiles; run mmcargs; bootz ${loadaddr}
>>>>>>>> ${initrd_addr}:${initrd_size} ${fdtaddr}
>>>>>>>> #
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Jun 23, 2015 at 12:59 PM, Angelo Fraietta
>>>>>>>> <newsgroups at smartcontroller.com.au> wrote:
>>>>>>>>>
>>>>>>>>> I can see I missed a step from Ben's tutorial where it creates the
>>>>>>>>> image file.
>>>>>>>>> I copied the image to tftp and it did not work
>>>>>>>>>
>>>>>>>>> I also tried doing out of Bens tutorial the
>>>>>>>>>
>>>>>>>>> dd if=bone_hello.exe-sdcard.img of=/dev/mmcblk0 bs=4096
>>>>>>>>>
>>>>>>>>> However, nothing was displayed on my monitor and the three LEDS
>>>>>>>>> lit, followed by the light on ethernet port. It did this about three times
>>>>>>>>> and then booted into normal BBB linux. It looked to me like it was
>>>>>>>>> resetting, however, can't be sure.
>>>>>>>>>
>>>>>>>>> Is someone able to email me a working image for BBB so I can see it
>>>>>>>>> that will boot.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>>
>>>>>>>>> On Tue, Jun 23, 2015 at 8:46 AM, Angelo Fraietta
>>>>>>>>> <newsgroups at smartcontroller.com.au> wrote:
>>>>>>>>>>
>>>>>>>>>> Does not boot.
>>>>>>>>>> I have u-boot on the SD card. I know it is being called because if
>>>>>>>>>> I disconnect the ethernet, it freezes and does not boot. If I remove SDcard
>>>>>>>>>> and remove ethernet, it boots normally
>>>>>>>>>> I have tftp on 192.168.0.25
>>>>>>>>>>
>>>>>>>>>> My configuration is exactly this
>>>>>>>>>>
>>>>>>>>>> ### BBB : Configuration
>>>>>>>>>> ipaddr=192.168.0.53
>>>>>>>>>> serverip=192.168.0.25
>>>>>>>>>> netmask=255.255.255.0
>>>>>>>>>>
>>>>>>>>>> ### XKY-OS : Configuration
>>>>>>>>>> baseaddr=0x81000000
>>>>>>>>>> application=/TICKER
>>>>>>>>>>
>>>>>>>>>> ### Boot BBB from network
>>>>>>>>>> nfsargs=setenv bootargs console=${console} root=/dev/nfs
>>>>>>>>>> nfsroot=${serverip}:${rootpath} rw
>>>>>>>>>> ip=${ipaddr}:${serverip}:${serverip}:${netmask}::eth0:off
>>>>>>>>>> xkyboot=run nfsargs; tftp ${baseaddr} ${application}; bootm
>>>>>>>>>> ${baseaddr}
>>>>>>>>>> uenvcmd=run xkyboot
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I have copied ticker.exe to root folder
>>>>>>>>>> I tried
>>>>>>>>>> application=/TICKER
>>>>>>>>>> application=/ticker.exe
>>>>>>>>>> application=/TICKER.EXE
>>>>>>>>>>
>>>>>>>>>> Just boots into normal regardless of what I do (except removing
>>>>>>>>>> ethernet with SDCard in). Looking at U-boot in display looks the same as
>>>>>>>>>> though three was no SDcard. How can I freeze screen to read what it all
>>>>>>>>>> says?
>>>>>>>>>>
>>>>>>>>>> I tested my tftp server like this
>>>>>>>>>>
>>>>>>>>>> http://www.gunnalag.com/2013/08/05/how-to-test-tftp-server-from-a-client-system-in-windows/
>>>>>>>>>>
>>>>>>>>>> I did
>>>>>>>>>> tftp -i 1923.168.0.25 get ticker.exe
>>>>>>>>>>
>>>>>>>>>> And it worked fine
>>>>>>>>>>
>>>>>>>>>> So if I am using ticker.exe, what should application=/TICKER be?
>>>>>>>>>> Is it case sensitive? Does it need .exe at the end? Am I supposed to be
>>>>>>>>>> using ticker.exe?
>>>>>>>>>> Can someone send me an exe that does load in BBB so I can see if
>>>>>>>>>> it is that loads.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Also, I followed tutorial for installing U-boot on an SDCard which
>>>>>>>>>> boots linux from SDCard and that works
>>>>>>>>>>
>>>>>>>>>> http://www.armhf.com/boards/beaglebone-black/bbb-sd-install/
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Any suggestions would be great
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Jun 22, 2015 at 6:39 PM, Cláudio Silva
>>>>>>>>>> <claudiodcsilva at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi Angelo,
>>>>>>>>>>>
>>>>>>>>>>> xkyboot is just a command name that is executed by uenvcmd; you
>>>>>>>>>>> can name whatever you want. "XKYAPP2" is the executable name. It should
>>>>>>>>>>> placed on the tftp server's root, or otherwise you need to provide the full
>>>>>>>>>>> path to it.
>>>>>>>>>>> Is your tftp server working correctly? Try to test from a tftp
>>>>>>>>>>> client on Linux.
>>>>>>>>>>>
>>>>>>>>>>> Best Regards,
>>>>>>>>>>> Cláudio
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Jun 22, 2015 at 6:51 AM Angelo Fraietta
>>>>>>>>>>> <newsgroups at smartcontroller.com.au> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> I am using BBB also
>>>>>>>>>>>>
>>>>>>>>>>>> I have had a look at what you have provided
>>>>>>>>>>>> are XKYAPP2 and xkyboot  your app names?
>>>>>>>>>>>>
>>>>>>>>>>>> Lets say I wanted to boot ticker from tftp server (assume my
>>>>>>>>>>>> tftp server has same ip address as yours)
>>>>>>>>>>>>
>>>>>>>>>>>> I have copied
>>>>>>>>>>>>
>>>>>>>>>>>> development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack/testsuites/samples/ticker/ticker.exe
>>>>>>>>>>>> to the root of my tftp server
>>>>>>>>>>>>
>>>>>>>>>>>> I am assuming this is entire uEnv.txt What should it look like
>>>>>>>>>>>> (I have provided whole of your file here). Thanks
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ### BBB : Configuration
>>>>>>>>>>>> ipaddr=192.168.0.202
>>>>>>>>>>>> serverip=192.168.0.2
>>>>>>>>>>>> netmask=255.255.255.0
>>>>>>>>>>>>
>>>>>>>>>>>> ### XKY-OS : Configuration
>>>>>>>>>>>> baseaddr=0x81000000
>>>>>>>>>>>> application=/XKYAPP2
>>>>>>>>>>>>
>>>>>>>>>>>> ### Boot BBB from network
>>>>>>>>>>>> nfsargs=setenv bootargs console=${console} root=/dev/nfs
>>>>>>>>>>>> nfsroot=${serverip}:${rootpath} rw
>>>>>>>>>>>> ip=${ipaddr}:${serverip}:${serverip}:${netmask}::eth0:off
>>>>>>>>>>>> xkyboot=run nfsargs; tftp ${baseaddr} ${application}; bootm
>>>>>>>>>>>> ${baseaddr}
>>>>>>>>>>>>
>>>>>>>>>>>> uenvcmd=run xkyboot
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Jun 19, 2015 at 6:14 PM, Cláudio Silva
>>>>>>>>>>>> <claudiodcsilva at gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> You should be able to boot RTEMS through TFTP. At least I do it
>>>>>>>>>>>>> in the BBB, I assume the white version should work as well. You just have to
>>>>>>>>>>>>> change uboot configuration and setup a tftp server.
>>>>>>>>>>>>>
>>>>>>>>>>>>> My current uboot configuration is the following:
>>>>>>>>>>>>> https://gist.github.com/cdcs/76c4dd49c2d574bd68cc
>>>>>>>>>>>>>
>>>>>>>>>>>>> Cláudio
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Fri, Jun 19, 2015 at 5:57 AM Chris Johns <chrisj at rtems.org>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 19/06/2015 1:56 pm, Angelo Fraietta wrote:
>>>>>>>>>>>>>> > Those links I posted -- do any of them work with RTEMS?
>>>>>>>>>>>>>> >
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I do not know. I have no interested uboot. Maybe someone else
>>>>>>>>>>>>>> knows.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Chris
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> users mailing list
>>>>>>>>>>>>>> users at rtems.org
>>>>>>>>>>>>>> http://lists.rtems.org/mailman/listinfo/users
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>
>
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users



More information about the users mailing list