Beagle Board Documentation


Being a newbie to Beagle board and software, I used the documentation pretty extensively to get going and found it helpful so I just want to state this up front!

I used both the System Reference Manual (will reference as BBSRM) and the Rev C Validation page (will reference as BRCV). Along the way, I did find a few points that would be good to correct or clarify, therefore I am providing them here. I referenced both the manual and the web page below for my bringup. Please review and determine which ones you think are needed. These are things that tripped me up a bit but they may be obvious to others. Jason suggested that I post the feedback to the general distribution list.

Feedback on (rev C30 May 6th 2009) – BBSRM

  1. Section 12.2 step 1. If you use USB cable to power the beagle board, it would be good to explain here what to do about the Windows “Found New Hardware” Wizard that will pop up. Some mention of this is described in BRCV, but I had trouble to get this to work. More on this below in BRCV section.

  2. Section 12.5. The steps in section 12.4 have you insert the MMCSD card. Therefore for this step, section 12.5 for factory boot verification, you need to ensure that it is removed otherwise it will boot from MMCSD. You can see this from the output provided, but would be good to list this as step 1 – remove MMCSD card.

  3. Section 12.6. With the MMCSD card plugged in and valid NAND image, I see very little difference between holding User button and not. This is likely to be expected, but some mention of this would be helpful (i.e. if NAND image is valid, you won’t see much difference. However if NAND image gets corrupted, this is useful to force boot from SD).

  4. Section 12.7. I found this section a little confusing. With the files downloaded according to Section 12.3, this NAND flash re-programation happens every time. So the first paragraph had me a little confused. I think it would be clearer to say that with the SD card image created in section 12.3 the NAND will always be re-programmed to the factory default. You can turn this off by changing boot.scr according to BRCV instructions (i.e. use regular script file).

  5. Section I had 2 problems here:
    a) “cd /mmc” doesn’t exist, but I found “cd /mnt” worked and you can see MMCSD contents here (and this also reflects what is in BRCV)

b) If you try to record directly to MMCSD (i.e. /mnt/k) it seems to overrun. So I instead recorded to RAM (I posted syntax to BRCV, not sure if this is best way but it worked).
arecord -t wav -c 2 -r 44100 -f S16_LE -v …/media/ram/k
aplay -t wav -c 2 -r 44100 -f S16_LE -v …/media/ram/k

  1. Section and I found that steps 1 and 2 didn’t work (similar to issue 5 and also I think there are 2 commands glommed together “cd /mnt/mmc”)

    I found that steps 1 and 2 were not needed and just proceeded to step 3 and this worked with one more correction. I found that I had to change this to event2 (which is documented in BRCV). Also, I found that which event the keyboard got mapped to depended on which order I plugged the keyboard and mouse into the USB hub. So some mention of this would be good. Note that use of the terms port1, port2, etc. are just with respect to the 1st, 2nd, 3rd ports on the hub. I don’t know if this is most accurate way to describe this or not.

mouse is connected to port1 and keyboard is connected port2, I get the following mapping:
Event0 – triton2 powerbutton
Event1 – gpio keys
Event2 – mouse
Event3 - keyboard
Event4 – keyboard extended functions

keyboard is connected to port1 and mouse is connected to port2, then I get the following mapping (which matches beagleCvalidation page instructions):
Event0 – triton2 powerbutton
Event1 – gpio keys
Event2 - keyboard
Event3 – keyboard extended functions
Event4 – mouse

  1. Section I could not get this to work. The first issue was the fact that you have to connect the thumb drive to a hub and not directly to EHCI. While this is explained in other documentation that this is high speed only port, it would be helpful to mention this here. The second problem is /usb1 doesn’t exist so the mount command fails. I provided listings of relevant directories. I could do the copy using alternate directory paths “cp /mnt/u-boot.bin /media/sda1/” but not sure if this is right way.

Feedback on - BRCV

  1. Board Setup for Validation. I could not get steps 12 and 13 to work. There is post from someone on April 7 2009 that complains of the same thing. I copied the Linux.inf and Gserial.inf file to my PC. As I go through the install steps, it can’t find usbser.sys. With help from Jason, I installed a patch from Microsoft to install the usbser.sys. I still had some difficulties to know what to do here, so I will send you another email with detailed steps on my install process that will provide a cookbook for newbies.
    Installed hotfix from windows to get usbser.sys.
    then click on the link here and accept
    View and request hotfix downloads

After the install it will out usbser.sys in c:\windows\system32\dllcache\ and the install process for both drivers (Gserial and Linux USB Ethernet) work fine. I will send more detailed steps for this in another email.

  1. Continue Board Validation step 1 (Test USB as Peripheral). I could not get this to work until I fixed the problems in issue 1. above. I think more details on install or a link to a recipe on how to do this step would be helpful. There is implied link to such steps “(courtesy of Steve K)” , but I couldn’t find more details. If such a link doesn’t exist, then I can send you my detailed steps.

  2. Continue Board Validation step 3 and 4 (MMCSD mount and Audio Record). These steps work (no syntax problems) but I run into the overrun problem that was reported as a comment and I posted what I did to make this work (similar comment as item 5 above). If this is correct, then I think the example should change or some option with the arecord utility to buffer enough to avoid the overrun. I couldn’t find any options to prevent this other than to move where the recorded output goes.

  3. Continue Board Validation step 6. It says the test validates read/write to MMC. But I don’t quite understand. All this syntax seems to do is un-mount SD card from /mnt. Is that the purpose so you can go look at it elsewhere (e.g. /media/mmcblk0p1)? I just needed a little bit more here to figure out what was intended.

  4. Continue Board Validation step 7 (Test USB Host Port). These examples work if I put keyboard in port1 of the hub and mouse in port2 of the hub (same issue as item 6 above). Is this to be expected? If so, some comment that the specific event number may change based on hookup would be helpful.

  5. Continue Board Validation step 8, step 3 (To Test USB OTG as HOST using a USB Ethernet Dongle). I need some help here to explain the setup needed. I connected my Ethernet/USB hub to TI network. I had trouble pinging anything external and I don’t think there is a dhcp application in the std build provided. I need to look into this some more, but some tips/suggestions would be appreciated.

  6. How to check EDID in u-boot. Some posted already that “ibus 2 0x64” gets and error. After changing this to ibus 2, I tried to run the next line but it didn’t work for my setup and I get a bunch of I2C errors. Some also posted about this problem as well.

  7. How to get your DVID monitor working for different resolutions. I could get this to work after I figured out that you have to run this from uboot (and not kernel mode). This was a little confusing because the example above (arecord and aplay) expects kernel mode. It would be good to group or make explicit reference to which one is needed.

I can post comments to the Validation page, but long term it would be good for the examples to be updated. Please feel free to contact me if some of my feedback is unclear or you want me to test something else out.

The rest of the examples in both documents worked for me and I could follow them successfully.

Bobby McGoldrick

I will take it under consideration.




I noted that some of the screen captures I had in the mail got
stripped out when it got posted. I will go ahead and forward the email
to you directly so you have the full context.


That would be great!

Also, can you register with Your emails are being filtered.


Op 27 jul 2009, om 16:24 heeft McGoldrick, Bobby het volgende geschreven:

mouse is connected to port1 and keyboard is connected port2, I get the following mapping:
Event0 – triton2 powerbutton
Event1 – gpio keys
Event2 – mouse
Event3 - keyboard
Event4 – keyboard extended functions

keyboard is connected to port1 and mouse is connected to port2, then I get the following mapping (which matches beagleCvalidation page instructions):
Event0 – triton2 powerbutton
Event1 – gpio keys
Event2 - keyboard
Event3 – keyboard extended functions
Event4 – mouse

Note that eventX numbers are pretty much "random", so if the kernel dudes push some more fastboot patches the gpio_keys stuff might move after the usb stuff.
I've been trying to tell people that for years now when they are susprised that event0 is suddenly not the touchscreen anymore, but the keyboard :slight_smile:




Sure, I have been looking to try to figure out how to do this? Is this
the register your board link or another one:


Not the board. Just your email address. You need to subscribe to the mailing list to make sure your emails are not filtered.


Here is my reply.


I am now attaching 2 files:

1) first one is my original email printed to a pdf so you can view the screen shots

2) pdf with detailed recipe for the windows installation for the beagle board.

BB_documentation_feedback.pdf (75.3 KB)

BB_Windows_Install.pdf (333 KB)

Thank you :slight_smile:

McGoldrick, Bobby wrote:

Now I have some questions on the examples where you mount the sd card and usb thumb drive ( and so you can copy from SD to USB. Both these steps fail (one because you mount to /mnt but then change to /mmc, the second one because /usb1 doesn't exist).

The steps to fix this are straight forward, but it got me thinking as to what should be done? I see a /mnt directory which contains sub-directories and I see /media directory which also contains sub-directories (e.g. mmc1, mmcblk0p1, sda1). Was the intention to use one of these? Just trying to understand the best practice and opinions on the options below:

a) setup mount points /mmc and /usb1 (mkdir and mount)
b) use /mnt and mount to /mnt/mmc and /mnt/usb1 (mkdir and mount)
c) use /media and mount /media/mmc and /media/usb1
d) just use /media/mmcblk0p1 and /media/sda1 (which already show the sd and usb files already).

I will paste some dumps of directory listings for convenience:

root@beagleboard:~# cd /
root@beagleboard:/# ls
bin lib proc usr
boot linuxrc sample_video.avi var
dev lost+found sbin
etc media sys
home mnt tmp
root@beagleboard:/# ls /mnt
card cf net ram
root@beagleboard:/# ls /media
card hdd mmcblk0p1 ram sda1
cf mmc1 net realroot union
root@beagleboard:/# ls /media/mmc1
root@beagleboard:/# ls /media/mmcblk0p1
boot.scr k_12000 normal.scr u-boot.bin
k k_8000 ramdisk.gz uImage.bin
k2 mlo u-boot-f.bin x-load.bin.ift
root@beagleboard:/# ls /media/sda1
Audyssey Dynamic Volume presentation.ppt


I will go through this an update it when I can. It is not my most pressing issue at the moment. We have the WIKI that is normally used to instruct a person on how to do this and it can be fixed/updated by anyone. I suggest you work with it and get it to your liking. At that point, I will take that information and update the SRM.


There is no hard and fast rule and you can generally use any of the methods below - whatever works for you…

However there are some common standards: (d) is used by automounters and they will typically use the drive’s volume label, the block device name or plain old “disk”. For sanity and cleanliness I prefer to use /media for all non-system partitions. For system partitions and other always present drives (e.g. /home is on another drive) I would strongly recommend adding an entry to /etc/fstab that uses UUIDs to identify the drive and mount it - otherwise one day you’ll find /dev/sdb (or whatever) isn’t the drive you were expecting…

However, having multiple drives (only really gets bad with 3+ drives) isn’t terribly likely with BeagleBoards :slight_smile:


Thanks for the details and guidance.

Just to give someone a simple recipe if they want, this sequence works with the standard image available form the Section 12.3 of BB System Reference Manual. The point is just to copy a file form MMCSD to USB thumbdrive as explained in of the BB System Reference Manual

root@beagleboard:~# ls /media
card hdd mmcblk0p1 ram sda1
cf mmc1 net realroot union
root@beagleboard:~# mount -t vfat /dev/mmcblk0p1 /media/mmc1
root@beagleboard:~# mkdir /media/usb1
root@beagleboard:~# mount /dev/sda1 /media/usb1
root@beagleboard:~# cp /media/mmc1/u-boot.bin /media/usb1/test1.bin
root@beagleboard:~# ls /media/usb1/test1*
root@beagleboard:~# cp /media/usb1/test1.bin /media/mmc1/test2.bin
root@beagleboard:~# ls /media/mmc1/test*