gpt4 book ai didi

HowtoboottheRaspberryPisystemfromaUSBMassStorageDeviceAllInOne

转载 作者:我是一只小鸟 更新时间:2023-05-28 14:33:16 31 4
gpt4 key购买 nike

How to boot the Raspberry Pi system from a USB Mass Storage Device All In One

如何从 USB 启动树莓派引导系统 / 如何从 USB 大容量存储设备启动 Raspberry Pi 系统 。

Raspberry Pi 4 Boot Flow

  1. First Stage Bootloader
  2. Second Stage Bootloader

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-boot-flow 。

                          
                            # 查看
$ rpi-eeprom-config
[all]
BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0

[all]
BOOT_ORDER=0xf14

                          
                        
                          
                            # 编辑
$ sudo -E rpi-eeprom-config --edit


                          
                        

image

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration 。

BOOT_ORDER 。

image

0xf14 Try USB first, followed by SD then repeat ✅ 。

image

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER 。

Conditional filters [all] 。

image

https://www.raspberrypi.com/documentation/computers/config_txt.html#conditional-filters 。

officail documents

USB Mass Storage Boot 。

This page explains how to boot your Raspberry Pi from a USB mass storage device such as a flash drive or a USB hard disk . 本页介绍如何从 USB 大容量存储设备 (例如 闪存驱动器 或 USB 硬盘 )启动 Raspberry Pi.

The bootloader in Raspberry Pi 400 and newer Raspberry Pi 4B boards support USB boot by default , although the BOOT_ORDER bootloader configuration may need to be modified. Raspberry Pi 400 和较新的 Raspberry Pi 4B 板中的引导加载程序 默认支持 USB 引导,但可能需要修改 BOOT_ORDER 引导加载程序配置.

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#usb-mass-storage-boot 。

https://github.com/raspberrypi/documentation/blob/develop/documentation/asciidoc/computers/raspberry-pi/boot-msd.adoc 。

EEPROM Configuration

                          
                            $ rpi-eeprom-config
# OR
$ vcgencmd bootloader_config

                          
                        
                          
                            [all]
BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0

[all]
BOOT_ORDER=0xf14

                          
                        

image

                          
                            $ sudo rpi-eeprom-update

$ sudo rpi-eeprom-update -a
$ sudo reboot

                          
                        
                          
                            BOOTLOADER: up to date
   CURRENT: Wed Jan 11 17:40:52 UTC 2023 (1673458852)
    LATEST: Wed Jan 11 17:40:52 UTC 2023 (1673458852)
   RELEASE: default (/lib/firmware/raspberrypi/bootloader/default)
            Use raspi-config to change the release.

  VL805_FW: Using bootloader EEPROM
     VL805: up to date
   CURRENT: 000138c0
    LATEST: 000138c0

                          
                        

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-eeprom-configuration 。

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration 。

手动刷入系统镜像,并修改配置文件 🚀

简单方便,亲测有效,推荐方式 ✅ 。

image

  1. 设置开机,自动开启 SSH

ssh 。

创建一个空的 ssh 文件, 文件没有扩展名,放到 U 盘根目录下 。

  1. 配置默认的 Wi-Fi 信息

wpa_supplicant.conf 。

                          
                            ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN

network={
  scan_ssid=1
  ssid="your Wi-Fi name ❓"
  psk="your Wi-Fi password ❓"
  proto=RSN
  key_mgmt=WPA-PSK
  pairwise=CCMP
  auth_alg=OPEN
}


                          
                        
  1. 配置 SSH 登录的 用户名 密码

userconf.txt 。

pi raspberry => 加密后 /4g6TptuTP5B6 。

                          
                            pi:/4g6TptuTP5B6

                          
                        
  1. 配置 bootloader 的 启动模式

config.txt 。

                          
                            # 编辑
$ sudo vim /boot/config.txt
$ sudo code /boot/config.txt

# 查看
$ cat /boot/config.txt

                          
                        

otg_mode=1 ✅ 。

image

                          
                            # For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

[pi4]
# Run as fast as firmware / board allows
arm_boost=1

[all]

                          
                        

solutions

changing the boot mode / 更改 启动模式 。

warnings ⚠️⚠️⚠️ (太麻烦了,不推荐)

  • U 盘必须要使用 FAT32 格式,最大支持 32 GB
  • 树莓派需先要插入一个烧录了树莓派系统的 SD 卡 ,才能修改 启动模式 💩
  • 树莓派需要 有线网络 连接,用于从网络 下载镜像 到 U 盘中 💩💩
  • 树莓派需要连接 鼠标、键盘 ,用于U 盘启动后,从网络的 安装镜像 到 U 盘中 💩💩💩

image

image

  1. Raspberry Pi Imager (GUI 可视化操作)

Using Raspberry Pi Imager to update the bootloader 。

This is the recommended route to updating the bootloader. 这是更新 引导加载程序 的推荐途径.

steps

  1. Download Raspberry Pi Imager 。

  2. Select a spare SD card. The contents will get overwritten .

  3. Launch Raspberry Pi Imager 。

  4. Select Misc utility images under Operating System 。

  5. Select Bootloader 。

  6. Select a boot-mode i.e. SD Card Boot (recommended), USB Boot or Network Boot. 。

  7. Select SD card and then Write 。

  8. Boot the Raspberry Pi with the new image and wait for at least 10 seconds . 。

  9. The green activity LED will blink with a steady pattern and the HDMI display will be green on success. 。

  10. Power off the Raspberry Pi and remove the SD card. 。

image

image

image

image

image

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#imager 。

  1. raspi-config (交互式命令行操作)
                          
                            $ sudo raspi-config

$ sudo reboot

                          
                        
  1. Update Raspberry Pi OS to get the latest version of the rpi-eeprom package. 。

  2. Run sudo raspi-config 。

  3. Select Advanced Options 。

  4. Select Bootloader Version 。

  5. Select Default for factory default settings or Latest for the latest stable bootloader release. 。

  6. Reboot 。

https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspi-config 。

other useful commands

                          
                            $ pinout
# Pi Model 4B  V1.5

$ lsusb
# Bus 001 Device 003: ID 0951:1665 Kingston Technology Digital DataTraveler SE9


                          
                        
                          
                            $ cat /etc/hosts
127.0.0.1	localhost
::1		localhost ip6-localhost ip6-loopback
ff02::1		ip6-allnodes
ff02::2		ip6-allrouters

127.0.1.1	raspberrypi

                          
                        
                          
                            $ cd /proc && ls -alth

$ cat /proc/cpuinfo
Revision	: d03115
Serial		: 1000000052e87fab
Model		: Raspberry Pi 4 Model B Rev 1.5

$ cat /proc/version
Linux version 6.1.21-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023

$ cat /proc/meminfo
MemTotal:        7998788 kB
MemFree:         7124364 kB
MemAvailable:    7564892 kB

$ cat /proc/partitions


                          
                        

temperature 。

                          
                            # temperature
$ vcgencmd measure_temp
# temp=50.6'C
$ vcgencmd measure_temp | egrep -o '[0-9]*\.[0-9]*'
# 50.6

                          
                        
                          
                            $ vcgencmd measure_volts core
# volt=0.8600V

$ vcgencmd measure_clock arm
# frequency(48)=600169920

$ vcgencmd get_mem arm
# arm=947M
$ vcgencmd get_mem gpu
# gpu=76M


$ vcgencmd otp_dump | grep 17
17:000008b0
29:ad178054


                          
                        
                          
                            $ df -h


                          
                        
                          
                            # 查看磁盘列表:
$ sudo fdisk -l
Disk /dev/mmcblk0: 29.72 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes

Disk /dev/sda: 7.22 GiB, 7747397632 bytes, 15131636 sectors
Disk model: DataTraveler 2.0


                          
                        
                          
                            # 查看 block 块文件挂载信息
$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1  7.2G  0 disk 
|-sda1        8:1    1  256M  0 part /boot
`-sda2        8:2    1    7G  0 part /
mmcblk0     179:0    0 29.7G  0 disk 
|-mmcblk0p1 179:1    0  256M  0 part /media/pi/bootfs
`-mmcblk0p2 179:2    0 29.5G  0 part /media/pi/rootfs


                          
                        
                          
                            $ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_GB.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

                          
                        
                          
                            $ hostname -I
192.168.18.168 fd80:eae6:1258:0:91a5:54b6:d817:ecc2 

                          
                        
                          
                            $ cat /etc/rc.local

                          
                        
                          
                            # Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

                          
                        

demos

                          
                            $ cat /boot/config.txt

                          
                        
                          
                            # For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

[pi4]
# Run as fast as firmware / board allows
arm_boost=1

[all]


                          
                        

(🐞 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!

Updating and Upgrading Raspberry Pi OS

                          
                            $ cat /etc/apt/sources.list

deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
# Uncomment deb-src lines below then 'apt-get update' to enable 'apt-get source'
#deb-src http://deb.debian.org/debian bullseye main contrib non-free
#deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
#deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free

                          
                        
  1. APT
                          
                            $ sudo apt update

$ sudo apt full-upgrade

$ sudo apt clean

                          
                        
                          
                            # install package
$ sudo apt install tree
$ sudo apt install tree -y

# 卸载软件包
$ sudo apt remove tree
$ sudo apt remove tree -y

# 完全删除软件包及其关联的配置文件
$ sudo apt purge tree

                          
                        
  1. apt-get
                          
                            $ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get clean

                          
                        

https://www.raspberrypi.com/documentation/computers/os.html#updating-and-upgrading-raspberry-pi-os 。

Playing Audio and Video

  1. VLC
                          
                            # new ✅


                          
                        
  1. OMXPlayer
                          
                            # old ❌
$ omxplayer <name of media file>

$ omxplayer example.mp4
$ omxplayer example.mp3


                          
                        

https://www.raspberrypi.com/documentation/computers/os.html#playing-audio-and-video 。

Using a USB webcam

                          
                            $ sudo apt install fswebcam

# user group
$ sudo usermod -a -G video <username>

# 拍照
$ fswebcam image.jpg

$ fswebcam -r 1280x720 image-720p.jpg

$ fswebcam -r 1280x720 --no-banner image-no-banner.jpg


                          
                        
                          
                            $ chmod 777 webcam.sh
# OR
$ chmod +x webcam.sh

$ ./webcam.sh

                          
                        
                          
                            #!/usr/bin/env bash

DATE=$(date +"%Y-%m-%d_%H%M")
fswebcam -r 1280x720 --no-banner /home/pi/webcam/$DATE.jpg

                          
                        

https://www.raspberrypi.com/documentation/computers/os.html#using-a-usb-webcam 。

refs

https://www.raspberrypi.com/news/pi-3-booting-part-i-usb-mass-storage-boot/ 。

https://www.cnblogs.com/xgqfrms/p/17436522.html#5180599 。

vcgencmd 。

https://www.cnblogs.com/xgqfrms/p/17303351.html 。



©xgqfrms 2012- 2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问! 。

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️! 。


最后此篇关于HowtoboottheRaspberryPisystemfromaUSBMassStorageDeviceAllInOne的文章就讲到这里了,如果你想了解更多关于HowtoboottheRaspberryPisystemfromaUSBMassStorageDeviceAllInOne的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com