RPi CM4 无法使用 Ubuntu 22.04.1 for RPi 进行 USB 启动

RPi CM4 无法使用 Ubuntu 22.04.1 for RPi 进行 USB 启动

嘿,我在使用 Ubuntu 通过 USB 启动我的 RPi CM4 时遇到了问题。

我已经做了其他帖子在多个论坛上(包括RPi 论坛),但我在这里主要提到了这一点。以下是 RPi StackExchange 中详细问题的克隆:


我无法开始使用带有 32G eMMC 存储的 Raspberry Pi 4 计算模块。它安装在 RPi 计算模块 IO 板上,因此与 4B 相比,它的 USB 启动略有不同(没有 USB3)。

我已成功在嵌入式存储上的 RPi 映像器应用程序中安装了 Ubuntu 22.04 映像,但我不想在实际使用它之前把它磨损,因为我想在其上开发自己的 PiLFS Distro(使用 Pi 作为开发环境)所以我将映像刷入了我随身携带的大 USB 中。

尝试使用 Raspbian x64 (lite) 启动 USB 一切正常:

Boot loader console, Square color wheel image, short grey screen, boot console, terminal.

然而,Ubuntu 让我非常头疼。它会读取 USB,开始从中启动,但随后会关闭所有 USB 电源,导致 Ubuntu 灰屏冻结。

Boot loader console, Square color wheel image, grey screen, USB power stops

或者不带USB_MSD_PWR_OFF_TIME=0

Boot loader console, Square color wheel image, USB power off (~half a second), green LED flicker, USB power on, Boot eMMC)

我的引导加载程序配置如下:

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

# Boot Order Codes, from https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER
# Try SD first (1), followed by, USB PCIe, NVMe PCIe, USB SoC XHCI then network
#BOOT_ORDER=0xf25641
BOOT_ORDER=0xf165

# Set to 0 to prevent bootloader updates from USB/Network boot
# For remote units EEPROM hardware write protection should be used.
ENABLE_SELF_UPDATE=1

MAX_RESTARTS=5
#HDMI_DELAY=5
#VL805

NET_INSTALL_ENABLED=1
NET_INSTALL_KEYBOARD_WAIT=900
USB_MSD_PWR_OFF_TIME=0

(我已尝试过使用和不使用 USB_MSD_PWR_OFF_TIME=0)

Raspbian lite 的工作 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]

cmdline.txt 是:

console=serial0,115200 console=tty1 root=PARTUUID=7c249dcd-02 rootfstype=ext4 fsck.repair=yes rootwait

默认(不起作用)的 Ubuntu config.txt 是:

[all]
kernel=vmlinuz
cmdline=cmdline.txt
initramfs initrd.img followkernel

[pi4]
max_framebuffers=2
arm_boost=1

[all]
# Enable the audio output, I2C and SPI interfaces on the GPIO header. As these
# parameters related to the base device-tree they must appear *before* any
# other dtoverlay= specification
dtparam=audio=on
dtparam=i2c_arm=on
dtparam=spi=on

# Comment out the following line if the edges of the desktop appear outside
# the edges of your display
disable_overscan=1

# If you have issues with audio, you may try uncommenting the following line
# which forces the HDMI output into HDMI mode instead of DVI (which doesn't
# support audio output)
#hdmi_drive=2

[cm4]
# Enable the USB2 outputs on the IO board (assuming your CM4 is plugged into
# such a board)
dtoverlay=dwc2,dr_mode=host

[all]

# Enable the KMS ("full" KMS) graphics overlay, leaving GPU memory as the
# default (the kernel is in control of graphics memory with full KMS)
dtoverlay=vc4-kms-v3d

# Autoload overlays for any recognized cameras or displays that are attached
# to the CSI/DSI ports. Please note this is for libcamera support, *not* for
# the legacy camera stack
camera_auto_detect=1
display_auto_detect=1

# Config settings specific to arm64
arm_64bit=1
dtoverlay=dwc2

(我已经尝试在 ubuntu 中使用 Raspbian config.txt)不起作用的 Ubuntu cmdline.txt 是:

zswap.enabled=1 zswap.zpool=z3fold zswap.compressor=zstd dwc_otg.lpm_enable=0 console=tty1 root=LABEL=writeable rootfstype=ext4 rootwait fixrtc quiet splash

使用 Ubuntu 22.04 通过 USB(MSD)启动 CM4 的正确配置是什么?问题似乎出在哪里?

我将非常感谢大家的帮助,因为这是我第三次在论坛上提问!提前致谢!!


这是第五届论坛

相关内容