没有SD卡或Live USB是否可以运行raspbian操作系统?

没有SD卡或Live USB是否可以运行raspbian操作系统?

我开发了一个在 Raspbian 操作系统上运行的基于 python 的 GUI 应用程序。停电期间我的 SD 卡经常损坏。我需要经常备份操作系统映像,并在 SD 卡损坏时将其写回。有没有什么解决方案可以让我的 Raspbian 操作系统在没有 SD 卡/Live USB 的情况下运行?

答案1

虽然“从 RAM 运行”很容易,但这并不能解决您的问题。

仅当您关闭电源或取出卡,同时也写入卡。

解决方案:

  • 停止向卡写入。
  • 在文件系统上启用日志记录。
  • 正常关机shutdown -h now
  • 重新启动即可正常shutdown -r now

答案2

对于某些型号的 RPi,可以使用 DHCP/BOOTP 和 TFTP(然后很可能是 NFS)通过网络启动 RPi。这需要另一个提供 DHCP/BOOTP、TFTP 和 NFS 服务的永久系统因为 RPi 启动时没有任何内容。这仅适用于以太网,不适用于无线。

现有有关如何针对 RPi 3B 甚至 RPi 4 执行此操作的文档。我不会尝试在这里复制所有详细信息,因为它很长,请参阅下面的链接。

  • RPi3B 和 RPi3B+ 官方文档

    RPi3B(不是 RPi 3B+)最初必须“熔断保险丝”才能启用网络启动:

    在 Raspberry Pi 进行网络启动之前,需要从 SD 卡启动,并使用配置选项启用 USB 启动模式。这将在 Raspberry Pi SoC 的 OTP(一次性可编程)内存中设置一位启用网络启动

    然后就是配置另一台服务器以提供正确网络启动所需的强制服务(这与向 RPi 以外的其他系统提供网络启动非常相似)。

  • 这是执行此操作的其他文档,其中永久服务器运行 CentOS 而不是 Raspberry OS

  • RPi4 也可以这样做;它可能需要重新刷新 RPi4 才能更新 PXE 启动代码。这是摘录(必须以各种文件名更新):

    sudo apt-get update
    sudo apt-get upgrade
    wget https://github.com/raspberrypi/rpi-eeprom/raw/master/firmware/beta/pieeprom-2019-10-16.bin
    rpi-eeprom-config pieeprom-2019-10-16.bin > bootconf.txt
    sed -i s/0x1/0x21/g bootconf.txt
    rpi-eeprom-config --out pieeprom-2019-10-16-netboot.bin --config bootconf.txt pieeprom-2019-10-16.bin
    sudo rpi-eeprom-update -d -f ./pieeprom-2019-10-16-netboot.bin
    cat /proc/cpuinfo
    

    并继续再次配置服务器(这次运行 Debian,因此对于 Rasbpberry 操作系统来说可能没问题)。

相关内容