Kernel boot from eMMC through uboot

307 views
Skip to first unread message

Punit Salian

unread,
Jun 24, 2019, 3:06:00 PM6/24/19
to BeagleBoard
Hey, I have tried booting linux image in 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?

My emmc has a single partition debian image. U-boot lies in the first partiition of my sd card(boot by pressing s2 switch.Here are my logs,uEnv.txt.

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 happensEnter code here



uEnv.txt
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=UUID=aa9109fe-2099-47e0-b8a5-e1a3f87848b0 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 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"


# /etc/fstab: static file system information.
#
/dev/mmcblk1p1  /  ext4  noatime,errors=remount-ro  0  1
debugfs  /sys/kernel/debug  debugfs  defaults  0  0


Robert Nelson

unread,
Jun 24, 2019, 3:12:58 PM6/24/19
to Beagle Board, salian...@gmail.com
On Mon, Jun 24, 2019 at 2:06 PM Punit Salian <salian...@gmail.com> wrote:
>
> Hey, I have tried booting linux image in 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?
>
> My emmc has a single partition debian image. U-boot lies in the first partiition of my sd card(boot by pressing s2 switch.Here are my logs,uEnv.txt.
>
> 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 happensEnter code here
>
>
>
> uEnv.txt
> 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=UUID=aa9109fe-2099-47e0-b8a5-e1a3f87848b0 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 netargs ...; run netargs ; echo bootzzzz...;bootz ${loadaddr} ${initramaddr}:${initrdsize} ${ftdaddr}
> uenvcmd=echo running netboot...;run netboot


"am335x-boneblack-uboot-univ.dtb" is the base dtb that u-boot will use
to build all final "Bone Black Compatible" devices, with
cape-universal enabled.

This "base" does not include the eMMC.

https://github.com/beagleboard/BeagleBoard-DeviceTrees/blob/v4.14.x-ti/src/arm/am335x-boneblack-uboot-univ.dts

Simple solution just use: "am335x-boneblack.dtb"

Regards,

--
Robert Nelson
https://rcn-ee.com/

Punit Salian

unread,
Jun 24, 2019, 7:12:01 PM6/24/19
to Robert Nelson, Beagle Board
Hi Robert, So basically I need to pull the file am335x-boneblack.dts and build the am335x-boneblack.dtb ? Am I right ? and just boot with am335x-boneblack.dtb

 dtc -I dts -O dtb -o am335x-boneblack.dtb am335x-boneblack.dts
Reply all
Reply to author
Forward
0 new messages