zoukankan      html  css  js  c++  java
  • [Tip] 从外接USB设备启动树莓派4b

    树莓派默认从tf卡启动系统,io性能太弱了。最近入手了Argon ONE外壳,可以通过usb外接一个m.2 sata接口的固态硬盘;那么,折腾一下从ssd吧。

    方案调查

    一番查资料,目前支持两种启动方案:

    1. 升级固件,这也是网上推荐的主流方案。这个方案需要先用原版的raspbian升级固件,这样就可以直接设置从USB设备引导。
      找到的靠谱教程如下:
      1. New Raspberry Pi 4 Bootloader USB / Network Boot Guide
      2. Raspberry Pi 4 Ubuntu USB Boot (No SD Card)

    然鹅,我现在用的是Ubuntu系统,这个方案折腾起来比较麻烦,可能还需要重装系统。pass

    1. 从tf卡引导,将根目录替换成ssd的分区。这样理论上兼容性更好,而且可以在现有的系统上升级。不犹豫,马上开搞。
      参考教程:Raspberry Pi 4 USB Boot Config Guide for SSD / Flash Drives

    方案实施

    1. 复制现有系统到ssd,注意,这个操作会清空SSD上面的数据
    dd bs=4M if=/dev/mmcblk0 of=/dev/sda
    
    1. 确认usb设备id,我的是174c:55aa
    lsusb
    
    Bus 002 Device 003: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb
    
    1. 修改cmdline.txt,树莓派是通过这个文件来确认系统启动目录的,直接修改fstab无效
    # 备份
    cp cmdline.txt cmdline.txt.bak
    # 修改为如下内容:
    ## 1. 注意将XXXX:XXXX替换为上一步获取的usb id
    ## 2. 注意root=的配置,需要和硬盘对应的LABEL或者UUID一致(如果是dd复制的数据,这块应该不用改)
    usb-storage.quirks=XXXX:XXXX:u net.ifnames=0 dwc_otg.lpm_enable=0 console=serial
    0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline
    rootwait fixrtc
    
    1. 更新/etc/fstab,这一步其实不是必须的,为了不造成迷惑,还是和cmdline.txt的配置保持一致了。
    2. reboot之后就可以看到/目录已经切换到ssd上面了
    ubuntu@rpi:~$ findmnt -n -o SOURCE /
    /dev/sdb2
    
    1. 不服跑个分,io速度提升10倍,哈哈:
    sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash
    
         Category                  Test                      Result
    HDParm                    Disk Read                 185.42 MB/s
    HDParm                    Cached Disk Read          185.55 MB/s
    DD                        Disk Write                92.6 MB/s
    FIO                       4k random read            4429 IOPS (17716 KB/s)
    FIO                       4k random write           5109 IOPS (20439 KB/s)
    IOZone                    4k read                   21790 KB/s
    IOZone                    4k write                  19337 KB/s
    IOZone                    4k random read            16226 KB/s
    IOZone                    4k random write           20809 KB/s
    
                              Score: 4777
    
  • 相关阅读:
    Leecode no.22 括号生成
    修改mysql数据库的时区
    Django 路由层之反向解析
    学习 Django 的几个教程网址
    leetcode周赛 242
    AcWing第二次热身赛
    AcWing夏季每日一题--最长公共子序列
    AcWIng夏季每日一题--序列最大收益
    leetcode周赛 241
    第十二届蓝桥杯C++ B组
  • 原文地址:https://www.cnblogs.com/carlsplace/p/14460454.html
Copyright © 2011-2022 走看看