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.

BBB boot-button (S2)

Dear Forum

The BBB reference manual states that the boot-button have to be held down during power-on to boot an uSD-Card.

When I insert a uSD-Card it boots regardless of me holding the button down (until login prompt) or not.

The default Angstrom Linux resides on the internal FLASH while the large 16GB uSD-Card holds a Debian Linux, hence there is no doubt about which system that boots.

I have recorded the serial debug boot listing for all permutations:

  1. Boot wo/uSD-Card
  2. Boot wo/uSD-Card + boot-button pressed
  3. Boot w/uSD-Card
  4. Boot w/uSD-Card + boot-button pressed
  5. Boot wo/uSD-Card. uSD-Card inserted after boot.

None of these scenairos seem influenced by pressing the boot-button. If a uSD-Card is present it will boot in stead of booting internal FLASH. This contradicts the reference manual.

Please advice

Best regards

Terje Froysa

  • Hi Terje,

    When I insert a uSD-Card it boots regardless of me holding the button down (until login prompt) or not.

    I think, It boots from internal eMMC and not from SD card boot.

    If you want to boot external SD card then press "boot button" to boot from SD.

    Are you referring the chapter " 6.7 boot configuration " ?

  • Hi Titus,

    Yes, I'm refering to chapter 6.7 in the BBB system reference manual.

    Take a look at the outputs from the df command below where first scenario is booting the original BBB FLASH and the second scenario is after inserting the uSC-Card with the 16GB "Bone-debian" image.

    Both scenarios is booted without touching the boot-button.

    Just by studying the size of the rootfs and the use %, it is clear that the uSD-Card environment is booted in the second scenario.

    To be sure, I have also logged in, establised files under :~/, moved the uSC-Card to a separate environment and verified that the files are stored on the uSD-Card.

    Just wondering if my version of u-boot (also referring to the GPIO pins) is a non-standard version although I'm running an out-of-the-box image on BBB and "latest images" from TI.

    Best regards

    Terje

     

    1. Boot with no uSD-Card inserted (i.e. internal FLASH):

    Filesystem     1K-blocks    Used Available Use% Mounted on
    rootfs           1738184 1480644    167576  90% /
    /dev/root        1738184 1480644    167576  90% /
    devtmpfs          255160       0    255160   0% /dev
    tmpfs             255292       0    255292   0% /dev/shm
    tmpfs             255292     228    255064   1% /run
    tmpfs             255292       0    255292   0% /sys/fs/cgroup
    tmpfs             255292       4    255288   1% /tmp

    2. Boot with uSC-Card inserted (no boot-button pressed):

    Filesystem     1K-blocks    Used Available Use% Mounted on
    rootfs          15233392 1564420  13034980  11% /
    udev               10240       0     10240   0% /dev
    tmpfs             101700     624    101076   1% /run
    /dev/mmcblk0p2  15233392 1564420  13034980  11% /
    tmpfs             254244       0    254244   0% /dev/shm
    tmpfs             254244       0    254244   0% /sys/fs/cgroup
    tmpfs             102400       0    102400   0% /run/user
    tmpfs               5120       0      5120   0% /run/lock
    /dev/mmcblk0p1     98094   70996     27098  73% /boot/uboot
    /dev/mmcblk1p2   1738184 1481204    167016  90% /media/Angstrom
    /dev/mmcblk1p1     71133   55238     15895  78% /media/BEAGLEBONE

    3. Boot without uSD-Card, Card inserted after boot:

    Filesystem     1K-blocks    Used Available Use% Mounted on
    rootfs           1738184 1456188    192032  89% /
    /dev/root        1738184 1456188    192032  89% /
    devtmpfs          255160       0    255160   0% /dev
    tmpfs             255292       4    255288   1% /dev/shm
    tmpfs             255292     252    255040   1% /run
    tmpfs             255292       0    255292   0% /sys/fs/cgroup
    tmpfs             255292       4    255288   1% /tmp
    /dev/mmcblk0p1     71133   55238     15895  78% /media/BEAGLEBONE
    /dev/mmcblk1p1     98094   70996     27098  73% /media/BEAGLE_BONE
    /dev/mmcblk1p2  15233392 1499792  13099608  11% /media/rootfs

  • Hi Terje,

    Pressing the boot button should alter the SYSBOOT setting of the AM335x and boot from a different device. However, this is only valid for the SPL image which loads the U-Boot. The U-Boot then loads the kernel depending on its boot command. My suggestion is to print the U-Boot environment in both cases (eMMC and uSD card) and also check how the Linux kernel enumerates the two mmc interfaces. I think there was a similar issue some time ago - the kernel enumerates the eMMC as mmc0 if no uSD card is present and if a uSD card is present, it is enumerated as mmc0 and the eMMC becomes mmc1. I can't recall everything so I'll try to search for this issue and get back to you if I find it and have any more details.

    Best regards,
    Miroslav

  • Hi Miroslav,

    Thanks for your tip.

    I have already logged the boot reports from the serial debug port. The reports seem to confirm your suggestions.

    The enumeration of /dev/mmcblk0 and /dev/mmcblk1 changes dependent of the presense of the uSC-Card.

    Together with my u-boot topic on GPIO pin 53/54 it seem to me that I've got a strange version of u-boot, both out-of-the-box as well as downloaded from "latest images".

    On one other uSD-Card I have modified uEenv.txt to boot and mount file system over the network. This works and confirms that it really is the u-boot environment on the uSD-Card that is running.

    Best regards
    Terje