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.
工具/软件:Linux
您好!
我们有一个基于 AM3352和 BBB 的定制板。 在开发过程中、我们在 Windows 7计算机上使用 uniflash 加载了电路板 eMMC、并使用 flasher.sh 脚本等。
对于生产、我们不希望使用 Windows 7、我们在所有测试系统上都安装了 Windows 10、但是由于 Win10上的驱动程序处理方式不同、我们无法在 Win10上使用 Uniflash 刷写电路板。 因此、由于整个闪存过程应在 Linux 上运行、我们认为我们可能可以使用从 Windows 计算机进行 netboot 的 Raspberry Pi、然后使用 Raspberry Pi 来刷写电路板。
我跟着这本指南, 但在拉斯比亚,我运气不好。 我已在 Ubuntu 12.04上使用它。 在最新的 Raspbian 上,我已经测试了不同的方法,包括 ISC-DHCP-server 和 dnsmaqs,但没有结果。
那么、我在中的问题是、为什么这在和(真正)旧的 Ubuntu 上可以正常工作、但在更新的 Linux 版本上不能正常工作? 有人尝试过这种方法吗?
提前感谢!
此致、
Jonas
尊敬的 Ron:
我不知道 Microsoft 重新添加了驱动程序。 我会尽快尝试、因为这对我们来说是最佳解决方案。 我是否仍然需要使用 uniflash 3.4或是否为 Sitara 更新了 Uniflash 4?
当我尝试从 Raspberry Pi 上的 Raspbian 引导时、我会从 ISC-DHCP-服务器获取 IP、但它从不会开始发送任何文件。 因此 AM3352不会开始引导。 在监控 UART0时、我得到的只是 CCCCC、直到我插入 USB 电缆。 然后、C 停止和 usb0将出现在 Raspberry Pi 上。
如果 Windows 不起作用、我可能会尝试使用旧版本的 Raspbian、如果效果更好的话。
请告诉我您通过 BBB 测试得到的结果。
您好!
我今天的培训内容更深入了。
我需要在 dhcpd.conf 中添加 tftp-server 和 next server:
子网192.168.2.0子网掩码255.255.255.0 { 选项 tftp-server-name "192.168.2.1"; 下一个服务器192.168.2.1; 范围 dynamic-BOOTP 192.168.2.2 192.168.2.100; if substring (选项 vender-class-identifier,0,10)="am335x rom" { 文件名"u-boot-spl-restore.bin"; log ("AM335x ROM"); } elsif 子字符串(选项 vender-class-identifier、0、10)="DM814x ROM" { 文件名"u-boot-spl-restore.bin"; log ("DM814x ROM"); } elsif 子字符串(选项 vender-class-identifier、0、17)="AM335x U-Boot SPL" { 文件名"u-boot-restore.img"; log ("AM335x U-Boot SPL"); } 否则 { 文件名"zImage"; log ("AM335x zImage"); } 范围192.168.2.101 192.168.2.199; }
这些日志用于调试。 我现在遇到的问题是、每次 usb0接口再次出现(一个编程周期为四次)、我似乎找不到重新启动 ISC-DHCP-server 的方法。 在较新的 Raspbian 版本中、/etc/network/ip-up 不再使用、它看起来...
感谢您提供链接 Ron。 它似乎也很有希望在 Windows 10上启动和运行它。
在另一个线程中、JONI 似乎能够使 Windows 10将 ROM 引导识别为 RNDIS、这是我失败的情况。
我问 Jon iin 另一个主题、他采取了哪些步骤来使其更好地工作。
对此进行了一些更新。
我无法使用 Windows 10使其正常工作。 我发现一些 node.js 应用程序(node-beagle-boot)看起来很有希望,但无法安装。
但在 Raspberry PI 上使用 NetworkManager 方法时、我已经能够取得一些进一步的结果。 我现在能够自动加载 u-boot SPL 等和闪存器内核。 只需插入 USB 电缆即可开始加载。 但是、当闪存器内核请求 DHCP 租约时、它不会接收到。 但 ISC-DHCP-server 为正确的 MAC 提供了一个。
奇怪的是(使用我上面的帖子中的 dhcpd.conf 设置)我获得的 IP 租约范围为192.168.2.2-192.168.2.100。 但我认为这只是在 BOOTP 请求期间? Flasher 内核正在发送常规 DHCP 请求(看起来至少来自日志)。 因此、我希望获得范围为192.168.2.101-192.168.2.199的 IP。 这是问题吗?
以下是 Raspberry Pi 的 DHCP-log:
3月11日15:22:02 raspberrypi dhcpcd[360]:USB0:无 IPv6路由器 3月11日15:22:17 raspberrypi dhcpd[5714]:AM335x zImage 3 11 15:22:17 raspberrypi 未知 d[5714]:DHCPvr Or 从 ns1.example.org:18:561:15:562d:rbd:15:563rbd:17 rbr dhcpi 未知 3月11日15:22:18 raspberrypi dhcpd[5714]:ns2.example.org:主机未知。 3月11日15:22:18 raspberrypi dhcpd[5714]:DHCPOFFER on 192.168.2.8 to E6:54:40:53:61:9e via usb0 3 11 15:22:18 raspberrypi dhcpd[5714]:AM335x zImage DHCP11:22:18 rbp 18 :00 rcpe6:00:rp 18:00 rcpd:rcpd:rasp 18:rp 18:rcpd:rcpd:rcpd:rp 18:rcpd:rcpd:rp 18:rcpd:rcpd:rasp 18:rp 18:rcpd:rcpd:rcpd:rcpi dr a rp 18:rcpd:rcpd
您可以从"AM335x zImage"中看到、使用了配置。 我已经注释掉了文件名为"zImage"的行、因为 u-boot 会通过自身获取该行。
下面是 Sitara Fetcher 脚本的输出(我进行了一些修改、以加载 g_ether 模块并显示 ifconfig 的输出:
(二 (二 Sitara 闪存取器脚本 v2.1 - 2016年3月11 日此版本与基于 Linux 4.1内核的 Processor SDK Linux 2.0.0保持一致。 J-Lo-version 2019-01-31 insmod /lib/modules/3.12.30/kernel/drivers/usb/gadget/g_ether.ko [3.317854]使用随机自以太网地址 [3.323220]使用随机主机以太网地址 [3.329094] usb0:主机 MAC f6:85:25:ca:ae:ec [ 3.333735] usb0:Mac E6:54:53:61:9gadether [ 使用 随机 以太网地址3.33735]使用随机以太网地址[3.3gadether:33735] 2008年阵亡将士纪念日 [3.355019] g_ether 小工具:g_ether ready lsmod 未受 USBg_NET1588污染 0 - Live bbbf01e000 USB_f_ECM_subset 2732 0 - Live bbbf01a000 USB_f_ECM 4444 1 - Live bbbf015000 USB_f_RNDIS 4608 2 g_ether、Live subset f010000 u_REV 5164 1 USB_f_RECM、Live bnbd0092、USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_bether、USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_bether、USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_USB_ 链路未就绪 Live bbf000000 udhcpc (v1.23.1)已开始 发送 discover... [4.080165] g_ether 小工具:高速配置#1:CDC 以太网(ECM) [4.087739] IPv6:ADDRCONF (NETDEV_CHANGE):USB0:链路已准备 就绪、正在发送 discover... 正在发送发现... 无需租赁、可用于后台 办公 链路环状图:本地环回 iNet addr:127.0.0.1掩码:255.0.0.0 inet6 addr:::1/128范围:Host 正在运行 MTU:65536公制:1的上环回 RX 数据包:0错误:0丢弃:0超限:0帧:0 TX 数据包:0错误:0丢弃:0超限:0载波:0 冲突:0 txqueuelen:0 RX 字节:0 (0.0 B) TX 字节:0 (0.0 B) usb0 链接地址:以太网 HWaddr E6:54:40:53:61:9E inet6 addr:fe80:e454:40ff:fe53:619e/64范围:链接 运行多播 MTU:1500公制:1的上广播 RX 数据包:33错误:0丢弃:0超限:0帧:0 TX 数据包:8错误:0丢弃:0超限:0载波:0 冲突:0 txqueuelen:1000 RX 字节:3533 (3.4 KiB) TX 字节:1172 (1.1 KiB) 未找到服务器 IP、设置为默认 值从服务器获取 flasher.sh:192.168.2.1 tftp:Sendto:无法访问网络 无法获取 Flasher 脚本! 正在退出...
如果有任何建议、我们将不胜感激!
如果我没有获得 IP、则通过在 fetcher 脚本中发出 udhcpc -i usb0来使其正常工作。
现在、只需将 USB 电缆插入电路板、等待90秒、电路板就会启动并运行!