本文将帮助您在Raspberry Pi 4上安装新的Raspberry 64位操作系统。目前,Raspberry Foundation已发布了一个功能齐全的Beta版以上手。usb引导的教程在文章的底部
为什么不使用UbuntuUSB引导它使Raspberry Pi明显更快。更确切地说,存储器随闪存(ROM)一起传输。RPi的启动速度更快,尤其是在64位操作系统上,因为它是未压缩的内核。或将页面从缓存加载到Chromium。随便什么,用闪存传输大量数据做任何事情都会更快。但是,例如,深度学习应用程序将不会运行得更快,因为它们主要使用RAM。
下载系统
在Raspberry Pi 4上安装64位OS的第一步是从该站点下载新的Raspberry Pi映像工具。映像工具可以在SD卡上编写您选择的操作系统。同时,您应将卡格式化为Raspberry Pi的正确ext4,推荐使用balena Etcher烧录系统!
第二步是为Raspberry Pi 4下载正确的64位操作系统。目前,最新版本是2020-08-20-raspios-buster-arm64版本,可在此处下载。推荐使用多线程下载
1.找到您刚刚下载的2020-08-20-raspios-buster-arm64.zip
2.找到我们使用了 64 GB 的SD卡
3.开始本次烧录
版本检查
写入64位映像后,可以将SD卡插入 Raspberry 并启动。请遵循所有说明,并确保已检查启动过程中的软件更新。由于64位操作系统正在开发中,因此必然会有一些新的操作系统。
现在是时候进行版本检查了。请给命令 uname -a
并检查您的版本。
您还需要使用命令gcc -v检查您的C ++编译器版本。它也必须是aarch64-linux-gnu版本,如屏幕截图所示。较早的Raspberry OS 64位版本仍然具有旧的32位C ++编译器(arm-linux-gnueabihf)。您必须具有64位C ++编译器。
Swap 交换内存
在Raspberry Pi 4上使用64位操作系统之前的最后一项操作是更改内存交换。内存交换通过将不常用的部件临时放置在SD卡上的文件中来增加工作内存。这样,内存被释放。任务完成后,原始内容将从文件中替换到内存中,因此名称为“交换”。
将内存切换到SD卡有两个小问题。首先,这不是一个非常快的机制,因为将数据传输到闪存很慢。其次,由于闪存可以承受的写操作次数有限,它可能很快使SD卡磨损。
当您偶尔在Chromium中的网页之间切换时,数据仅传输一次。这对闪存的寿命没有影响任何。另一方面,当您编译大型软件包(例如TensorFlow)时,您可能会不断在闪存和内存之间传输大量数据,从而导致SD卡快速退化。有关此主题的更多内部信息,请参阅保护Raspberry Pi 4 SD闪存卡页面。
为了解决内存交换的问题,我们使用zram。zram不会将部分存储器写入闪存卡,而是将这些部分压缩为zip文件并将结果保存回RAM。压缩数据的大小与原始大小之差就是释放的内存量。这听起来很麻烦,但实际上,这是一种比写入闪存快得多的机制。唯一的限制最终是没有更多空间存储更大的压缩文件时,RAM的大小。另一方面,原始的Raspberry Pi dphys交换文件仅限于2 GB闪存。
另一个讨论是我们是否首先需要进行内存交换。如果板载8 GB RAM,则几乎没有任何理由交换内存。您可以尝试无修改。您可能永远不会有问题。如果您有2或4 GB,则最好安装zram。
请按照以下步骤在64位操作系统上安装zram。注意最后一行上的“&”号。不要遗漏此字符,否则启动将不会继续。
# #删除旧的dphys版本$ sudo /etc/init.d/dphys-swapfile stop$ sudo apt-get remove --purge dphys-swapfile# 安装zram$ sudo wget -O /usr/bin/zram.sh https://raw.githubusercontent.com/novaspirit/rpi_zram/master/zram.sh$ sudo chmod +x /usr/bin/zram.sh# 设置自动加载$ sudo nano /etc/rc.local# add the next line before exit 0/usr/bin/zram.sh &# 使用,和保存
最后一个操作是设置zram将使用的上限。可以使用以下命令完成此操作。
$ sudo nano /usr/bin/zram.sh# alter the limit with * 2mem=$(( ($totalmem / $cores)* 1024 * 2))# 使用,和保存$ sudo reboot
重新启动后,现在已采取所有措施,并且在Raspberry Pi 4上启动并运行了64位操作系统。
最后的操作
Raspberry 64位操作系统仍在开发中。毫无疑问,将会计划许多改进。
优良作法是每周使用已知命令检查更新。
# 升级你的系统$ sudo apt-get update$ sudo apt-get upgrade
Raspberry Pi 4上的USB启动
硬件
一个简单的 USB 3.0 棒就可以完成这项工作,但是传输速度与SD卡相同,约为80-100MB / s
。净,这会更糟,因为在RPi板上初始化USB控制器时大约需要0.5
秒的时间。
只有具有400 MB / s
或更高速度的快速 SSD驱动器,您才能从 USB引导 中完全受益。这些SSD驱动器不是USB设备。需要一个额外的 USB 3.0 适配器将其连接到您的Raspberry。确保使用适合UASP传输的适配器。它是 USB 3.0 的最新最快协议支持。最后要考虑的是功耗。相对较小的 SSD驱动器 可以通过USB端口供电。这是首选方法,因为否则,您还需要一个额外的电源。
准备Raspberry Pi 4
首先,您必须更改Raspberry Pi中的某些设置才能从USB引导。请输入以下命令。最重要的是全面升级。
# 升级你的系统$ sudo apt-get update$ sudo apt-get upgrade
下一步是在 /etc/default/rpi-eeprom-update 文件中将 FIRMWARE_RELEASE_STATUS 的状态从严重更改为稳定。使用给定的命令打开nano,更改状态,然后使用 + ,,关闭。修改后,您可以下载新的引导程序。重启后激活新的加载器。您可能要验证新的引导程序。给定的日期必须是2020年6月15日,即第一个USB版本或更高版本。
$ sudo nano / etc / default / rpi-eeprom-update$ sudo rpi-eeprom-update -d -a$ sudo reboot# after the reboot $ vcgencmd bootloader_version
准备SSD驱动器
到目前为止,准备SSD驱动器的最简单方法是使用Raspberry Pi操作系统随附的SD卡复制实用程序。它会复制SSD驱动器上的所有文件和设置,以便从驱动器启动后,将具有与迁移到USB启动驱动器之前相同的内容。
SD卡复印机的另一个功能是它不仅可以复制所有文件,而且还可以处理具有不同文件系统的分区。将自动创建500 MB的FAT32引导分区和Ext4 rootfs,以及其他找到的分区。
用法很简单。首先,选择您的SD卡。通常,该名称包含类似 /dev/mmcblk0 的名称。然后从第二个下拉列表中选择您的SSD驱动器。使用开始按钮开始复制。将您的SSD驱动器连接到蓝色的USB端口,因为只有这些端口才支持USB 3.0。其他黑色的是USB 2.0,这将严重限制速度。
整个过程将需要一些时间,具体取决于SD卡的大小。这可能需要几个小时左右。
启动
SD卡复印机完成工作后,您可以选择将来启动Raspberry Pi的方式。大多数人从其RPi上卸下SD卡,将SSD驱动器连接到USB 3.0端口之一,然后通电。由于除SSD驱动器外没有其他可启动媒体可用,因此您将从该设备启动。
对于发烧友用户,有一个引导加载程序配置文件,该文件指示 Raspberry Pi 将如何引导。在 rpi-eeprom-config 文件中,您可以定义两种介质 (SD,USB,UART,网络) 尝试引导 RPi 。如果第一个(例如,SD卡)发生故障,它将尝试从第二个(可以是您的USB)引导。这样,当SSD驱动器发生故障时,您的SD卡可以用作一种备份。
请注意,一旦引导启动,您将只能使用该设备。如果由于功能故障而从 “旧” SD卡 而不是 “新” SSD驱动器 启动,则由于加载了 “旧” SD卡 文件结构,您将丢失SSD驱动器上的所有工作。如果您的SSD驱动器仍在内部引导,或者尚不可用,则可能会发生这种情况。您必须采取预防措施来解决此问题。反复的引导重试可以解决。
在开始修改 rpi-eeprom-config 文件之前,请非常仔细地阅读本页上的说明。
$ sudo -E rpi-eeprom-config --edit# 修改BOOT_ORDER = 0xf41 # 第一个SSD(USB),第二个SD卡$ BOOT_ORDER=0xf14# 保存 + ,,$ sudo reboot
同样,这是针对发烧友用户的。大多数人只会从他们的树莓派上取下 SD卡 直接享受改进的性能。