cutsom rootfs RCN kernel

So . . .

[ 5.174190] of_cfs_init
[ 5.176726] of_cfs_init: OK
[ 5.183633] Waiting for root device /dev/mmcblk1p1…

The problem is . . .
william@ds:~/armhf-rootfs$ cat uEnv.txt | grep mmcroot
mmcroot=/dev/mmcblk0p1
mmcargs=setenv bootargs console=tty0 console=${console} ${optargs} ${cape_disable} ${cape_enable} root=${mmcroot} rootfstype=${mmcrootfstype} ${cmdline}

So this path must be coming from the initramfs somehow except there is no initramfs. I may be able to fix this by setting root=/dev/mmcblk0p1 in the second stage uEnv.txt, but what gives ?

Robert,

Ok, here is exactly what I did, incase you might spot something else I did wrong . . .

I downloaded your barefs, chroot’d into it, and used APT to install a 4.4bone kernel, and a few tools. tar’d that up, and tar’d it back to a working single partition (eMMC)

The kernel loads, but get stuck on the line I showed above. So I may need to change to mmcblk1 ? Will give your suggestion a try. . .

Still not working. The dahmed thing insists on booting from mmcblk1 when there is not mmcblk1 inserted. But as soon as I do insert an sdcard, it boots from it.

Checking for: /boot/uEnv.txt …
gpio: pin 55 (gpio 55) value is 1
1181 bytes read in 19 ms (60.5 KiB/s)
Loaded environment from /boot/uEnv.txt
debug: [dtb=am335x-boneblack-emmc-overlay.dtb] …
Using: dtb=am335x-boneblack-emmc-overlay.dtb …
Checking if uname_r is set in /boot/uEnv.txt…
gpio: pin 56 (gpio 56) value is 1
Running uname_boot …
loading /boot/vmlinuz-4.4.9-bone10 …
7400656 bytes read in 426 ms (16.6 MiB/s)
loading /boot/dtbs/4.4.9-bone10/am335x-boneblack-emmc-overlay.dtb …
54722 bytes read in 61 ms (876 KiB/s)
debug: [console=ttyO0,115200n8 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait ipv6.disable=1] …
debug: [bootz 0x82000000 - 0x88000000] …
Kernel image @ 0x82000000 [ 0x000000 - 0x70ecd0 ]

Flattened Device Tree blob at 88000000

Booting using the fdt blob at 0x88000000
Using Device Tree in place at 88000000, end 880105c1

Starting kernel …
. . .
4.909003] bone_capemgr bone_capemgr: compatible-baseboard=ti,beaglebone-black - #slots=4
[ 4.973365] bone_capemgr bone_capemgr: slot #0: No cape found
[ 5.033361] bone_capemgr bone_capemgr: slot #1: No cape found
[ 5.093361] bone_capemgr bone_capemgr: slot #2: No cape found
[ 5.153364] bone_capemgr bone_capemgr: slot #3: No cape found
[ 5.159194] bone_capemgr bone_capemgr: initialized OK.
[ 5.165483] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[ 5.174197] of_cfs_init
[ 5.176733] of_cfs_init: OK
[ 5.183637] Waiting for root device /dev/mmcblk1p1…

Andhere it’ll sit until i insert and sdcard, or reboot.

Also
debug: [console=ttyO0,115200n8 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait ipv6.disable=1

is not what I have.
william@beaglebone:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mmcblk0boot0 179:8 0 2M 1 disk
mmcblk0boot1 179:16 0 2M 1 disk
mmcblk0 179:0 0 3.6G 0 disk
-mmcblk0p1 179:1 0 3.6G 0 part mmcblk1 179:24 0 14.7G 0 disk -mmcblk1p1 179:25 0 1.7G 0 part /
william@beaglebone:~$ sudo mount /dev/mmcblk0p1 /media/rootfs/
[sudo] password for william:
william@beaglebone:~$ cd /media/rootfs/
william@beaglebone:/media/rootfs$ sudo cat uEnv.txt|grep mmcblk0p1
#mmcroot=/dev/mmcblk0p1
mmcargs=setenv bootargs console=tty0 console=${console} ${optargs} ${cape_disable} ${cape_enable} root=/dev/mmcblk0p1 ro rootfstype=${mmcrootfstype} ${cmdline}
william@beaglebone:/media/rootfs$ cat etc/fstab

UNCONFIGURED FSTAB FOR BASE SYSTEM

/dev/mmcblk0p1 / auto errors=remount-ro 0 1

I also tried your suggestion and used uenv_root, but it made no difference. uboot is overriding what I set for root=

Somehow this worked for me: I guess mmcargs was not the right place to put uenv_root= . . .

debian@arm:~$ cat /uEnv.txt
##This will work with: Angstrom’s 2013.06.20 u-boot.

loadaddr=0x82000000
fdtaddr=0x88000000
rdaddr=0x88080000

initrd_high=0xffffffff
fdt_high=0xffffffff

#for single partitions:
uenv_root=/dev/mmcblk0p1 rw

loadximage=load mmc 0:1 ${loadaddr} /boot/vmlinuz-${uname_r}
loadxfdt=load mmc 0:1 ${fdtaddr} /boot/dtbs/${uname_r}/${fdtfile}
#loadxrd=load mmc 0:1 ${rdaddr} /boot/initrd.img-${uname_r}; setenv rdsize ${fil esize}
loaduEnvtxt=load mmc 0:1 ${loadaddr} /boot/uEnv.txt ; env import -t ${loadaddr} ${filesize};
loadall=run loaduEnvtxt; run loadximage; run loadxfdt;

mmcargs=setenv bootargs console=tty0 console=${console} ${optargs} ${cape_disabl e} ${cape_enable} root=/dev/mmcblk0p1 ro rootfstype=${mmcrootfstype} ${cmdline}

uenvcmd=run loadall; run mmcargs; bootz ${loadaddr} - ${fdtaddr};

Anyway, uenv_root= got it working, thanks Robert !

Note: Don’t do an apt-get upgrade it’ll royally screw things up. For me it rendered tzdata half installed, and cause everything else related to apt to break. With no way to back out, or easily fix the problem.