主题中讨论的其他器件:BeagleBoard-X15、 AM5728、 PMP
工具/软件:Linux
您好!
我正在尝试使用适用于572x EVM 的开箱即用 Linux SDK (版本3.01.00.06)在572X EVM 上启动并运行网络。 我已尝试将 TFTP 和 NFS 服务器都配置为静态服务器。 此外、我尝试配置 uboot.env 环境变量以允许静态 TFTP 服务器和 NFS 服务器配置、但在内核启动期间、当内核似乎从静态 TFTP 服务器加载时、内核似乎正在发送 DHCP/RARP 请求以查找和装载 NFS 服务器。
测试配置目前有点奇怪。 我正在使用中间的 BeagleBone Black 作为 TFTP 服务器来加载带内核的572XEVM、同时尝试使用 Ubuntu VM 直接托管 NFS 服务器。 由于端口69与在主机 Windows 计算机上运行的 PXELiteServer 冲突、我无法让 Ubuntu VM 在"合理的时间范围"内托管 TFTP 服务器、 因此、以及我们 IT 部门的其他保护/政策、是一位经验丰富的 Linux 人员建议我尝试将 BBB 用作中间层的原因。 我可能最终不得不将 BBB 用作 TFTP 服务器、NFS 服务器和 DHCP 服务器(如果 SDK 的默认内核构建只能通过 DHCPHP 获取 NFS 服务器 IP)。
测试配置、控制台启动日志和环境变量如下所示。 此外、我对 UEnv.txt 中的所有内容进行了注释。 我对嵌入式 Linux 比较陌生、对网络引导过程也比较陌生。
我发现3539/BeagleBone 的线程存在相同的问题(该线程"无法使用 AM335x EVM (sdk6)上的静态 IP 从 NFS 引导")、并根据该线程配置了572XEVM 环境变量、但我的内核仍在寻找一个 DHCP 服务器来获取 NFS 服务器地址。 此外,我尝试删除对任何环境变量的 DHCP 的任何引用,但想知道是否还有其他需要做的事情来将静态 NFS 服务器地址转移到5718 SDK 上的内核(请参阅上面的版本)。 Linux 内核 U-Boot 用户指南指出"..AM57x/DRA7x 中最重要的变量是 rootpath 和 nfsopts、以及 K2H/K/E/L/G.....中的 tftp_root 和 nfs_root。。。。。。。。 "
请查看以下内容。
谢谢! Jeff
测试环境配置(可能需要图片):
*静态 IP 网络上具有以下实体的交换机/集线器。
1)作为主机的 Ubuntu VM (192.168.8.10, 255.255.255.0 )
2)中间 BeagleBone Black 作为 TFTP 服务器(192.168.8.9, 255.255.255.0 )
3) AM572XEVM -仅含 SDCard (MLO、uboot.env、u-boot.img、uEnv.txt (所有行注释掉)(192.168.8.2、255.255.255.0)
控制台启动日志(摘录):
U-Boot SPL 2016.05-g2f757e5b2c (2016年10月3日- 19:01:26)
DRA752-GP ES2.0
尝试从 MMC1引导
读取 args
SPL_load_image_fat_os:读取图像参数时出错、错误--1
正在读取 u-boot.img
正在读取 u-boot.img
正在读取 u-boot.img
正在读取 u-boot.img
U-Boot 2016.05-g2f757e5b2c (2016年10月03日- 19:01:26 -0400)
CPU :DRA752-GP ES2.0
型号:TI AM5728 BeagleBoard-X15
电路板:AM572x EVM 修订版 A.3A
DRAM: 2GiB
MMC: sdr104没有 pinctrl
ddr50没有 pinctrl
sdr50没有 pinctrl
sdr25无 pinctrl
sdr12没有 pinctrl
OMAP SD/MMC:0、OMAP SD/MMC:1.
正在读取 uboot.env
SCSI: SATA link 0 timeout。
AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst
正在扫描设备总线...
找到0个器件。
NET: eth0:以太网@48484000
按任意键停止自动引导: 2 1 0
切换到分区#0,确定
mmc0是当前器件
正在阅读 uEnv.txt
1704字节在4ms 内读取(416 KiB/s)
正在从 mmc0导入环境...
未知命令'static"-尝试'help'
以太网@48484000正在等待 PHY 自动协商完成.. 完成
端口0、速度100、全双工上的链路
使用以太网@48484000器件
来自服务器192.168.8.8的 TFTP;我们的 IP 地址为192.168.8.2
文件名'zImage-am57xx-evm.bin'。
加载地址:0x82000000
正在加载:*##########################################################################################
####################################################
####################################################
####################################################
####################################################
####################################################
####################################################
####################################################
####################################################
####################################################
##################################
508.8 KiB/s
完成
传输的字节= 3576208 (369190十六进制)
端口0、速度100、全双工上的链路
使用以太网@48484000器件
来自服务器192.168.8.8的 TFTP;我们的 IP 地址为192.168.8.2
文件名"am57xx-EVM-reva3.dtb"。
加载地址:0x88000000
正在加载:*################
1.2 MIB/s
完成
传输的字节= 101816 (18db8十六进制)
内核映像@ 0x82000000 [ 0x000000 - 0x369190]
###展开的设备树 blob、88000000
使用0x88000000处的 FDT blob 进行引导
正在将设备树加载到8ffe4000,结束8ffdb7... 好的
正在启动内核...
[0.000000] 在物理 CPU 0x0上引导 Linux
[0.000000] 正在初始化 cgroup Subsys cpuset
[0.000000] 正在初始化 cgroup 子系统 CPU
[0.000000] 正在初始化 cgroup Subsys cpuacct
[0.000000] Linux 版本4.4.4.19-gdb0b54cdad (gtbldadm@ubuntu-16 )( gcc 版本5.3.1 20160113 (Linaro GCC 5.3-2016.02))#1 SMP 抢占 Mon Octo 3 18:04:11 EDT 2016
[0.000000] CPU:ARMv7处理器[412fc0f2]修订版2 (ARMv7)、CR=30c5387d
[0.000000] CPU:PIPT/VIPT 非混叠数据高速缓存、PIPT 指令高速缓存
[0.000000] 机器模型:TI AM572x EVM 修订版 A3
。
。
。
[2.499971] IPv6:ADDRCONF (NETDEV_UP):ETH1:链路未就绪
[5.386917] cpsw 48484000。以太网 eth0:链路向上- 100Mbps/全-流控制 Rx/TX
[5.398311] IPv6:ADDRCONF (NETDEV_CHANGE):eth0:链路就绪
[5.418290] 发送 DHCP 和 RARP 请求...... 超时!
[87.240485] IP-Config:正在重新打开网络设备...
[87.245398] Net eth0:正在初始化 cpsw 版本1.15 (0)
[87.250785] 净 eth0:初始化 cpsw ale 版本1.4
[87.255946] 净 eth0:ALE 表大小1024
[87.351163] net eth0:找到 PHY:id:0x221622
[87.360625] IPv6:ADDRCONF (NETDEV_UP):eth0:链路未就绪
[87.366506] Net eth1:正在初始化 cpsw 版本1.15 (0)
[87.460362] net eth1: Phy found : id is : 0x221622
[87.468292] IPv6:ADDRCONF (NETDEV_UP):eth1:链路未就绪
[90.356897] cpsw 48484000.ethernet eth0:链路向上- 100Mbps/全-流控制 Rx/TX
[90.368310] IPv6:ADDRCONF (NETDEV_CHANGE):eth0:链路就绪
[90.388291] 发送 DHCP 和 RARP 请求....
[118.091595] 随机:非阻塞池已初始化
[123.028280] 超时!
[179.119441] IP-Config:自动配置网络失败
[179.125188] AIC_DVDD_FIXED:正在禁用
[179.128887] vmmcwl_fixed:正在禁用
[179.132586] ldousb:正在禁用
[179.136051] ALSA 器件列表:
[179.139055] 未找到声卡。
[179.143320] Root-NFS:无 NFS 服务器地址
[179.147522] VFS:无法通过 NFS 装载根 FS,正在尝试软盘。
[179.153876] VFS:无法打开根设备"NFS"或未知块(2、0):错误-6
[179.161153] 请附加正确的"root="引导选项;以下是可用分区:
[179.169572] B300 30375936 mmcblk0 驱动程序:mmcblk
[179.174918] B301 71680 mmcblk0p1 722d9dbf-01
[179.180281] B302 30286848 mmcblk0p2 722d9dbf-02
[179.185624] b310 3735552 mmcblk1 驱动程序:mmcblk
[179.190988] b311 80896 mmcblk1p1 1e50ed75-01
[179.196330] b312 1047552 mmcblk1p2 1e50ed75-02
[179.201689] B313 2604032 mmcblk1p3 1e50ed75-03
[179.207032] b330 4096 mmcblk1boot1 (驱动程序?)
[179.12396] b320 4096 mmcblk1boot0 (驱动程序?)
[179.217737] 内核严重错误-未同步:VFS:无法安装根 FS
uBoot.env:printenv
=>印刷版
arch = ARM
args_mmc=run finduid;setenv bootargs console=${console}${optargets}root=PARTUUID =${uuid}rw rootfstype=${mmcrootfstype}
自动载入=否
波特率=115200
电路板= am57xx
Board_name=am57xx_evm_reva3.
Board_rev=A.3A
Board_serial=32164P551096
bootargs=console=ttyO2,115200n8 root=/dev/nfs nfsroot=192.168.8.10:/home/bhidev/ti-processor-sdk-linux-am57xx-evm-03.01.00.06/targetNFS,nolock,v3,tcp,rsize=4096,wsize=4096 rw ip=static
bootcmd=run fdfdt;运行 getuenv;setenv autoload no;static;tftp ${loadaddr}zImage-am57xx-evm.bin;tftp ${fdtaddr}${fdtfile};运行 netargs;boottz ${loadaddr}-${fdtaddr}
BOOTDELAY=2
bootdir=/tftpboot
bootenvfile=uEnv.txt
BootFile=zImage-am57xx-evm.bin
BOOTM_SIZE=0x10000000
bootpart=0:2
bootscript=echo 正在从 MMC${mmcdev}...;源${loadaddr}运行的 bootscript
console=ttyO2,115200n8.
CPU=armv7
dofastboot=0
envboot=MMC dev ${mmcdev};如果 MMC 重新扫描;然后回显在器件${mmcdev}上找到的 SD/MMC;如果运行 loadbootscript;然后运行 bootscript;否则运行 loadbootenv;然后从${bootenvfile}回显已加载的 env;运行 importbootenv;fi;if test -n $uuccmd;然后运行 envenvcmd;envive...
ethact=Ethernet@48484000
ethaddr=5c:F8:21:36:b9:F4
FDT_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontrolladdr=fef2cfd8.
fdtfile=am57xx-evm-reva3.dtb
fileaddr=82000000
filesize=5e2
findfdt=if test $board_name = omap5_uevm;then setenv fdtfile omap5-uevm.dtb;fi;if test $board_name = dra7xx;then setenv fdtfile dra7-evm.dtb;fi;if test $board_name = then 72x-revc;then 72xevm_dtb;if test=$dtv-ex-ex-ex-ext;ext ext extv =dax-v-ex-ex-ext 文件;extbedv-v-ex-ex-ex-v-ex-v-ex-ext;ext dtbedtbedv-ex-v-ex-ex-ex-ex-ex-v-v-v-ex-ex-v-ex-ex-ex Fi;如果 test $board_name = beagle_x15_revb1;然后 setenv fdtfile am57xx-beagle-x15-revb1.dtb;fi;如果 test $board_name = am57xx_evm;然后 setenv fdtfile am57xx-evm.dtb;fi;如果 test $board_name = am57xx_evm=$v_amidtb;然后 setenv_amv_amidtb;如果 test_amv_amv_amv_amidtb =$57xx/amidtb.idtb;则为$57nat_dtb; FI;if test $board_name = am572x_idk && test $idk_LCD = osd101t2045;然后 setenv fdtfile am572x-idk-lcd.dtb;fi;if test $board_name = am572x_idk && test $idk_lcd = osd101t1tx-lcdb;and $57tidtx_dtx_dtb =$57tidtx_dtx_dtb;and tidtidtidtx-tb;and $57tidtidtx_dtidtx_dtidtx-tb =$57tb;and tidtidtidtx-tx-tidtb;tidtx-tx-tidtx-fl f;if test $board_name = am571x_idk && test $idk_LCD = osd101t2045;then setenv fdtfile am571x-idk-lcd.dtb;fi; if test $board_name = am571x_idk && test $idk_lcd = osd101t-lcd.dtb;then undtv 文件无法使用 undtv;如果未定义,则无法使用 undtidtv 文件;fb 警告:undtv-d57tb;如果未定义,则无法使用 undtidtv 文件 fb;fidtv;fb;fidtb:
finduuid=part uuid MMC ${bootpart}uuid
getuenv=MMC dev ${mmcdev};如果 MMC 重新扫描;如果运行 loadbootenv;然后运行 importbootenv;fi;
importbootenv=echo 从 MMC${mmcdev}导入环境...;env 导入-t ${loadaddr}${filesize}
ip_method=static
ipaddr=192.168.8.2
kernel_addr_r=0x82000000
loadaddr=0x82000000
loadbootenv=fatload MMC ${mmcdev}${loadaddr}${bootenvfile}
loadbootscript=fatload MMC ${mmcdev}${loadaddr}boot.scr
loadfdt=load MMC ${bootpart}${fdtaddr}${bootdir}/${fdtfile};
loadimage=load MMC ${bootpart}${loadaddr}${bootdir}/${bootfile}
mmcboot=MMC dev ${mmcdev};如果 MMC 重新扫描;然后回显在器件${mmcdev}上找到的 SD/MMC;如果运行 loadimage;然后运行 loadfdt;回显从 MMC${mmcdev}引导...;运行 args_MMC;bootz ${loadaddr}-${fdtaddr};fi;fi;
mmcdev=0
mmcrootfstype=ext4 rootwait
netargs=setenv bootargs console=${console}${optargets}root=/dev/nfs fssroot=${nfsserverip}:${rootpath}、${nfsopts}RW IP=${nfsserverip}
netboot=echo Booting from network...;setenv autoload no;static;run netloadimage;run netloadfdt; 运行 netargs;bootz ${loadaddr}-${fdtaddr}
netloadfdt=tftp ${fdtaddr}${fdtfile}
netloadimage=tftp ${loadaddr}${bootfile}
网络掩码=255.255.255.0
nfsopts=nolock、v3、tcp、rsize=4096、wsize=4096
nfsserverip=192.168.8.10
partitions=uuid_disk=${uid_gppt_disk};name=rootfs、start=2MiB、size=-、uid=${uid_gppt_rootfs}
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
读数地址= 0x88080000
rootpath=/home/bhidev/ti-processor-sdk-linux-am57xx-evm-03.01.00.06/targetNFS
脚本地址=0x80000000
scsidevs=0
serverip=192.168.9.
SoC=omap5
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=串行@48020000
stdin =串行@48020000
stdout=串行@48020000
TFTP_NFS_boot=echo 从网络引导...;${loadaddr}192.168.0.9:${bootfile};运行 netargs;bootm ${loadaddr}
uenvcmd=run tftp_nfs_boot
usbtty=CDC_ACM
供应商= TI
ver = U-Boot 2016.05-g2f757e5b2c (2016年10月3日- 19:01:26 -0400)
VRAM=16M
环境大小:4762/65532字节