I have an old beaglebone black that I have not used in years. Decided to resurrect it and made a new uSD card with the latest debian image. Tried to boot it and I just get 3 LED’s on and nothing happens. Pull the card out and it boots to Angstrom (which I guess is in my eMMC) and I have an older uSD with an older Debian on it and that boots fine also.
Looking at the card contents with a Linux box, the old uSD card had two partitions, one FAT and one EXT4. The new card only has EXT4. I read somewhere that it uses the FAT partition to start the boot process. But since its not there anymore, I guess its not booting.
Did something change over the years when I was not paying attention? I have googled this subject and have not gotten any results that say anything about this. If its now only a EXT4 partition, what do I have to change in my board to get it to boot this new image?
On Thu, 22 Aug 2019 07:44:00 -0700 (PDT), Larry Klein
<firstname.lastname@example.org> declaimed the
Did something change over the years when I was not paying attention? I have
googled this subject and have not gotten any results that say anything
about this. If its now only a EXT4 partition, what do I have to change in
my board to get it to boot this new image?
Well, first off, have you tried holding down the boot-select button
when applying power to the board?
And yes, a lot has changed... The "FAT" partition is now a virtual
read-only system mounted by the OS only so that the device shows up when
connecting via USB. Second, instead of having the kernel load device tree
overlays, u-Boot now loads them. So part of what you see happening is that
the board/eMMC old u-Boot is trying to load a kernel but is not handling
device tree settings, and the kernel that comes off the SD card tries to
run but does not have a device tree set up for it.
You may need to find an IoT image (or even smaller -- console only
image, since the odds are that a unit with Angstrom on it may be a 2GB
eMMC), write it to the SD card, convert the card to a flasher, boot with
the Boot select button held down, and let it flash that image to the eMMC.
With luck, that will install a u-Boot that handles device tree set-up (and
the applicable device tree files). Also [I believe this is how it works],
newer u-Boot images, while loading from eMMC will detect the SD card and
automatically complete booting from the SD card -- no more using the boot
The alternative is some cryptic command that basically wipes out the
initial part of the eMMC so there is nothing found in it from which to
boot, and it then relies upon the SD card u-Boot to complete booting.
OK I think I figured it out. I was not holding the boot switch S2, long enough for it to start booting from the uSD card. I read somewhere that it will update the uBoot on the eMMC during the boot process if its newer than the one there already. My old uSD card had the old version and so just booted. The new image has a new one and required me to force it to boot from uSD to get things going. In the process of flashing my eMMC now so hopefully I will move a few years ahead in SW releases!!
Read your response despite it being “declaimed”! SOunds like I figured out what you noted!
It does look like my eMMC is 2GB only. I created a uSD with a flasher image and it failed to flash the eMMC. I am assuming its because its too large but since that error never displayed I am guessing. I suppose the eMMC could be bad but I doubt it. Is there any data on the eMMC space needed for each image? Did not see any on the latest images site. And I was using an IOT image, so no GUI to make things larger.
Maybe its just time to get a newer board…
I guess I am blind. I see the size requirements now in the latest image web page listing. Looks like I need to go far back in time to find a 2GB image. Giving it a try though…