I kept on having problems booting one of my Cumulus Linux switches. Cumulus Linux U-Boot errors was the cause of the problem:

Success: Found uboot-env mtd partition
Failure: Unable to find sysroot2 partition...
Spawning debug shell so you can have a look ...

I have attached the files that we will move to the switch via TFTP at the bottom of this post.

WARNING, DO NOT USE FILES UNLESS YOU HAVE A 6448 GIG SWITCH! Even if you have Cumulus Linux U-Boot errors because this is only for a 6448 GIG switch.

First we set the IP address:

cumulus_switch-> setenv ipaddr 192.168.1.10 
cumulus_switch-> setenv netmask 255.255.255.0
cumulus_switch-> setenv gatewayip 192.168.1.10
cumulus_switch-> setenv serverip 192.168.1.2

 

Next we will do a printenv save this as you will compare this in later steps:

cumulus_switch-> printenv

Next we set up the Environment to boot into Onie (Onie was previously unavailable due to Cumulus Linux U-Boot errors).

cumulus_switch-> setenv q1start 0xffb00000
cumulus_switch-> setenv q1sz.b 0x00400000
cumulus_switch-> tftp onie-dni_6448-r0.bin

We will see something like this:

Speed: 100, full duplex
Using eth0 device
TFTP from server 192.168.1.2; our IP address is 192.168.1.10
Filename 'onie-dni_6448-r0.bin'.
Load address: 0x8000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
##################################################
done

Next we will remove protection from the U-Boot Bootloader

cumulus_switch-> protect off $q1start +${q1sz.b} && erase $q1start +${q1sz.b}

You will see something like this:

 ................ done
Un-Protected 16 sectors

................ done
Erased 16 sectors

Now we will move the file that we copied via TFTP to the system:

cumulus_switch-> cp.b $fileaddr $q1start
cumulus_switch-> md $q1start
cumulus_switch-> md 0xffe00000
cumulus_switch-> md 0xff800000

You will see various printouts from the file information by after typing md with HEX values

Next we protect the startup file:

cumulus_switch-> protect on $q1start +${q1sz.b}

And we will do the same thing for the new uboot+env:

cumulus_switch-> setenv q2start 0xfff40000
cumulus_switch-> setenv q2sz.b 0x000c0000
cumulus_switch-> tftp onie-dni_6448-r0.bin.uboot+env

cumulus_switch-> protect off $q2start +${q2sz.b} && erase $q2start +${q2
cumulus_switch-> protect off $q2start +${q2sz.b} && erase $q2start +${q2
...... done
Un-Protected 6 sectors

...... done
Erased 6 sectors
cumulus_switch-> cp.b $fileaddr $q2start ${q2sz.b}
Copy to Flash... 9....8....7....6....5....4....3....2....1....done

cumulus_switch-> md $q2start
cumulus_switch-> md 0xfff80000
cumulus_switch-> protect on $q2start +${q2sz.b}

Now we will compare our printenv to what we had before moving over the new files and it should be the same.

cumulus_switch-> printenv

Now we will reset into the U-Boot again:

cumulus_switch-> reset

Writing to Flash... 9....8..9....8....7....6....5....4....3....2....1....done
. done
Protected 1 sectors

Press space bar now to get into the U-Boot prompt to run Onie:

Hit any key to stop autoboot: 0

cumulus_switch-> run onie_rescue

Hopefully this helps you resolve any Cumulus Linux U-Boot errors that may have been encountered. Please feel free to leave a comment if you have resolved other Cumulus Linux U-Boot errors and would like them included in this post or another post on this blog.

WARNING, DO NOT USE FILES UNLESS YOU HAVE A 6448 GIG SWITCH!
Files are Hosted at DreamObjects here:

onie-dni_6448-r0.bin.uboot+env
onie-dni_6448-r0.bin

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.