3
bootloader update URX851 EVK 1 LGP
Matthias Hofmann edited this page 2023-08-11 18:10:41 +00:00

The following steps describe the update procedure for MaxLinear URX851- EVK-1 LGP board with a u-boot 2016.07 or newer to the latest 2022.01.x.

This upgrade is recommended in order to move from a board that is running UGW to prplOS

Warning: In case you want to update a URX851- HDK-3 or URX851- HDK-4 (OSP) board, please use this page

  1. remember to store IP address and MAC address

    Lightning # print ipaddr
                ipaddr=10.91.19x.xx
    Lightning # print ethaddr
                ethaddr=AC:9A:96:F0:xx:xx
    
  2. update u-boot and reset the environment

    Copy the binary image ./bin/targets/<platform>/uboot-intel-x86/u-boot-plus-spl-emmc.bin to the root of your tftp server.

    Set up the environment variables for the network

    Lightning # setenv ipaddr 192.168.1.1
    Lightning # setenv netmask 255.255.255.0
    Lightning # setenv gatewayip 192.168.1.2
    Lightning # setenv serverip 192.168.1.10
    Lightning # setenv tftppath /
    
    Lightning # setenv u-boot u-boot-plus-spl-emmc.bin
    

Put the following files into the root of your tftp server:

u-boot-plus-spl-emmc.bin 
openwrt-intel_x86-lgm-LGM_PRPL-lgp_b0_fullimage.img
ext4.fs

Then run the update

Lightning # run update_uboot
Lightning # run reset_uboot_config

reset and your board should reboot and stop in u-boot with a Lightning # prompt

  1. restore basic u-boot variables including your board specific MAC and update the fullimage
Lightning # setenv ethaddr AC:9A:96:F0:xx:xx
Lightning # setenv ipaddr 10.91.19x.xx
Lightning # setenv netmask 255.255.224.0
Lightning # setenv gatewayip 10.91.128.1
Lightning # setenv serverip 10.91.169.4
Lightning # setenv tftppath wachendo/
Lightning # setenv u-boot u-boot-plus-spl-emmc.bin
Lightning # setenv loglevel 4
Lightning # setenv ddr_mem 3070M
Lightning # setenv addmisc setenv bootargs \${bootargs} earlycon=lantiq,mmio32,0xe0a00000 console=ttyLTQ0,115200n8r ethaddr=\${ethaddr} maxcpus=4 mem=\${ddr_mem} memmap=31M$1M,0x\${filesystem_size}\$0x\${rootfs_loadaddr} loglevel=\${loglevel} intel_pstate=active intel_idle.max_cstate=2 max_cpufreq=\${max_cpu_freq} init_cstate_margin=1 init_pstate_threshold=20 epu_table_ver=\${epu_table_ver} pci=pcie_bus_perf

Lightning # saveenv

run this command on URX851-EVK-1 (LGP) only, do not run this command on OSP:
Lightning # run init_user_partition

Lightning # run upgrade_fs_init

Lightning # run update_fullimage
Lightning # mmc erase ${overlay_container_a_block_start} ${overlay_container_a_block_size}
Lightning # mmc erase ${overlay_container_b_block_start} ${overlay_container_b_block_size}
Lightning # run bootcmd

Complete Sequence

Below you can see a complete sequence for reference:

Lightning # setenv ethaddr AC:9A:96:F0:97:50
Lightning # setenv ipaddr 192.168.1.1
Lightning # setenv netmask 255.255.255.0
Lightning # setenv gatewayip 192.168.1.254
Lightning # setenv serverip 192.168.1.10
Lightning # setenv tftppath /
Lightning # setenv u-boot u-boot-plus-spl-emmc.bin
Lightning # run update_uboot
Using ethernet@e7150000 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.1
Filename 'u-boot-plus-spl-emmc.bin'.
Load address: 0x8200000
Loading: #################################################################
         #############################
         1.9 MiB/s
done
Bytes transferred = 479264 (75020 hex)
Total of 1 word(s) were the same
getting rbe from the env
Image contains header with name [RBE]
This is not kernel image and so removing header
getting uboot from the env
Image contains header with name [u-boot image]
writing u-boot-plus-spl-emmc.bin to partition uboot_a in 0:9
blksize: 512, src_len: 274400, part size: 2048, blkcnt: 536
Updating uboot partition from 1024 size: 274400, cnt: 536
Writing to redundant MMC(0)... done
getting rbe from the env
Image contains header with name [RBE]
This is not kernel image and so removing header
getting uboot from the env
Image contains header with name [u-boot image]
writing u-boot-plus-spl-emmc.bin to partition uboot_b in 0:a
blksize: 512, src_len: 274400, part size: 2048, blkcnt: 536
Updating uboot partition from 3072 size: 274400, cnt: 536
Writing to MMC(0)... done - 

Lightning # run reset_uboot_config
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 15360, count 16 ... 16 blocks written: OK

MMC write: dev # 0, block # 16384, count 16 ... 16 blocks written: OK

Lightning # reset
Hit any key to stop autoboot:  0
booting bankA
switch to partitions #0, OK
mmc0(part 0) is current device
Can't set block device
switch to partitions #0, OK
mmc0(part 0) is current device
Can't set block device
Lightning #

Reset partition table -- do not do this on HDK-3 -4

Lightning # run init_user_partition
Writing GPT: success!
Lightning #
Lightning # setenv fullimage openwrt-intel_x86-lgm-LGM_PRPL-lgp_b0_fullimage.img
Lightning # setenv rootfs /openwrt-intel_x86-lgm-LGM_PRPL-squashfs-fs.rootfs
Lightning # setenv bootfile /openwrt-intel_x86-lgm-LGM_PRPL-kernel.bin
Lightning # setenv dtb openwrt-intel_x86-lgm-LGM_PRPL-lgp_b0.dtb
Lightning # setenv ethaddr AC:9A:96:F1:27:20
Lightning # setenv ipaddr 192.168.1.1
Lightning # setenv netmask 255.255.255.0
Lightning # setenv gatewayip 192.168.1.254
Lightning # setenv serverip 192.168.1.10
Lightning # setenv tftppath /
Lightning # setenv u-boot u-boot-plus-spl-emmc.bin
Lightning # setenv loglevel 4
Lightning # setenv ddr_mem 3070M
Lightning # setenv vendor_id ALCL
Lightning # setenv addmisc setenv bootargs \${bootargs} earlycon=lantiq,mmio32,0xe0a00000 console=ttyLTQ0,115200n8r ethaddr=\${ethaddr} maxcpus=4 mem=\${ddr_mem} memmap=31M$1M,0x\${filesystem_size}\$0x\${rootfs_loadaddr} loglevel=\${loglevel} intel_pstate=active intel_idle.max_cstate=2 max_cpufreq=\${max_cpu_freq} init_cstate_margin=1 init_pstate_threshold=20 epu_table_ver=\${epu_table_ver} pci=pcie_bus_perf
Lightning #



Lightning # saveenv
Saving Environment to MMC... Writing to MMC(0)... OK
Lightning # run upgrade_fs_init
Using ethernet@e7150000 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.1
Filename '/ext4.fs'.
Load address: 0x8200000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ######
         1.8 MiB/s
done
Bytes transferred = 117440512 (7000000 hex)

MMC erase: dev # 0, block # 17408, count 229376 ... 229376 blocks erased: OK

MMC erase: dev # 0, block # 246784, count 229376 ... 229376 blocks erased: OK
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 17408, count 229376 ... 229376 blocks written: OK

MMC write: dev # 0, block # 246784, count 229376 ... 229376 blocks written: OK
Lightning #
Lightning # run update_fullimage
Using ethernet@e7150000 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.1
Filename '/openwrt-intel_x86-lgm-LGM_PRPL-lgp_b0_fullimage.img'.
Load address: 0x8200000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ################################################################
         2 MiB/s
done
Bytes transferred = 55327021 (34c392d hex)
switch to partitions #0, OK
mmc0(part 0) is current device
getting kernel from the env
Image contains header with name [X86_64 LEDE Linux-git_git_maxlin]
writing /openwrt-intel_x86-lgm-LGM_PRPL-kernel.bin to partition extended_boot_a in 0#extended_boot_a
Upgrading lateboot software
blksize: 512, src_len: 6229489, part size: 229376, blkcnt: 12167
File System is consistent
update journal finished
getting rootfs from the env
Image contains header with name [LEDE RootFS]
This is not kernel image and so removing header
writing /openwrt-intel_x86-lgm-LGM_PRPL-squashfs-fs.rootfs to partition extended_boot_a in 0#extended_boot_a
Upgrading lateboot software
blksize: 512, src_len: 48981984, part size: 229376, blkcnt: 95668
File System is consistent
update journal finished
noffset 152 depth 1 name flat_dt-1
Found device tree image at 0b6a77e4 len 113776
writing <NULL> to partition dtb_a in 0#extended_boot_a
Upgrading lateboot software
blksize: 512, src_len: 113776, part size: 1024, blkcnt: 223
Updating dtb partition from 13312 size: 113776, cnt: 223
Saving Environment to MMC... Writing to MMC(0)... OK
getting kernel from the env
Image contains header with name [X86_64 LEDE Linux-git_git_maxlin]
writing /openwrt-intel_x86-lgm-LGM_PRPL-kernel.bin to partition extended_boot_b in 0#extended_boot_b
Upgrading lateboot software
blksize: 512, src_len: 6229489, part size: 229376, blkcnt: 12167
File System is consistent
update journal finished
getting rootfs from the env
Image contains header with name [LEDE RootFS]
This is not kernel image and so removing header
writing /openwrt-intel_x86-lgm-LGM_PRPL-squashfs-fs.rootfs to partition extended_boot_b in 0#extended_boot_b
Upgrading lateboot software
blksize: 512, src_len: 48981984, part size: 229376, blkcnt: 95668
File System is consistent
update journal finished
noffset 152 depth 1 name flat_dt-1
Found device tree image at 434a77e4 len 113776
writing <NULL> to partition dtb_b in 0#extended_boot_b
Upgrading lateboot software
blksize: 512, src_len: 113776, part size: 1024, blkcnt: 223
Updating dtb partition from 14336 size: 113776, cnt: 223
Saving Environment to MMC... Writing to redundant MMC(0)... OK
Lightning #
Lightning # mmc erase ${overlay_container_a_block_start} ${overlay_container_a_block_size}

MMC erase: dev # 0, block # 812032, count 65536 ... 65536 blocks erased: OK
Lightning #   
Lightning # mmc erase ${overlay_container_b_block_start} ${overlay_container_b_block_size}

MMC erase: dev # 0, block # 877568, count 65536 ... 65536 blocks erased: OK
Lightning #

run bootcmd

boot till box is up then reboot once