如何从 USB 启动树莓派引导系统 / 如何从 USB 大容量存储设备启动 Raspberry Pi 系统
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
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration
BOOT_ORDER
0xf14
Try USB
first, followed by SD
then repeat ✅
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER
Conditional filters
[all]
https://www.raspberrypi.com/documentation/computers/config_txt.html#conditional-filters
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
$ 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
SSH
ssh
创建一个空的 ssh
文件, 文件没有扩展名,放到 U 盘根目录下
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 }
用户名
和密码
userconf.txt
pi
raspberry => 加密后 /4g6TptuTP5B6
pi:/4g6TptuTP5B6
启动模式
config.txt
# 编辑 $ sudo vim /boot/config.txt $ sudo code /boot/config.txt # 查看 $ cat /boot/config.txt
otg_mode=1
✅
# 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]
changing the
boot mode
/ 更改启动模式
bugs ⚠️⚠️⚠️
FAT32
格式,最大支持 32 GBSD 卡
,才能修改启动模式
💩有线网络
连接,用于从网上下载镜像
到 U 盘中 💩💩鼠标、键盘
,用于U 盘启动后,从网络的安装镜像
到 U 盘中 💩💩💩Using
Raspberry Pi Imager
to update thebootloader
This is the recommended route to updating the bootloader.
这是更新引导加载程序
的推荐途径。
steps:
Download
Raspberry Pi Imager
Select a spare
SD card. The contents will get overwritten
!
Launch
Raspberry Pi Imager
Select Misc utility images
under Operating System
Select Bootloader
Select a boot-mode
i.e. SD Card Boot (recommended), USB Boot
or Network Boot.
Select SD card and then Write
Boot
the Raspberry Pi with the new image
and wait for
at least 10 seconds
.
The green activity LED
will blink with a steady pattern
and the HDMI display
will be green
on success.
Power off
the Raspberry Pi and remove
the SD card.
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#imager
$ sudo raspi-config $ sudo reboot
Update
Raspberry Pi OS to get the latest version
of the rpi-eeprom
package.
Run sudo raspi-config
Select Advanced
Options
Select Bootloader
Version
Select Default
for factory default settings or Latest
for the latest stable bootloader release.
Reboot
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspi-config
$ 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
$ 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]
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
$ 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
$ 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
# new ✅
# old ❌ $ omxplayer <name of media file> $ omxplayer example.mp4 $ omxplayer example.mp3
https://www.raspberrypi.com/documentation/computers/os.html#playing-audio-and-video
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
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, 禁止转载 🈲️,侵权必究⚠️!