Problem with beaglebone-black-copy-microSD-to-eMMC.sh and Debian image

Hello all,

I have recently made the switch from Angström to Debian, by installing the following image on an SD card and customizing it further from there:
bone-debian-7.6-lxde-4gb-armhf-2014-09-03-4gb.img.xz

Things work well and I now would like to flash this to the eMMC. I have tried to do so by using the beaglebone-black-copy-microSD-to-eMMC.sh script:

$ sudo ./beaglebone-black-copy-microSD-to-eMMC.sh
Error: script halting, system unrecognized…

It seems that the script is unable to determine the boot drive, which it tries to extract from the output of LC_ALL=C lsblk -l by looking for ‘/boot/uboot’
Executing this by hand, I get:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mmcblk1boot0 179:16 0 1M 1 disk
mmcblk1boot1 179:24 0 1M 1 disk
mmcblk0 179:0 0 14.7G 0 disk
mmcblk0p1 179:1 0 96M 0 part /media/BEAGLEBONE_
mmcblk0p2 179:2 0 3.5G 0 part /
mmcblk1 179:8 0 1.8G 0 disk
mmcblk1p1 179:9 0 70.6M 0 part /media/BEAGLEBONE
mmcblk1p2 179:10 0 1.7G 0 part /media/Angstrom

So there’s no boot entry to be seen anywhere.

Is my system in a weird state, or does the script need updating to work with the new Debian images?

Jürg

That's just a suttle hint that version of the script is no longer
recommended, but i can't move it to a hidden location due to legacy
images.

So with that image, just follow:
http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Flashing_eMMC

To flash eMMC..

Regards,

Oh great, thanks for the swift reply!

So I’ve followed these instructions and it seems that I the eMMC got flashed. But when I boot now, the system hangs at the stage where the penguin is displayed on a connected screen.

Using a TTL serial cable, I observed this output during startup:

Begin: Loading essential drivers … done.
Begin: Running /scripts/init-premount … done.
Begin: Mounting root file system … Begin: Running /scripts/local-top … done.
Begin: Waiting for root file system … done.
Gave up waiting for root device. Common problems:

  • Boot args (cat /proc/cmdline)
  • Check rootdelay= (did the system wait long enough?)
  • Check root= (did the system wait for the right device?)
  • Missing modules (cat /proc/modules; ls /dev)
    ALERT! /dev/mmcblk1p2 does not exist. Dropping to a shell!

I guess the device names are set up wrong now, and /dev/mmcblk1p2 should really be /dev/mmcblk0p2?

I couldn’t find any instructions as to how to set up the debian distribution properly before flashing in order to avoid this problem. Is this something that init-eMMC-flasher-v3.sh is supposed to handle, but didn’t?

Regards,

jürg

So I followed these instructions and think I managed to flash the eMMC. But when booting, the system hangs at the stage where a connected screen would display the penguin while loading.

So I connected a TTL serial cable to see what's going on, and got this output here:

    Begin: Loading essential drivers ... done.
    Begin: Running /scripts/init-premount ... done.
    Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
    Begin: Waiting for root file system ... done.
    Gave up waiting for root device. Common problems:
     - Boot args (cat /proc/cmdline)
       - Check rootdelay= (did the system wait long enough?)
       - Check root= (did the system wait for the right device?)
     - Missing modules (cat /proc/modules; ls /dev)
    ALERT! /dev/mmcblk1p2 does not exist. Dropping to a shell!

The system appears to look for the root partition in under the wrong dev name. I couldn't find any instructions as to how to set this up correctly. But shouldn't init-eMMC-flasher-v3.sh handle this correctly, since I'm using the stock Debian distribution?