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.

trouble booting after going through tutorial

Other Parts Discussed in Thread: UNIFLASH

Hello,

I'm going though the tutorial for flashing the eMMC over USB on the beaglebone black here: http://processors.wiki.ti.com/index.php/Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black 

On the final step when I try to reboot and run from eMMC the boot fails. I used the flasher.sh script provided in the tutorial and made sure the BOOT_PARTITION and the ROOTFS_PARTITION match the files I'm serving up on the TFTP. The U-boot configured for USB-SPL doesn't seem to output the terminal over the ttyS0 so I can't tell what is going on and I just see "Starting Kernel..." then after a long time I get the Arago login. I presume this is tied into Uniflash somehow getting the terminal data over Ethernet or something like that?

One thing that wasn't clear was which rootfs image I should be using from sdk/filesystem: tisdk-rootfs-image-am335x-evm.tar.gz or arago-base-tisdk-image-am335x-evm.tar.gz. Currently I'm working from tisdk-rootfs-image-am335x-evm.tar.gz.

I've tried going through the script manually after the script finishes and I log in at the arago prompt and noticed I have to re-login after I run the partitioning command:

echo "Partitioning the eMMC..."
sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE << EOF
,9,0x0C,*
10,,,-
EOF

I don't know if that's normal or not. When I check the partion table with sfdisk -V /dev/mmcblk0 after running the script I get a reply saying that the partition table can't be found. However after I run the partition command myself I get a different output:

root@am335x-evm:~# sfdisk -V /dev/mmcblk0
sfdisk: Warning: partition 1 does not end at a cylinder boundary
sfdisk: Warning: partition 2 does not start at a cylinder boundary
sfdisk: Warning: partition 2 does not end at a cylinder boundary
sfdisk: partition 1: start: (c,h,s) expected (0,3,16) found (0,1,1)
sfdisk: end of partition 1 has impossible value for head: 254 (should be in 0-3)
sfdisk: end of partition 1 has impossible value for sector: 63 (should be in 1-16)

So it does appear that the partitioning in the script is not successful. Any ideas why this might be?

The u-boot has the following output when it tries to boot:

U-Boot SPL 2015.01-00001-gb2412df (Jan 29 2015 - 15:01:06)


U-Boot 2015.01-00001-gb2412df (Jan 29 2015 - 15:01:06), Build: jenkins-github_Bo
otloader-Builder-105

Watchdog enabled
I2C: ready
DRAM: 512 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Using default environment

Net: <ethaddr> not set. Validating first E-fuse MAC
cpsw
Hit any key to stop autoboot: 0
gpio: pin 53 (gpio 53) value is 1
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
switch to partitions #0, OK
mmc1(part 0) is current device
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 **

FAILSAFE: U-Boot UMS (USB Mass Storage) enabled, media now available over the us
b slave port ...
UMS: disk start sector: 0x0, count: 0x720000
musb-hdrc: peripheral reset irq lost!

  • Hello Matt,

    tisdk-rootfs-image-am335x-evm.tar.gz contains Qt, graphics and test examples
    arago-base-tisdk-image-am335x-evm.tar.gz is a smaller rootfs which has no graphics

    Running a command inline in a terminal or by a script you should not get any difference.
    Have you changed the device name in the flasher.sh script?

    ## Declare eMMC device name here
    DRIVE="/dev/mmcblk0"

    Could you boot over USB or SD Card and post the output of fdisk -l command?

    Best regards,
    Kemal

  • Hi Kemal,

    I did not change the device name, it seems to be correct as "/dev/mmcblk0" unless I'm missing something?

    After the script runs and I have booted over USB, running fdisk -l provides this:

    root@am335x-evm:~# fdisk -l

    Disk /dev/mmcblk0: 3825 MB, 3825205248 bytes
    4 heads, 16 sectors/track, 116736 cylinders
    Units = cylinders of 64 * 512 = 32768 bytes

    Disk /dev/mmcblk0 doesn't contain a valid partition table

    Disk /dev/mmcblk0boot1: 4 MB, 4194304 bytes
    4 heads, 16 sectors/track, 128 cylinders
    Units = cylinders of 64 * 512 = 32768 bytes

    Disk /dev/mmcblk0boot1 doesn't contain a valid partition table

    Disk /dev/mmcblk0boot0: 4 MB, 4194304 bytes
    4 heads, 16 sectors/track, 128 cylinders
    Units = cylinders of 64 * 512 = 32768 bytes

    Disk /dev/mmcblk0boot0 doesn't contain a valid partition table

  • Could you try to perform the steps from this post for eMMC programming.

  • That did work, but how do I get that to work in automated script form?
  • To clarify I'm working towards getting the method of programming sorted out for production (initial small scale) and I would like to use Uniflash.
  • I ended up figuring this out. I was able to modify the script to work with fdisk instead of sfdisk, using the sed approach here: http://superuser.com/questions/332252/creating-and-formating-a-partition-using-a-bash-script The fdisk included with the tiny file system was using BusyBox which behaved oddly, default first cylinder was 1 instead of first sector being sector 2048 as in your example with the full file system. I copied in the fdisk and shortcut from the full file system and the dependency libmartcols.so.1. I also added mkfs.ext4 so I could use the format you used in the example. I haven't tried this with Uniflash yet but it worked with Linux. Hope that helps anyone else that runs into this.