2016 09 09 BBB eMMC Flasher image fails to boot eMMC after powerdown

I have attached a log file of the boot from eMMC, flash process, shutdown and then reboot.
It looks to me like the flash process worked fine.

I am not sure what is happening after the flash, it looks like there is a boot and then shutdown.

After the powerdown I pull the SDcard and try to reboot.
That is where the BBB fails to find linux on eMMC

I can not see anything obviously wrong, but I am not sure what I am looking for.

I am a reasonably competent embedded linux developer, but new to BBB,
The board rev is an A6.

cutecom3.log (44.2 KB)

Can you please double check with this flasher:

https://rcn-ee.net/rootfs/bb.org/testing/2016-09-18/console/BBB-blank-debian-8.6-console-armhf-2016-09-18-2gb.img.xz

I'm pretty sure i'm going to have to re-generate the 2016-09-09 image
(bootloader issues)..

Regards,

. . .

TFTP from server 0.0.0.0; our IP address is 206.223.20.131; sending through gateway 206.223.20.1
Filename 'boot.scr.uimg'.
Load address: 0x82000000
Loading: * 
<b>TFTP error: 'File not found' (1)
Not retrying...</b>
=> 

Also a lot of these:

Checking for: /boot/uEnv.txt ...
** No partition table - mmc 1 **
** No partition table - mmc 1 **
** No partition table - mmc 1 **
** No partition table - mmc 1 **
** No partition table - mmc 1 **
** No partition table - mmc 1 **
** No partition table - mmc 1 **

What's odd about those.. When the u-boot.img got too fat, it would
clober the partition table at 1MB, BUT from the log:

Formatting: /dev/mmcblk1
sfdisk: [sfdisk from util-linux 2.25.2]
sfdisk: [sfdisk --force --Linux --in-order --unit M /dev/mmcblk1]
sfdisk: [4,L,*]
sfdisk: Checking that no-one is using this disk right now …
sfdisk: OK

   Device Boot Start End MiB #blocks Id System
/dev/mmcblk1p1 * 4 1831 1828 1871872 83 Linux
/dev/mmcblk1p2 0 - 0 0 0 Empty
/dev/mmcblk1p3 0 - 0 0 0 Empty
/dev/mmcblk1p4 0 - 0 0 0 Empty

That's the new 4MB offset... so it shouldn't have

and then from the date:

U-Boot 2016.09-rc2-00001-g2e7c9a7 (Sep 09 2016 - 14:20:16 -0500),
Build: jenkins-github_Bootloader-Builder-446

That's where i killed the non bone *.dts's, so it should have fit in
the first 1MB anyways...

Yeah, a little stumped. :wink:

Regards,

What's odd about those.. When the u-boot.img got too fat, it would
clober the partition table at 1MB, BUT from the log:

Formatting: /dev/mmcblk1
sfdisk: [sfdisk from util-linux 2.25.2]
sfdisk: [sfdisk --force --Linux --in-order --unit M /dev/mmcblk1]
sfdisk: [4,L,*]
sfdisk: Checking that no-one is using this disk right now …
sfdisk: OK

   Device Boot Start End MiB #blocks Id System
/dev/mmcblk1p1 * 4 1831 1828 1871872 83 Linux
/dev/mmcblk1p2 0 - 0 0 0 Empty
/dev/mmcblk1p3 0 - 0 0 0 Empty
/dev/mmcblk1p4 0 - 0 0 0 Empty

That's the new 4MB offset... so it shouldn't have

and then from the date:

U-Boot 2016.09-rc2-00001-g2e7c9a7 (Sep 09 2016 - 14:20:16 -0500),
Build: jenkins-github_Bootloader-Builder-446

That's where i killed the non bone *.dts's, so it should have fit in
the first 1MB anyways...

Yeah, a little stumped. :wink:

Sounds like you scripts may be starting to get too complex :wink: I know the
feeling . . .

That image is not working for me either.

If I am following this, there is an issue where the eMMC is being partitioned as if it is 4G instead of 2G correct ?

If I just modify the sfdisk portion of the Flash script will that correct this ?

That image is not working for me either.

If I am following this, there is an issue where the eMMC is being partitioned as if it is 4G instead of 2G correct ?

If I just modify the sfdisk portion of the Flash script will that correct this ?

It’s a little more complex than that.

  1. sfdisk creates a 1M hole at the beginning of the media

  2. sfdisk skips over this hole and partitions the rest of the disk to be used as rootfs

  3. dd copies MLO, and uboot.img into the first 1M hole ( MBR)

  4. then the file system is copied over via rsync I beleive.

Hold on let me get you the link for Roberts build guide.

https://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-SetupmicroSDcard

Granted . . .

sudo sfdisk ${DISK} <<-__EOF__
**4M**,,L,*
__EOF__

Thats different form what I remember. I thought that was supposed to be 1M ?

Humm..

i had just tested
BBB-eMMC-flasher-debian-8.5-console-armhf-2016-09-09-2gb.img.xz this
morning on a Rev C.. (it had flashed just fine)

Let's try it on one of my old A5A's.. (that's close to your A6)..

Regards,

BBB-blank-debian-8.5-console-armhf-2016-06-19-2gb.img.xz

That’s the image I’ve been using. It’s worked on an Element14 RevC, and an Element14 BBG. I haven’t tried on my A5A. . .

err, so in a pinch or just outright one could use that image, and upgrade the kernel if need be later. Through APT. Assuming that image would work for the OP here . . .

So on my A5A...

U-Boot SPL 2016.09-rc2-00001-g2e7c9a7 (Sep 09 2016 - 14:20:16)
Trying to boot from MMC2
Expected Linux image is not found. Trying to start U-boot

U-Boot 2016.09-rc2-00001-g2e7c9a7 (Sep 09 2016 - 14:20:16 -0500),
Build: jenkins-github_Bootloader-Builder-446

DRAM: 512 MiB
Reset Source: Power-on reset has occurred.
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Using default environment

Board: BeagleBone Black
Net:
Warning: ethernet@4a100000 using MAC address from ROM
eth0: ethernet@4a100000
Press SPACE to abort autoboot in 2 seconds
board_name=[A335BNLT] ...
board_rev=[0A5A] ...
Card did not respond to voltage select!
Card did not respond to voltage select!
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
gpio: pin 53 (gpio 53) value is 1
Card did not respond to voltage select!
Card did not respond to voltage select!
** First descriptor is NOT a primary desc on 1:1 **
switch to partitions #0, OK
mmc1(part 0) is current device
** No partition table - mmc 1 **
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
** First descriptor is NOT a primary desc on 1:1 **
switch to partitions #0, OK
mmc1(part 0) is current device
** First descriptor is NOT a primary desc on 1:1 **
gpio: pin 54 (gpio 54) value is 1
** No partition table - mmc 1 **
Checking for: /uEnv.txt ...
** No partition table - mmc 1 **
Checking for: /boot.scr ...
** No partition table - mmc 1 **
Checking for: /boot/boot.scr ...
** No partition table - mmc 1 **
Checking for: /boot/uEnv.txt ...
** No partition table - mmc 1 **
** No partition table - mmc 1 **
** No partition table - mmc 1 **
** No partition table - mmc 1 **
** No partition table - mmc 1 **
** No partition table - mmc 1 **
** No partition table - mmc 1 **
starting USB...
USB0: Port not available.
ethernet@4a100000 Waiting for PHY auto negotiation to complete

Crap!

Regards,

=> mmc list
OMAP SD/MMC: 0
OMAP SD/MMC: 1 (eMMC)
=> mmc dev 1
** First descriptor is NOT a primary desc on 1:1 **
switch to partitions #0, OK
mmc1(part 0) is current device
=> mmc part
## Unknown partition table type 0
=> ums 0 mmc 1
UMS: LUN 0, dev 1, hwpart 0, sector 0x0, count 0x394000
musb-hdrc: peripheral reset irq lost!

x86 (usb)

[13599.751428] sd 6:0:0:0: [sdb] Attached SCSI removable disk
[14831.039791] sd 6:0:0:0: [sdb] 3751936 512-byte logical blocks:
(1.92 GB/1.79 GiB)
[14831.040085] sd 6:0:0:0: [sdb] Write Protect is off
[14831.040088] sd 6:0:0:0: [sdb] Mode Sense: 0f 00 00 00
[14831.040409] sd 6:0:0:0: [sdb] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[14831.052981] sd 6:0:0:0: [sdb] Attached SCSI removable disk
voodoo@hades:/opt/images/elinux/2016-09-09/flasher$ sudo fdisk -l /dev/sdb
[sudo] password for voodoo:
Disk /dev/sdb: 1.8 GiB, 1920991232 bytes, 3751936 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
voodoo@hades:/opt/images/elinux/2016-09-09/flasher$

okay, that's not good, even the block exported to my x86 linux desktop
is not showing a partition..

Regards,

moving the partition table back from 4MB -> 1MB... no change..

Regards,

Okay, got it working...

On the A5A/A6, u-boot SPL-DTB boot doesn't seem to properly initialize
the eMMC..

It does "enough" to load u-boot.img, but after that point, the eMMC is useless..

The kernel can re-init the eMMC, hence the flasher can write to the eMMC..

I've pushed out a new build of u-boot, reverting to the old, non SPL-DTB boot..

https://github.com/RobertCNelson/Bootloader-Builder/commit/ac00dbea1aa6f01d1c1f57e751233f9b38739c88

Regards,

Okay, tested on both a A5A and C...

The image builder script is running, new images should be uploaded in
a couple hours.

Regards,