U-Boot - bootp & env settings -

Hi Robert,

I re-built a version of u-boot as 2018-07 release (BBBlf) for booting up from micro USB.
U-Boot SPL 2018.07-dirty
I re-built the latest version of u-boot as 2020-07 release.
U-Boot 2020.07-00442-g186529953f
Here is what I did:
Erased EEPROM of BBBw (dev board)
loaded 2018-07 u-boot through micro USB
re-programmed EEPROM as orignal ( except serial number)
re-flashed debian (2020-10 buster version)
re-flashed U-Boot 2020.07-00442-g186529953f
I expected to successfully reboot to debian.
But when the u-boot is started, it still trying bootp and tftp as the version that loaded through micro USB. (Note: this is normal reboot without BOOT sw2 pressed). Here is the messages:

U-Boot SPL 2020.07-00442-g186529953f (Jul 22 2020 - 09:59:50 -0400)
Trying to boot from MMC2

U-Boot 2020.07-00442-g186529953f (Jul 22 2020 - 09:59:50 -0400)

CPU  : AM335X-GP rev 2.1
Model: TI AM335x BeagleBone Black
DRAM:  512 MiB
WDT:   Started with servicing (60s timeout)
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Loading Environment from FAT... <ethaddr> not set. Validating first E-fuse MAC
Net:   Could not get PHY for ethernet@4a100000: addr 0
eth2: ethernet@4a100000, eth3: usb_ether
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
switch to partitions #0, OK
mmc1(part 0) is current device
SD/MMC found on device 1
** Invalid partition 2 **
## Error: "bootcmd_nand0" not defined
starting USB...
Bus usb@47401800: Port not available.
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC de:ad:be:ef:00:01
HOST MAC de:ad:be:ef:00:00
RNDIS ready
musb-hdrc: peripheral reset irq lost!
high speed config #2: 2 mA, Ethernet Gadget, using RNDIS
USB RNDIS network up!
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3

//================================= END OF MESSAGES

It seems to me that the uboot environment settings was changed by u-boot of micro usb (2018 ver). So even the 2020 version is flashed, the environment is set to bootp and tftp.

Thank you,

David

Hi @dzhou, mainline needs extlinux.conf file to boot:

In the default images just run:

debian@beaglebone:/opt/scripts/tools$ sudo ./generate_extlinux.sh

It’ll generate:

debian@beaglebone:/opt/scripts/tools$ cat /boot/extlinux/extlinux.conf 
label Linux 4.19.94-ti-r45
    kernel /boot/vmlinuz-4.19.94-ti-r45
    append console=ttyO0,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet
    fdtdir /boot/dtbs/4.19.94-ti-r45/

Regards,

Hi Robert,

I created extlinux.conf from the BBBw that runs debian 2020-5-18
Bone-debian-10.4-iot-armhf-2020-05-18-4gb.img.xz

debian@beaglebone:/opt/scripts/tools$ cat /boot/extlinux/extlinux.conf          
label Linux 4.19.94-ti-r43                                                      
    kernel /boot/vmlinuz-4.19.94-ti-r43                                         
    append console=ttyO0,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet          
    fdtdir /boot/dtbs/4.19.94-ti-r43/

(compared with yours: r45)

But: the BBBw dev board doesn’t boot any more after creating the .conf file. Here is the error:

Retrieving file: /boot/extlinux/extlinux.conf                                   
256 bytes read in 27 ms (8.8 KiB/s)                                             
1:      Linux 4.19.94-ti-r43                                                    
Retrieving file: /boot/vmlinuz-4.19.94-ti-r43                                   
10095616 bytes read in 651 ms (14.8 MiB/s)                                      
append: console=ttyO0,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 coherent_p
ool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet             
Retrieving file: /boot/dtbs/4.19.94-ti-r43/am335x-boneblack-wireless.dtb        
61131 bytes read in 80 ms (746.1 KiB/s)                                         
## Flattened Device Tree blob at 88000000                                       
   Booting using the fdt blob at 0x88000000                                     
   Loading Device Tree to 8ffee000, end 8ffffeca ... OK                         
                                                                                
Starting kernel ...                                                             
                                                                                
[    0.000777] timer_probe: no matching timers found                            
[    0.115522] l4_wkup_cm:clk:0010:0: failed to disable                         
[    0.820176] omap_voltage_late_init: Voltage driver support not added         
[    1.023295] cpu cpu0: dev_pm_opp_set_rate: failed to find current OPP for freq 1000000000 (-34)                                                              
[    1.040891] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)                                                                   
[    1.049213] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.94-ti-r43 #1buster
[    1.056381] Hardware name: Generic AM33XX (Flattened Device Tree)            
[    1.062551] [<c0113e18>] (unwind_backtrace) from [<c010e388>] (show_stack+0x20/0x24)                                                                         
[    1.070350] [<c010e388>] (show_stack) from [<c0d20f5c>] (dump_stack+0x8c/0xa0)                                                                               
[    1.077617] [<c0d20f5c>] (dump_stack) from [<c013c6f0>] (panic+0x10c/0x278)  
[    1.084626] [<c013c6f0>] (panic) from [<c1401904>] (mount_block_root+0x1e4/0x290)                                                                            
[    1.092149] [<c1401904>] (mount_block_root) from [<c1401adc>] (mount_root+0x12c/0x148)                                                                       
[    1.100108] [<c1401adc>] (mount_root) from [<c1401c58>] (prepare_namespace+0x160/0x1a8)                                                                      
[    1.108155] [<c1401c58>] (prepare_namespace) from [<c1401420>] (kernel_init_freeable+0x3f8/0x40c)                                                            
[    1.117077] [<c1401420>] (kernel_init_freeable) from [<c0d36484>] (kernel_init+0x18/0x128)                                                                   
[    1.125386] [<c0d36484>] (kernel_init) from [<c01010e8>] (ret_from_fork+0x14/0x2c)                                                                           
[    1.132990] Exception stack(0xdc149fb0 to 0xdc149ff8)                        
[    1.138068] 9fa0:                                     00000000 00000000 00000000 00000000                                                                    
[    1.146287] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000                                                                    
[    1.154505] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000      
[    1.161175] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---

//========end of messages

I created a folder /boot/extlinux and copied extlinux.conf into the folder on the first BBBw dev board, which won’t boot to kernel. Now it is booting, but with the same error messages as posted above.
(Both BBBw boards are running the same version of debian (as of 2020-5-18)

Thank you,
david

Hi @dzhou, can you remove the “quiet” option, and re-post the boot log. The quiet option hid most of the failure.

Regards,

Hi Robert,

Boot messages without quiet flag. extlinux_conf_bootmsg.txt (18.0 KB)

Thank You,

David

[    1.392497] mmc1: new high speed MMC card at address 0001
[    1.403377] mmcblk1: mmc1:0001 M62704 3.56 GiB 
[    1.408725] mmcblk1boot0: mmc1:0001 M62704 partition 1 2.00 MiB
[    1.415358] mmcblk1boot1: mmc1:0001 M62704 partition 2 2.00 MiB
[    1.421681] mmcblk1rpmb: mmc1:0001 M62704 partition 3 512 KiB, chardev (245:0)
[    1.435118]  mmcblk1: p1


[    2.252321] VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0): error -6
[    2.260432] Please append a correct "root=" boot option; here are the available partitions:
[    2.268942] b300         3735552 mmcblk1 
[    2.268948]  driver: mmcblk
[    2.275898]   b301         3682304 mmcblk1p1 cbad22ad-01

I didn’t see any other mmc references in the boot log:

Change:

root=/dev/mmcblk0p1

to:

root=/dev/mmcblk1p1

int /boot/extlinux/extlinux.conf

Regards,

Hi Robert,

Worked! Great. Thank you so much.

Best Regards,

David