百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

「 小白玩树莓派系列」Raspberry Pi 4 Ubuntu USB 大容量存储启动指南

nanshan 2024-11-22 18:26 13 浏览 0 评论

Canonical 对 Raspberry Pi 的官方支持已经走过了漫长的道路。我们现在可以在 Pi 安装官方支持的 Ubuntu!在我之前的 Pi 上的 Ubuntu 18.04指南中,Raspberry Pi 尚未得到官方支持,老实说,体验非常糟糕。

幸运的是,当前的Ubuntu 22.04 LTS 版本已通过Raspberry Pi 的官方认证。这与 Ubuntu 的完整 64 位用户空间/系统环境相结合,使您可以充分利用 8 GB Pi 的内存而没有每个进程 3GB 内存限制(如果您正在执行诸如运行 Minecraft 服务器之类的事情并且想要分配几乎所有8 GB)意味着现在是让 Ubuntu 试用 Pi 的最佳时机。

本指南更进一步,向您展示如何让 Ubuntu 22.04 与SSD 一起工作。让我们开始吧!

先决条件

验证电源尺寸(强烈推荐 3.5A)

检查您的 Raspberry Pi 的电源大小,并确保它提供至少 3.5A 的电流。树莓派有很多只有 3.0A 的 USB C 适配器。这些通常可以正常工作,直到您插入 Pi 获取电力的 SSD 之类的东西,并且没有什么可提供的。

大多数 SSD 都非常节能,但 HDD 的功耗要高得多。老一代的 SSD 也比新的 SSD 使用更多的功率。如果您使用的是较旧的驱动器或您知道耗电的驱动器,则需要特别注意拥有容量充足的优质电源。

使用3.5A 电源*或有源 USB 集线器*将确保您的驱动器获得足够的电力,而不会影响 Pi 的稳定性。

材料

  • · 树莓派4B 4G版
  • · sd卡 - 32G
  • · sd卡读卡器
  • · SSD - 128G
  • · 移动硬盘盒
  • · type C电源
  • · USB键盘
  • · micro-hdmi to hdmi转接头
  • · hdmi显示器

树莓派启用USB启动

将树莓派插入sd卡,开机进入raspberry OS,在终端中输入以下命令:

sudo raspi-config

依次选择Advanced Options - Boot Order,然后在此启用USB启动即可。

获取最新的 Raspbian 和更新

要更新您的引导加载程序/固件,您应该在 SD 卡上使用Raspbian 。目前,第三方操作系统对使用新 Raspberry Pi 4 的固件或引导加载程序执行任何操作的支持非常有限/不存在。设置启动模式后,您可以稍后使用第三方操作系统,但要实际进行这些更改,我们将使用官方 Raspbian。

首先确保您拥有 Pi 的绝对最新更新和固件。要将所有软件包和固件升级到最新版本,请使用以下命令:

sudo apt update && sudo apt full-upgrade -y


更新完成后,使用sudo reboot命令重新启动您的 Pi,以应用最新的固件/内核更新。

验证 EEPROM 引导加载程序是最新的

我们可以使用以下命令检查您的 Pi 的引导加载程序固件是否是最新的:

sudo rpi-eeprom-update

如果您的 Raspbian *非常*过时,您可能没有此实用程序,可以使用以下方法安装它:

sudo apt install rpi-eeprom

如果您不是最新的,则 rpi-eeprom-update 的输出如下所示:


如果它有任何更新可用,则可以通过在上一个命令的末尾添加“-a”来手动安装它们,如下所示:

sudo rpi-eeprom-update -a

更新完成安装后重新启动你的 Pi,因为在重新启动后才会应用固件更新。现在,如果您运行 rpi-eeprom-update 再次检查更新,它应该说你是最新的和最新的!

要切换到稳定通道,我们将编辑文件 /etc/default/rpi-eeprom-update:

sudo nano /etc/default/rpi-eeprom-update

将 FIRMWARE_RELEASE_STATUS=”critical” 行更改为:

FIRMWARE_RELEASE_STATUS="stable"

现在您可以运行 sudo rpi-eeprom-update 并且您应该会看到可用的新更新。

在 USB 存储设备上安装 Ubuntu

新的官方树莓派镜像工具真的很不错。它可在 Windows、Linux 和 MacOS 上使用,并且下载小而快。它也适用于大多数 USB 大容量存储设备,如 SSD。由于现在正式支持 Ubuntu,因此该工具中也提供了映像本身,从而省去了查找和下载正确映像文件的麻烦。

建议 Pi 4 使用 64 位图像以获得更好的性能,但 32 位图像也可以。

如果你想以传统方式做事,你可以从 Ubuntu 主站点下载图像并使用 Etcher / dd / Win32diskimager / 你的首选工具自己编写,然后跳到下一节。建议使用 Raspberry Pi Imager 创建媒体,除非您在使用该实用程序时遇到问题或将其用作故障排除步骤。

下载该工具后,以administrator/sudo 身份运行它以避免权限错误。从命令行运行该实用程序通常是 sudo rpi-imager。你会看到这个屏幕:


接下来单击“选择操作系统”按钮:


选择 Ubuntu 选项,您将获得不同的风格/架构选择。有 64 位 (arm64) 和 32 位 (armhf) 的各种形式的 Ubuntu Desktop、Ubuntu Server 和 Ubuntu Core。

如果您想使用开箱即用的 Ubuntu 桌面版,则需要使用 64 位 Ubuntu 22.04 映像。或者可以选择“Server”版本并稍后安装 Ubuntu 的桌面环境:

sudo apt install ubuntu-desktop

一旦您选择了您想要的版本,然后选择“选择 SD 卡”选项并写入图像。尽管不是 SD 卡,但我的 USB 大容量存储设备还是出现了。


我相信你们中的一些人会设法找到可能不会出现在这个工具中的不寻常的设备和配置。它似乎没有显示物理安装在您的机器中的“固定驱动器”。无论它是否引起头痛,您都可能需要以老式的方式进行操作,并从 Ubuntu 主站点下载图像,然后使用您最喜欢的映像工具编写图像。

修改 Ubuntu 以进行 USB 引导

在从它启动之前,我们需要对刚刚创建的 Ubuntu 驱动器进行一些更改。确保您的 Pi 已打开电源并启动到 Raspbian,然后插入新映像的 Ubuntu 驱动器。我们将使用 Pi 进行更改。

查找并挂载存储设备

首先让我们使用以下命令找到您的存储设备:

lsblk

这将显示连接到系统的所有存储设备:


您的 SD 卡将始终以 mmcblk 开头,因此您可以排除它。这使得 sda 成为系统上唯一的其他磁盘设备。这对你们大多数人来说都是一样的,但取决于你使用的驱动器和存储适配器的类型,这可能会有所不同。在这些说明中,你可以用你的任何东西代替 /dev/sda。如果你的是 sdb,请使用 /dev/sdb。如果是 nvme0,则使用 /dev/nvme0 等。

在“MOUNTPOINT”列下的输出中,您可以看到它是空白的。这意味着驱动器未安装在我的系统上。我的 mmcblk0p1 挂载点不是空白,而是“/boot”作为非空白挂载点的示例。如果您使用的是完整的“Desktop”版本的 Raspbian,它可能会自动安装您的驱动器并在您的桌面上创建 2 个快捷方式,将您带到文件。如果您的挂载点不是空白并且有类似 /media/pi/writable 的内容,请继续使用以下命令卸载它们,替换为您的驱动器列出的挂载点:

sudo umount /media/pi/writable
sudo umount /media/pi/system-boot

现在我们将创建两个挂载点并挂载 Ubuntu 驱动器。使用这些命令替换您自己的驱动器,它不是 /dev/sda:

sudo mkdir /mnt/boot
sudo mkdir /mnt/writable
sudo mount /dev/sda1 /mnt/boot
sudo mount /dev/sda2 /mnt/writable

正确安装所有内容后,您的lsblk命令的输出应该如下所示,并且现在填充了 mountpoint 字段:


修改挂载的分区 –自动脚本

如果您只想让您的 Ubuntu 分区可启动,用一个自动脚本来执行此操作。只要您将分区挂载为 /mnt/boot 和 /mnt/writable,脚本就会对 Ubuntu 22.04 进行必要的更改以启动!该脚本的源代码位于https://github.com/TheRemote/Ubuntu-Server-raspi4-unofficial/blob/master/BootFix.sh

这是运行脚本的单行代码:

sudo curl https://raw.githubusercontent.com/TheRemote/Ubuntu-Server-raspi4-unofficial/master/BootFix.sh | sudo bash

您也可以下载它以供检查(例如 nano BootFix.sh 或如果您使用的是 Desktop Raspbian,则在文本编辑器中打开它):

curl https://raw.githubusercontent.com/TheRemote/Ubuntu-Server-raspi4-unofficial/master/BootFix.sh -O BootFix.sh
chmod +x BootFix.sh
nano BootFix.sh

要执行脚本,请使用:

sudo ./BootFix.sh


优化SSD在树莓派上的读写速度(可选)

修复(某些)USB 适配器问题,我们需要找到适配器的设备 ID 字符串,然后在 cmdline.txt 中添加一个条目,告诉内核在启动时应用它们。

我们首先需要获取适配器 ID。我们将使用 sudo lsusb 命令:


在某些情况下,SSD在树莓派上的读写速度很不理想,具体原因可查看参考资料第三条,在此只给出修改方法。 首先需要获取SSD的idVendor和idProduct,在终端输入命令:

sudo dmesg | grep usb


然后在结果中搜索关键字idVendor即可找到SSD的idVendor和idProduct,我这里是174c和55aa。

首次启动

如果一切顺利,系统应该会启动进入 Ubuntu 的登录屏幕!开机后初始账户密码是:

Username: ubuntu
Password: ubuntu

在第一次登录之前,您将被迫选择一个新密码。完成后,您将完全登录!

修补完成后,您闪亮的新 Ubuntu 22.04 系统就可以使用了!

相关推荐

轻量级分析利器再升级:解读 DuckDB 1.3.0 新特性

DuckDB团队近日正式发布了最新版本——DuckDB1.3.0,代号“Ossivalis”。此次版本以金眼鸭的远古祖先BucephalaOssivalis命名,象征项目在演化和成长过...

C++跨平台编译的终极奥义:用Docker把环境差异按在地上摩擦

"代码在本地跑得飞起,一上服务器就coredump?"——每个C++程序员都经历过的《编译器的复仇》事件!大家好,我是Henry,废话少说,今天来简单谈一下跨平台编译的那些事儿,...

全网最全-Version Script以及__asm__((".symver xxx"))使用总结

首先提醒一点,一切的前提建立在你的名字必须要mangling,不然无论你写的versionscript还是__asm__都不会起任何效果VersionScript简单用法:这是一个典型例子,这个例...

Ubuntu 25.04 Beta发布:Linux 6.14内核

IT之家3月28日消息,Canonical昨日(3月27日)放出了Beta版Ubuntu25.04系统镜像,代号“PluckyPuffin”,稳定版预估将于2025年...

不同平台CRT的区别?什么是UCRT?如何看libc源代码?

若文章对您有帮助,欢迎关注程序员小迷。助您在编程路上越走越好!CRT运行时库C标准规定例如输入输出函数、字符串函数、内存操作等接口,一般采用C运行时库实现。微软的CRT微软有两套CRT,早期的MS...

信创力量,中兴绽放——中兴新支点桌面操作系统安装与使用全攻略

原文链接:「链接」Hello,大家好啊,今天给大家带来一篇中兴新支点桌面操作系统安装使用的文章,欢迎大家分享点赞,点个在看和关注吧!中兴新支点桌面操作系统是一款基于Linux内核、面向政企和信创环...

Linux下安装常用软件都有哪些?做了一个汇总列表,你看还缺啥?

1.安装列表MySQL5.7.11Java1.8ApacheMaven3.6+tomcat8.5gitRedisNginxpythondocker2.安装mysql1.拷贝mysql安装文件到...

一篇文章解决Linux系统安全问题排查,另配实操环境

实操地址:https://www.skillup.host/1/linux/safe/command.md#Linux安全检查排查指南##1.系统账户安全检查###1.1检查异常账户``...

程序员必备的学习笔记《TCP/IP详解(一)》

为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样...

《Linux常用命令》(linux的常用命令总结)

一、文件与目录操作1.目录导航pwd:显示当前工作目录路径示例:pwd关键词:当前路径、工作目录cd:切换目录示例:cd/home/user#切换到绝对路径cd..#...

Kubernetes 教程之跟着官方文档从零搭建 K8S

前言本文将带领读者一起,参照者Kubernetes官方文档,对其安装部署进行讲解.Kubernetes更新迭代很快,书上、网上等教程可能并不能适用于新版本,但官方文档能.阅读这篇文章你...

电脑网卡坏了怎么修复(电脑网卡坏了怎么修复win7系统)

当电脑网卡出现故障时,无论是有线网络还是无线网络,都可能无法正常连接。下面从软件、硬件等方面,分步骤为你介绍排查与修复的解决方案。一、初步排查:锁定问题源头检查网络环境将手机、平板等其他设备连接至同一...

如何查询电脑/手机的物理地址(如何找手机的物理地址)

一、要查询电脑的物理地址(也称为MAC地址),可以按照以下步骤进行操作:1.打开命令提示符(Windows)或终端(Mac):-在Windows上,点击“开始”按钮,搜索“命令提示符”,然后点击打...

IPv4 无网络访问权限全流程解决方案

当设备出现IPv4无网络访问权限问题时,多由网络配置错误、连接故障或服务异常导致。以下提供系统化的排查步骤与解决方案,帮助用户快速定位并修复问题。一、基础故障快速检查1.物理连接确认有线网络:检...

Python教程(十九):文件操作(python操作文件夹)

昨天,我们学习了列表推导式,掌握了Python中最优雅的数据处理方式。今天,我们将学习文件操作—Python中读写文件的基础技能。文件操作是编程中的核心技能,无论是读取配置文件、保存用户数据,还是...

取消回复欢迎 发表评论: