我在嵌入式设备中使用busybox。内置的busybox相当有限。所以我想尝试用新的、更完整的版本替换busybox。我找到了一些关于在设备上使用串行通信和命令行替换 Busybox 的信息,这也需要 LAN 上的 http 服务器。命令部分
route add -net 192.168.15.0/24 eth0
mount -t tmpfs -o size=2M,mode=0755 tmpfs /mnt
cd /mnt
wget http://192.168.15.10/busybox-armv5l
chmod +x busybox-armv5l
这里有两点不清楚:新的busybox不会替换现有版本,而是作为附加busybox添加到另一个位置?其次,新的busybox被放入RAM中的tmpfs中:所以它没有永久保存在分区中,并且在重新启动后被删除?我对么?
是的 - 此方法适用于资源紧张和/或没有可写文件系统(只读或没有可用空间)的嵌入式设备。如果在任何地方都没有写权限(并且您不想通过刷新固件本身来冒变砖的风险),那么将额外的二进制文件(不仅仅是busybox)抓取到RAM中几乎是唯一的方法。
这也是一个先测试的好方法。毕竟,这只是在 RAM 中,所以 - 重置电源,一切都应该恢复正常。
如果您希望修改是永久的并且独立于网络情况,则不太有用。
这主要是为了方便...... netcat 也可以工作,甚至可以使用 telnet(有一些编码怪癖)。但只要 wget 可用,快速的 http 抓取就更容易了。