This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Compiler/EVMK2EX:setup-uboot-env.sh ubifs_mount:重新引导后出错

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/921366/compiler-evmk2ex-setup-uboot-env-sh-ubifs_mount-error-after-reboot

器件型号:EVMK2EX

工具/软件:TI C/C++编译器

 运行 setup-uboot-env.sh 后、EVMK2E 无法引导  

UBIFS 错误(pid 0):ubifs_get_sb:无法打开"ubi:ubi:rootfs",错误-19
UBIFS 错误(pid 0):ubifs_mount:读取卷'ubi:ubi:rootfs' errno=-19上的超级块时出错!

ubifsmount -安装 UBIFS 卷

用法:
卸载
-装载"卷名"卷
UBIFS 未安装,请先使用 ubifs 挂载来安装卷!
ubifsload -从 UBIFS 文件系统加载文件

K2E EVM # printenv
ADDR_LOAD_SEC_BM=0x0c09c000
Addr_mon=0x87000000
Addr_non_sec_mon=0x0c097fc0
Addr_sectiondb_key=0xc000000
ADDR_ubi=0x82000000
arch = ARM
args_all=setenv bootargs console=ttyS0、115200n8 rootwait=1 mtdparts=sp0.0:1m (u-boot-spl) ro、-(misc);
args_net=setenv bootargs ${bootargs}rootfstype=NFS root=/dev/nfs rw nfsroot=${serverip}:${nfs_root}、${nfs_options}ip=dhcp
args_ramfs=setenv bootargs ${bootargs}rdinit=/sbin/init rw root=/dev/ram0 initrd=0x8080000,80M
args_ubi=setenv bootargs ${bootargs}rootfstype=ubifs root=ubi0:rootfs rootflags=sync rw ubi.mtd=ubifs、2048
波特率=115200
board=ks2_evm
board_name=ks2_EVM
boot=ubi
BOOT_FDT=尝试
bootargs=console=ttyS0、115200n8 rootwait=1 mtdparts=sp0.0:1m (u-boot-spl) ro、-(MISC) rootfstype=ubifs root=ub0:fs rootflags=sync rw ubi.mtd=ubifs、2048
bootcmd=run init_${boot};运行 get_mon_${boot}run_mon;运行 get_kern_${boot};运行 init_fw_rd_${boot};运行 get_FDT_${boot}; 运行 run_kern
BOOTDELAY=2
bootdir=/boot
BOOTM_SIZE=0x10000000
burn_ubi=n 和 erase.part ubifs;n 并写入${addr_ubi}ubifs ${filesize}
burn_uboot_nAND_AND = n 并擦除0 0x100000;n 并写入${loadaddr}0 ${filesize}
burn_uboot_SPI=SF 探测器;SF 擦除0 0x100000;SF 写入${loadaddr}0 ${filesize}
CPU=armv7
dfu_alt_info_mmc=MLO fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
DFU_bufsiz=0x10000
ethact=K2E_EMAC0
ethaddr=b4:99:4c:09:A2:4F
FDT_addr_r=0x88000000
fdtaddr=0x88000000
get_FDT_net=DHCP ${fdtaddr}${tftp_root}/${name_FDT}
get_FDT_NFS=NFS ${fdtaddr}${nfs_root}/boot/${name_FDT}
get_FDT_ramfs=DHCP ${fdtaddr}${tftp_root}/${name_FDT}
get_FDT_ubi=ubifsload ${fdtaddr}${bootdir}/${name_FDT}
get_fit_mmc=load MMC ${bootpart}${fit_loadaddr}${bootdir}/${fit_bootfile}
get_fit_net=DHCP ${fit_loadaddr}${tftp_root}/${fit_bootfile}
get_fit_nfs=nfs ${fit_loadaddr}${nfs_root}/boot/${fit_bootfile}
get_fit_ramfs=DHCP ${fit_loadaddr}${tftp_root}/${fit_bootfile}
get_fit_ubi=ubifsload ${fit_loadaddr}${bootdir}/${fit_bootfile}
get_fs_ramfs=DHCP ${rdaddr}${tftp_root}/${name_fs}
get_kern_net=DHCP ${loadaddr}${tftp_root}/${name_kern}
get_kern_nfs=nfs ${loadaddr}${nfs_root}/boot/${name_kern}
get_kern_ramfs=DHCP ${loadaddr}${tftp_root}/${name_kern}
get_kern_ubi=ubifsload ${loadaddr}${bootdir}/${name_kern}
get_mon_net=DHCP ${addr_mon}${tftp_root}/${name_mon}
get_mon_nfs=nfs ${addr_mon}${nfs_root}/boot/${name_mon}
get_mon_ramfs=DHCP ${addr_mon}${tftp_root}/${name_mon}
get_mon_ubi=ubifsload ${addr_mon}${bootdir}/${name_mon}
get_ubi_net=DHCP ${addr_ubi}${tftp_root}/${name_ubi}
get_ubi_nfs=nfs ${addr_ubi}${nfs_root}/boot/${name_ubi}
get_uboot_net=DHCP ${loadaddr}${tftp_root}/${name_uboot}
get_uboot_nfs=nfs ${loadaddr}${nfs_root}/boot/${name_uboot}
init_fw_rd_net=DHCP ${rdaddr}${tftp_root}/${name_fw_rd};运行 set_rd_spec
init_fw_rd_nfs=nfs ${rdaddr}${nfs_root}/boot/${name_fw_rd};运行 set_rd_spec
init_fw_rd_ramfs=setenv rd_spec -
init_fw_rd_ubi=ubifsload ${rdaddr}${bootdir}/${name_fw_rd};运行 set_rd_spec
init_net=run args_all args_net
init_nfs=setenv 自动载入否;dhcp;运行 args_all args_net
init_ramfs=run args_all args_ramfs get_fs_ramfs
init_ubi=run args_all args_ubi;ubi 零件子项;ubifsmount ubi:rootfs;
kernel_addr_r=0x82000000
loadaddr=0x82000000
MEM_Lpae=1
mtddevname=引导加载程序
mtddevnum=0
mtdids=nand0=Davinci_nand.0
mtdparts=mtdparts=Davinci_nand.0:1024k (引导加载程序) ro、512K (params) ro、-(ubifs)
NAME_FDT=keystone-k2e-evm.dtb
NAME_FS=arago-console-image-k2e-evm.cpio.gz
NAME_FW_rd = k2-fw-initrd.cpio.gz
name_kern=zImage
name_mon=skern-k2e.bin
name_ubi=Arago-base-tisdk-image-k2e-evm.ubi
name_uboot=u-boot-spi-k2e-evm.gph
nfs_options=v3、tcp、rsize=4096、wsize=4096
nfs_root=/mnt/nfs_k2e
NO_POST=1
partition=nand0、0
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
RD_SPEC=0x88080000:
读数地址= 0x88080000
run_kern=bootz ${loadaddr}${rd_spec}${fdtaddr}
run_mon=mon_install ${addr_mon}
run_mon_hs=mon_install ${addr_non_sec_mon}${addr_load_sec_BM}
脚本地址=0x80000000
serverip=192.168.1.116
set_rd_spec=setenv rd_spec ${rdaddr}:${filesize}
SoC= KeyStone
stderr=串行
stdin =串行
stdout=串行
TFTP_ROOT=/var/lib/tftpboot
update_ubi=如果运行 get_ubi_net burn_ubi;然后回显 UBI 更新:成功;否则回显 UBI 更新:失败;fi
update_uboot=如果运行 get_uboot_net burn_uboot_SPI;然后回显 U-Boot 更新:成功;否则回显 U-Boot 更新:失败;fi
供应商= TI
ver = U-Boot 2013.01 -脏(2015年11月19日- 16:41:52)

 setup-uboot-env.sh 有两个选项 NFS 或 UBI、但这两个选项都不成功。

U-Boot 默认设置"env default -f -a"将 K2E 返回到功能 UBI 配置。

设置 U-Boot 以允许在 Ubuntu 主机上安装 EVMK2E 文件系统的正确过程是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Phillip、

    printenv 中显示的 U-Boot 版本是一个非常旧的版本。 我怀疑 u-boot 未升级到您所使用的相同版本的 PLSDK。 您能否执行以下操作来升级 u-boot 和 FLASH ubi 文件、而不使用这些脚本文件。 您需要先设置 DHCP 和 TFTP 服务器。

    1.升级 u-boot:

       # env 默认-f -a

       # setenv serverip

       # setenv tftp_root

       #运行 get_uboot_net

       #运行 burn_uboot_SPI  

       请注意、根据您的 u-boot 版本、2013.01不应具有最后一个命令、而应具有 burn_uboot。 请改用此旧命令。 即"run burn_uboot"。 等待通信完成、然后重新启动 EVM。 您应该会看到所使用的 PLSDK 版本的正确 u-boot 版本。

    2.闪存 ubi 并从 NAND 引导

       # env 默认-f -a  

       # setenv boot ubi

       # setenv serverip

       # setenv tftp_root

       # setenv name_ubi Arago-base-... ubi

       # saveenv  

       #运行 get_ubi-net

       运行 burn_ubi

       #引导

    雷克斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Rex

    U-Boot 和文件系统更新成功。 UBI 启动也成功。

    setup-uboot-env.sh 脚本有两个选项:选择了 NFS、但它将引导设置为不起作用的 NET (net)。
    将引导变量设置为 NFS 成功。

    setenv 引导 NFS
    保存
    引导

    将引导变量设置为 HDD 会产生错误。
    setenv 引导 HDD
    保存
    引导

    ##错误:"init_HDD"未定义
    ##错误:"get_mon_HDD"未定义
    ##错误:未定义"get_kern_HDD"
    ##错误:"init_fw_rd_HDD"未定义
    ##错误:未定义"GET_FDT_HDD"

    谢谢、

    Phil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Phil、

    感谢您提供信息。 对于 NFS,boot=NFS 可以为您工作,这有点奇怪。 我从第1天开始使用 boot=net、但从未使用脚本文件配置 u-boot。 因此、我不知道它在做什么。 要从网络引导,您需要在服务器上设置 NFS 文件系统挂载点,并将 setenv nfs_root 设置为该挂载点。

    硬盘引导不是 K2H 的选项。 K2H 上有3个引导选项、boot=net/ubi/ramfs。 该脚本文件是我们业务部门中所有平台的通用文件。 在 KS2系列中、K2H 没有 SATA 连接器、但 K2E 具有、因此可以在硬盘上引导 K2E、但需要创建相应的 u-boot env 变量。 我不知道脚本文件是否在执行该操作。 从 K2E 上的硬盘驱动器引导不是一种标准或常用功能。 我对在脚本文件中使用它有一些疑问。

    无论如何、很高兴听到您的问题得到解决。 我将关闭该线程。

    雷克斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Rex

    boot=NFS 确实将 EVMK2E U-Boot 配置为连接到 Ubuntu 主机上的 NFS 文件系统挂载点。  

    问题是 setup-uboot-env.sh 没有为 NFS 文件系统 点配置 U-Boot,这一点已得到澄清。

    谢谢你。

    此致、

    Phil