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.

Linux/AM3352: Kernel boot from eMMC

Part Number: AM3352


Tool/software: Linux

I am working on my beaglebone black setup.I boot through my sd card(pressing the S2 switch) which has the uboot and no linux image . I am trying to boot the linux image in the emmc through the uboot prompt but it boots uboot again from the sd card.The steps I took to solve this  is to set uuid to second partition of my emmc which has the linux  image  (U-Boot# setenv finduuid part uuid mmc 1:2 uuid). What am I doing wrong? 

  • Hello Punit,

    Please, refer to this thread and make two pairs of MLO and u-boot.img which one pair saves the environment variables to SD card and the second saves the environment variables to eMMC. Copy the MLO and u-boot.img which saves the environment to SD card to the SD card and the MLO and u-boot.img which saves the environment to eMMC to the eMMC. In this way when you change finduuid like environment variables and run saveenv them will be successfully saved to the appropriate device. If you do not press the S2 switch while powering on the board the board will boot from eMMC.

    Best regards,
    Kemal

  • Thanks a lot Kemal. I'll give it a try tonight

  • Hi Kemal, I have tried booting the eMMC through u-boot but it always drops to busybox shell. As suggested by the busybox shell I double checked the PARTUUID using blkid it's a match so why can't it load the rfs?

    
    

    ipaddr=192.168.7.2 serverip=192.168.7.1 console=ttyO0,115200n8 finduuid=part uuid mmc 1:1 uuid netargs=setenv bootargs console=ttyO0,115200n8 root=PARTUUID=${uuid} rootwait rw rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet loadaddr=0x82000000 ftdaddr=0x88000000 initramaddr=0x88080000 initrdsize=452040 netboot=echo Booting from emmc ...; setenv autoload no ;echo moving zimage from emmc to DRAM...;load mmc 1:1 ${loadaddr} /boot/vmlinuz-4.14.71-ti-r80;echo moving dtb from emmc to DRAM... ; load mmc 1:1 ${fdtaddr} /boot/dtbs/4.14.71-ti-r80/am335x-boneblack-uboot-univ.dtb ; echo moving initrd from emmc to DRAM...;load mmc 1:1 ${initramaddr} /boot/initrd.img-4.14.71-ti-r80;echo running finduuid.....;run finduuid;echo running netargs ...; run netargs ; echo bootzzzz...;bootz ${loadaddr} ${initramaddr}:${initrdsize} ${ftdaddr} uenvcmd=echo running netboot...;run netboot



    Starting kernel ...
    
    [    0.002066] timer_probe: no matching timers found
    [    1.132460] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [    1.444765] omap_voltage_late_init: Voltage driver support not added
    [    1.452379] PM: Cannot get wkup_m3_ipc handle
    Gave up waiting for root file system device.  Common problems:
     - Boot args (cat /proc/cmdline)
       - Check rootdelay= (did the system wait long enough?)
     - Missing modules (cat /proc/modules; ls /dev)
    ALERT!  PARTUUID=8fb410a9-01 does not exist.  Dropping to a shell!




    /dev/mmcblk1p1: LABEL="rootfs" UUID="aa9109fe-2099-47e0-b8a5-e1a3f87848b0" TYPE="ext4" PARTUUID="8fb410a9-01"




  • Change the finduuid=part uuid mmc 1:1 uuid to finduuid=part uuid mmc 1:2 uuid and retry.

  • Hi Kemal, This is a single partition based debian image in the emmc. So shoudn't it be  1:1 ? . Also to clear the confusion the MLO and uboot.img and uEnv.txt  are in the sd card . So basically I boot pressing s2 switch uboot runs in DDR loads the zImage,dtb and initrd from emmc and tries to boot it 

  • Can you run these commands in the U-Boot console and check whether the board is booting?

    => env default -a -f
    => saveenv

  • I'll check this later when I am home but I think it's booting since its printing my custom uboot logs in the uEnv.txt . And I confirm that the fdt and zimage and initrd is being loaded from emmc to the memory. Standalone beaglebone boots just fine that is without my u-boot and sd card not inserted it boots fine from the emmc(which means emmc image is good) just when I try uboot from sd card this happens. There is no purpose of what I am trying to do just to learn something out of this.

  • The Debian based image you use is supported by the BBB community, not by us. Can you switch to the latest Processor SDK? Install it, create a SD card by using the rootfs image from there, then we will be able to help you better.