1670|1

145

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

[分享] 在 RaspberryPi 4 上USB启动系统 [复制链接]

为什么树莓派爱好者在谈论 USB 启动时会感到兴奋?因为它使树莓派明显更快。或者,更准确地说,内存随闪存 (ROM) 传输。RPi 启动速度更快,尤其是在 64 位操作系统中,因为它是一个未压缩的内核。或者将页面从缓存加载到 Chromium 中。因此,任何使用闪存传输大量数据的东西都会更快。但是,例如,深度学习应用程序不会运行得更快,因为它们主要使用 RAM。你也不会更好地传输YouTube流;这与您的互联网带宽有关,与您的闪存卡无关。
USB启动如此受欢迎的另一个原因是,使用过的SSD卡比较小的SD卡磨损得更少。

硬件

USB 启动需要专用硬件。一个简单的USB 3.0盘可以完成这项工作,但传输速度与SD卡相同,约为80-100MB / s。网络,它会更糟一些,因为在初始化RPi板上的USB控制器时大约有0.5秒的开销。
只有使用快速 SSD 驱动器(400 MB/s 或更高),您才能从 USB 启动中充分受益。这些 SSD 驱动器不作为 USB 设备提供。需要一个额外的USB 3.0适配器将其连接到树莓。确保使用适合 UASP 传输的适配器。它是USB 3.0支持的新的,最快的协议。最后要考虑的一点是功耗。相对较小的SSD驱动器可以通过USB端口供电。这是首选,因为否则,您还需要额外的电源。一个相对便宜的组合是金士顿240GB A400 SATA 3(32欧元)和Inateck 2.5硬盘盒(15欧元)。

树莓派 4 USB 启动

树莓派巧妙地启动。启动后,位于EEPROM中的小程序立即仅加载I/O的驱动程序。这就是为什么,例如,即使没有插入SD卡,您仍然会看到诊断屏幕。然后,该程序尝试在树莓派中加载操作软件。完成后,它将控制权转移到树莓派,并在其余时间保持空闲状态。

到目前为止,启用USB启动的最简单方法是使用Raspberry Pi Imager。 从 1.6 版开始,您可以找到适用于 USB 启动的专用 EEPROM 设置。看看下面的幻灯片。




在PC中插入(小型)SD卡,然后烧录您选择的EEPROM镜像。可以使用启动顺序首先是SD卡,其次是USB,或者在幻灯片中选择的启动顺序,USB优先,SD卡其次。使用树莓派 4 和 EEPROM 更新中新闪存的 SD 卡启动。屏幕变为绿色后,您的EEPROM已准备就绪。您始终可以通过简单地使用不同的设置重复上述过程来更改启动顺序。

其余过程与第一段中所述的标准SD卡安装相同。使用imager在 USB 设备上烧录树莓派 64 操作系统,从树莓派 4 中取出 SD 卡,然后将 USB 设备插入(蓝色)USB 3.0 连接器。现在,按照通常的安装顺序进行操作。

密切关注 USB 设备的功耗。一个SSD卡没有问题,但更多的就需要一个单独的电源集线器。

故障 排除

最常见的故障原因是 USB 到 SATA(SSD 卡)适配器不支持 UASP 协议。UASP代表USB Attached SCSI Protocol,Raspberry Pi使用的一种极快的数据传输协议。一些适配器,如流行的JMicron,在某些UASP命令上会有问题。您会看到性能缓慢、频繁断开连接或错误报告。即使连接到USB 2.0也无法解决问题,因为Linux内核在看到USB 3.0设备时仍然使用UAS命令。

唯一的解决方案是在启动后立即使用命令禁用 UASP 传输。在command.txt文件中,您需要提供 USB 驱动器的硬件 ID。您可以通过将SSD驱动器连接到仍在SD卡上工作的Raspberry Pi的USB来获得它。

婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻娑樷槈濮楀牊鏁鹃梺鍛婄懃缁绘﹢寮婚敐澶婄闁挎繂妫Λ鍕⒑閸濆嫷鍎庣紒鑸靛哺瀵鈽夊Ο閿嬵潔濠殿喗顨呴悧濠囧极妤e啯鈷戦柛娑橈功閹冲啰绱掔紒妯哄婵犫偓娓氣偓濮婅櫣绮欑捄銊ь唶闂佸憡鑹鹃鍥╂閻愬搫绠i柨鏃傛櫕閸橀亶姊洪棃娴ㄥ綊宕曢柆宥呯劦妞ゆ巻鍋撴繛灏栤偓鎰佸殨濠电姵纰嶉弲鎻掝熆鐠虹尨鍔熸い鏃€甯¢幃妤冩喆閸曨剛顦ュ┑鐐茬湴閸婃繂鐣烽鈷氭椽顢旈崨顏呭闂備礁鎲$换鍌溾偓姘卞厴瀹曟洟骞囬悧鍫㈠幗濠德板€撶欢鈥斥枔濮椻偓閺岀喖鐛崹顔句患闂佸疇妫勯ˇ鍨叏閳ь剟鏌eΟ娲诲晱闁告艾鎳樺缁樻媴閾忕懓绗¢梺鍛婃⒐濞茬喖銆佸棰濇晣闁绘劏鏅滈悘渚€姊洪棃娑氬妞わ缚鍗抽崺娑㈠箣閻愮數顔曢梺鐓庛偢椤ゅ倿宕靛▎鎰垫闁绘劖鎯屽▓婊堟煛瀹€鈧崰鏍箖閻戣姤鍋嬮柛顐g箖閻忓酣鏌f惔銏╁晱闁哥姵鐗犻垾锕傛倻閽樺鐣洪梺闈涚箞閸婃牠骞嗛悙鐑樼厱闁挎棁顕у璺ㄧ磼鏉堛劎鍙€婵﹦绮粭鐔煎焵椤掆偓宀h儻顦撮柟骞垮灲楠炴帡骞橀弶鎴濅紟闂備焦鐪归崹褰掑箟閿熺姴纾归柛顐f礃閻撴洘銇勯幇顔夹㈤柛鏃€绮撻弻宥夋煥鐎n亞浼岄梺鍝勬湰缁嬫垿鍩為幋锕€骞㈡俊銈咃梗閹絾淇婇悙顏勨偓鏇犳崲閸儱纾块柣銏⑶归拑鐔哥箾閹寸偟鎳勯柛搴e枛閺屻劌鈹戦崱姗嗘!濠殿噯绲介悧鎾诲箖濡も偓閳绘捇宕归鐣屼邯婵$偑鍊ら崣鍐绩鏉堛劎鈹嶅┑鐘叉搐缁犵懓霉閿濆懏鎲搁柛妯绘倐濮婅櫣绮欓幐搴㈡嫳闂佹椿鍙庨崰姘舵嚍鏉堛劎顩烽悗锝庡亐閹风粯绻涙潏鍓у埌闁硅櫕鐟ㄩ妵鎰板箳閹存繄褰夋俊鐐€栫敮鎺楀磹婵犳碍鍎楁繛鍡樻尰閻撴瑩寮堕崼鐔峰姢闁伙附绮撻弻鈩冩媴缁嬪簱鍋撻崸妤€钃熼柕濞炬櫆閸嬪棝鏌涚仦鍓р槈妞ゅ骏鎷�
  • # Get the verdor and product ID
  • $ lsusb


找到的数字在命令 usb-storage.quirks=xxxx:yyyy:u 中作为参数给出
此命令必须设置为 /boot/cmdline.txt 中找到的长行中的第一个参数。
在 USB 文件夹的启动部分找到该文件。请参阅下面的屏幕转储,从常规SD卡启动的RPi。启动后连接 USB 设备。

你也可以使用nano编辑器

Benchmark

经过所有的努力,大多数人只想知道一件事:值得吗?答案很简单是肯定的。
您不仅拥有更多的内存空间,而且具有分布式磨损的SSD卡的使用寿命也比SD卡长得多。
而且SSD卡要快得多。您可以在树莓菜单上找到Benchmark测试工具。 
执行后,您可以请求报告。


我们研究了三种不同的选择。首先是标准的SD卡,当然是最慢的。
第二种选择是带有不支持 UASP 的 SATA 到 USB 转换器的 SSD 卡;进步很大。
第三个选项是相同的SSD卡,但现在具有支持UASP的转换器。显然是最快的。
不得不说,如果没有UASP,你仍然有很多速度增益。

最后两点意见
在树莓诊断报告中,您会看到 IOPS。它代表每秒的 I/O 操作数。如您所见,一次读取或写入传输为 4 KBYTE。您可以将这些数字相乘以获得以每秒(兆)字节为单位的传输速率。
这些令人印象深刻的传输速率仅反映从ROM读取或写入数据,而不是工作存储器(RAM)。最终,您的Raspberry Pi将运行得更快,但是,例如,使用SSD卡在RAM中具有模型的深度学习应用程序不会更快。

启动顺序

对于高级用户,有引导加载程序配置文件指示Raspberry Pi将如何启动。在 rpi-eeprom-config 文件中,您可以定义两个媒体(SD、USB、UART、网络)尝试引导 RPi。如果第一个(例如SD卡)出现故障,它将尝试从第二个(可以是您的USB)启动。这样,当SSD驱动器发生故障时,您的SD卡可以用作一种备份。

但是请注意,一旦启动,您将只能使用该设备。换句话说,如果由于功能不当,您从“旧”SD卡而不是“新”SSD驱动器启动,则由于加载了“旧”SD卡文件结构,您将丢失SSD驱动器上的所有工作。如果您的 SSD 驱动器仍在内部启动或其电源尚不可用,则可能会发生这种情况。您必须采取预防措施来解决此问题。一定次数的引导重试可能是解决方案。

在开始修改 rpi-eeprom-config 文件之前,请仔细阅读此页面上的说明。

婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻娑樷槈濮楀牊鏁鹃梺鍛婄懃缁绘﹢寮婚敐澶婄闁挎繂妫Λ鍕⒑閸濆嫷鍎庣紒鑸靛哺瀵鈽夊Ο閿嬵潔濠殿喗顨呴悧濠囧极妤e啯鈷戦柛娑橈功閹冲啰绱掔紒妯哄婵犫偓娓氣偓濮婅櫣绮欑捄銊ь唶闂佸憡鑹鹃鍥╂閻愬搫绠i柨鏃傛櫕閸橀亶姊洪棃娴ㄥ綊宕曢柆宥呯劦妞ゆ巻鍋撴繛灏栤偓鎰佸殨濠电姵纰嶉弲鎻掝熆鐠虹尨鍔熸い鏃€甯¢幃妤冩喆閸曨剛顦ュ┑鐐茬湴閸婃繂鐣烽鈷氭椽顢旈崨顏呭闂備礁鎲$换鍌溾偓姘卞厴瀹曟洟骞囬悧鍫㈠幗濠德板€撶欢鈥斥枔濮椻偓閺岀喖鐛崹顔句患闂佸疇妫勯ˇ鍨叏閳ь剟鏌eΟ娲诲晱闁告艾鎳樺缁樻媴閾忕懓绗¢梺鍛婃⒐濞茬喖銆佸棰濇晣闁绘劏鏅滈悘渚€姊洪棃娑氬妞わ缚鍗抽崺娑㈠箣閻愮數顔曢梺鐓庛偢椤ゅ倿宕靛▎鎰垫闁绘劖鎯屽▓婊堟煛瀹€鈧崰鏍箖閻戣姤鍋嬮柛顐g箖閻忓酣鏌f惔銏╁晱闁哥姵鐗犻垾锕傛倻閽樺鐣洪梺闈涚箞閸婃牠骞嗛悙鐑樼厱闁挎棁顕у璺ㄧ磼鏉堛劎鍙€婵﹦绮粭鐔煎焵椤掆偓宀h儻顦撮柟骞垮灲楠炴帡骞橀弶鎴濅紟闂備焦鐪归崹褰掑箟閿熺姴纾归柛顐f礃閻撴洘銇勯幇顔夹㈤柛鏃€绮撻弻宥夋煥鐎n亞浼岄梺鍝勬湰缁嬫垿鍩為幋锕€骞㈡俊銈咃梗閹絾淇婇悙顏勨偓鏇犳崲閸儱纾块柣銏⑶归拑鐔哥箾閹寸偟鎳勯柛搴e枛閺屻劌鈹戦崱姗嗘!濠殿噯绲介悧鎾诲箖濡も偓閳绘捇宕归鐣屼邯婵$偑鍊ら崣鍐绩鏉堛劎鈹嶅┑鐘叉搐缁犵懓霉閿濆懏鎲搁柛妯绘倐濮婅櫣绮欓幐搴㈡嫳闂佹椿鍙庨崰姘舵嚍鏉堛劎顩烽悗锝庡亐閹风粯绻涙潏鍓у埌闁硅櫕鐟ㄩ妵鎰板箳閹存繄褰夋俊鐐€栫敮鎺楀磹婵犳碍鍎楁繛鍡樻尰閻撴瑩寮堕崼鐔峰姢闁伙附绮撻弻鈩冩媴缁嬪簱鍋撻崸妤€钃熼柕濞炬櫆閸嬪棝鏌涚仦鍓р槈妞ゅ骏鎷�
  • $ sudo -E rpi-eeprom-config --edit
  • # modify BOOT_ORDER=0xf41
  • # first SSD (USB), second SD card
  • $ BOOT_ORDER=0xf14
  • # save <Ctrl>+<X>, <Y>, <Enter>
  • $ sudo reboot

同样,这适用于高级用户。 大多数人只需从Pi中取出SD卡即可享受改进的性能。

文章转自:https://qengineering.eu/install-raspberry-64-os.html

最新回复

分布式磨损的SSD卡的使用寿命也比SD卡长得多确实是这样   详情 回复 发表于 2023-4-4 20:32
点赞(1) 关注
个人签名

WX:上海晶珩电子科技

 
 

回复
举报

1717

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

分布式磨损的SSD卡的使用寿命也比SD卡长得多确实是这样

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
艾睿电子& Silicon Labs 有奖直播 | 全新蓝牙信道探测:从技术创新到实际应用
直播时间:3月12日(周三)上午10:00
直播奖励:多功能榨汁机、蓝牙音箱、手机支架

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表