你能在树莓派4上安装Ubuntu吗?

我想知道你是否能在树莓派4上安装Ubuntu,因为在Ubuntu的官方指南中,它只提到适用于2和3代。那么适用于树莓派3的版本能在树莓派4上使用吗?
5个回答

如果你不想等待官方发布,可以参考这个非官方指南:https://jamesachambers.com/raspberry-pi-ubuntu-server-18-04-2-installation-guide/
树莓派4目前在当前的Ubuntu Server树莓派镜像中尚未得到官方支持,但您可以通过手动更新固件来使其正常工作。固态存储也可以使用,但需要使用micro SD卡作为引导加载器,因为树莓派4尚未具备官方引导支持。本文将介绍如何进行这两个操作。
树莓派的外设,如WiFi/蓝牙,现在已经完全支持。之前的树莓派Ubuntu Server版本(以及其他许多发行版)存在着WiFi/蓝牙等核心组件的驱动程序损坏或完全缺失的问题。在18.04.2更新中,WiFi和其他组件的固件已经默认包含在系统中,使其成为一个功能齐全的发行版。
这是除了Raspbian之外的第一个发行版,感觉就像只需制作映像即可一切正常运行。我将在本指南中为您提供操作步骤。设置过程只需几分钟。

推荐装备

我强烈建议升级到固态设置。性能提升巨大。现在不到30美元就可以将您的树莓派升级为固态。这是您可能为树莓派获得的最佳性能升级。

使用全新的Raspberry Pi 4 使用USB存储会更有益,因为Pi 4中终于添加了一个USB 3.0总线,使其能充分利用固态驱动器。这是我目前使用的设置:

  Raspberry Pi 4 Model B 2 GB
  StarTech 2.5″ SATA转USB 3.0适配器 -AND- Kingston A400 SSD 120GB SATA 3 2.5" SSD
  或者紧凑型设置:SanDisk Extreme Pro 128 GB USB固态闪存驱动器
  对于micro SD卡设置:SanDisk Extreme 64 GB A2应用级别Micro SD卡

获取Ubuntu服务器

访问官方Ubuntu Raspberry Pi页面 https://wiki.ubuntu.com/ARM/RaspberryPi 并滚动到“Official Images”部分。

32位(armhf)vs. 64位(aarch64)

获取Ubuntu Server的32位版本的启动比64位版本更容易和更快。如果您选择安装64位,请在说明书中仔细注意64位特定步骤,因为遗漏任何一个步骤都会导致您的树莓派无法启动!
目前,树莓派4在64位模式下有1GB的内存限制。我建议使用32位版本的Ubuntu或等待树莓派4的支持跟上。如果您现在想运行64位版本,除了内存限制外,它也可以正常工作。
除非您有特定需要,否则现在应选择armhf 32位版本。对于绝大多数用例来说,32位版本更快、更稳定。64位版本已经取得了很大的进展,在这一点上完全可用,但仍然存在一些显著的缺点。
树莓派4将我们带到了4GB的限制,但要突破这个限制,Raspbian最终将不得不转向64位操作系统,因为32位操作系统的限制之一是只能寻址4GB的RAM。为了突破4GB内存寻址限制,操作系统必须转向64位(aarch64/arm64)。

目前树莓派已经支持64位,但由于Raspbian和树莓派固件没有官方发布64位版本,因此配置起来可能会有些问题,也更加困难。

写入基础镜像

这部分很简单。将镜像从xz格式解压到img格式(7zip非常好用且免费,可以进行解压)。然后将img写入您的存储介质(Micro SD卡、固态硬盘、USB存储器等),就像为任何其他发行版写入一样。

更新树莓派4的固件

删除现有固件

当前版本的固件不支持树莓派4,所以我们需要更新/boot/分区上的固件,以便树莓派4能够正确启动。

将Micro SD卡插入/挂载到计算机上,并导航到"boot"分区。删除现有文件夹中的所有内容,使其完全为空。

下载最新固件

32位固件说明

如果您想运行64位版本的Ubuntu,请跳到下一节的64位指令部分。对于32位版本的Ubuntu,请从官方GitHib存储库下载固件,链接在这里:https://github.com/raspberrypi/firmware/archive/master.zip

最新的固件位于master.zip的"boot"文件夹中(包括子文件夹)。我们希望将"boot"文件夹中的所有内容(包括子文件夹)提取到我们之前清空的micro SD卡的"boot"分区中。不要忘记获取"overlays"文件夹,因为它包含了正确启动所需的覆盖层。

最终结果在"boot"驱动器上会看起来像这样:

$ ls
  COPYING.linux                bcm2711-rpi-4-b.dtb   kernel.img
  LICENCE.broadcom             bootcode.bin          kernel7.img
 'System Volume Information'   cmdline.txt           kernel7l.img
  bcm2708-rpi-b-plus.dtb       config.txt            overlays
  bcm2708-rpi-b.dtb            fixup.dat             start.elf
  bcm2708-rpi-cm.dtb           fixup4.dat            start4.elf
  bcm2708-rpi-zero-w.dtb       fixup4cd.dat          start4cd.elf
  bcm2708-rpi-zero.dtb         fixup4db.dat          start4db.elf
  bcm2709-rpi-2-b.dtb          fixup4x.dat           start4x.elf
  bcm2710-rpi-3-b-plus.dtb     fixup_cd.dat          start_cd.elf
  bcm2710-rpi-3-b.dtb          fixup_db.dat          start_db.elf
  bcm2710-rpi-cm3.dtb          fixup_x.dat           start_x.elf

64位固件说明

为了以64位模式启动Ubuntu服务器,我们需要下载64位版本的固件。32位和64位操作系统之间的.dtb文件是不同的。Raspbian没有提供64位引导加载程序,官方GitHub仓库中也没有提供。

自己构建64位固件版本需要交叉编译工具链和大量时间,但这是一个选择。幸运的是,sakiki提供了一个64位版本固件的二进制文件,用于在支持继续跟进的同时启动树莓派4 64位设备。

下载固件二进制文件:https://github.com/sakaki-/gentoo-on-rpi3-64bit/releases/download/v1.4.2/deploy_root_p4.tar.xz

从存档中的deploy-root/bootfs目录中提取文件到我们在前一步中清理的SD卡的"boot"分区。这将给我们提供64位引导加载程序。

创建/更新config.txt和cmdline.txt

导航至微型SD /boot/ 分区。创建一个空白的cmdline.txt文件,内容为以下一行:
dwc_otg.fiq_fix_enable=2 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rootflags=noload net.ifnames=0

接下来我们将使用以下内容创建config.txt文件:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on

[pi4]

[all]

64位 config.txt 配置

为了以64位模式启动Pi,我们需要将以下行添加到config.txt中:

total_mem=1024
arm_64bit=1
enable_gic=1
armstub=armstub8-gic.bin 

64位的最终配置将如下所示:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on

[pi4]

total_mem=1024
arm_64bit=1
enable_gic=1
armstub=armstub8-gic.bin

[all]

这些选项使您能够执行树莓派的64位引导所需的所有64位相关选项。

关于total_mem=1024的注意事项:目前,树莓派4的SD卡在没有将总内存限制为1GB的情况下无法以64位模式工作。正在进行相关修复工作,并将在官方支持发布后进行修复。

引导Ubuntu服务器

我们现在可以引导设备了。插入微型SD卡并启动设备。

注意:第一次启动可能会非常慢,请耐心等待。它可能需要2-3分钟,没有任何活动指示灯,然后突然一切都开始闪烁,SSH将会打开。

修复apt-get update

如果您现在尝试执行apt-get update,它将尝试使用Ubuntu存储库中的旧固件更新您的固件。暂时的解决方法是删除该软件包,以保留您现有的固件。请记住此步骤,因为以后我们将希望重新启用存储库中的更新一旦添加了支持。

sudo apt remove flash-kernel initramfs-tools

你现在可以运行sudo apt-get update && sudo apt-get upgrade,但是不要使用dist-upgrade,因为仓库中的内核还不支持树莓派4。但这样应该可以使所有软件包保持最新。

固态硬盘(SSD)配置(可选)

目前尚未将USB引导功能添加到树莓派4的固件中,但正在进行相关开发工作。在此期间,您可以将微型SD卡用作引导加载程序,并从固态硬盘启动整个操作系统(rootfs),从而实现全系统范围内的完整USB 3.0速度增加。一旦树莓派的USB引导正式发布,您就可以直接从设备启动,无需任何临时引导加载程序SD卡。

首先,按照本教程中的早期步骤创建一个完全镜像和可引导的微型SD卡。在创建了微型SD安装后,您现在应该使用与创建SD卡时使用的相同的Ubuntu映像来为SSD / USB驱动器制作镜像。

现在导航到新创建的SSD / USB驱动器上的"boot"分区,并像之前处理SD卡一样删除其中的所有内容。然后将micro SD卡中的"boot"文件夹复制到固态硬盘上。这是必要的,因为尽管最初从micro SD卡读取"boot"中的文件,但在后期加载阶段,某些固件文件会从挂载的驱动器中读取,如果缺少必要的固件文件,系统将无法启动。
现在,您已经创建了SSD / USB驱动器的分区并将"boot"分区从SD卡复制到新驱动器上,我们需要更新SD卡的cmdline.txt文件,以指向SSD / USB驱动器的分区。
dwc_otg.fiq_fix_enable=2 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rootflags=noload net.ifnames=0

我们需要更改的关键部分是“root=/dev/mmcblk0p2”部分。mmcblk0p2是micro SD存储的硬件标识符。我们需要将其更改为您的存储设备被检测为的设备。
如果您使用的是USB到固态硬盘适配器,很可能您的驱动器将被命名为/dev/sda2。因此,我们将把root=/dev/mmcblk0p2更改为root=/dev/sda2
root=/dev/sda2

最后一行将是:
dwc_otg.fiq_fix_enable=2 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 rootwait rootflags=noload net.ifnames=0

将micro SD卡和固态硬盘都插入树莓派并启动。
记住:第一次启动可能需要2-3分钟进行首次启动,所以在假设它没有工作之前,请给它一些时间。
配置
默认用户名/密码
您初始登录Ubuntu Server的用户名和密码将为:
user: ubuntu
password: ubuntu

第一次登录后,您将需要更改密码。在输入新密码之前,请确保在提示中输入当前的“ubuntu”密码,否则设备将完全将您踢出,并且您将不得不重新登录。

设置时区

要为Ubuntu服务器配置正确的时区,请使用以下命令:

sudo dpkg-reconfigure tzdata

这将带您进入一个非常易于操作的菜单,以选择正确的时区并应用到系统中。 更新系统 为了获得最佳的稳定性、安全性和性能,您应立即将系统和软件包更新到最新版本。这样还可以获取所有最新的修复/改进,使您的树莓派Ubuntu体验更加出色。
这部分很简单。输入:
sudo apt-get update && sudo apt-get upgrade

更改默认的GPU内存分配

树莓派上默认分配给GPU的内存大约为1GB中的76MB。在2GB和4GB型号中,从中获得的内存量微不足道,但对于1GB型号仍然值得。

如果您输入命令free,您会发现树莓派在“总计”列下缺少这部分内存。我们可以通过将GPU内存分配设置为16MB来回收大部分内存。如果您计划将来安装图形用户界面(GUI),则不应进行此更改。

此选项在config.txt文件中设置。它与Raspbian使用的文件完全相同,但位于/boot/firmware/config.txt而不是/boot/config.txt。请使用以下命令打开config.txt:

sudo nano /boot/firmware/config.txt

我们将在config.txt的底部添加以下行:
gpu_mem=16

按下Ctrl + X并键入yes以保存文件。现在通过输入以下内容重新启动Pi:
sudo reboot

重启完成后再次输入free命令,您会发现可用内存总量已增加,系统和应用程序现在可以使用它。

不,你不能这样做:
RPi4采用了更新的CPU,与旧版2/3的CPU不兼容。 因此,你需要等待一个适用于RPi4的版本发布。

2预计发布日期是什么? - waspinator

树莓派预装的Ubuntu 20.10桌面版和预装的Ubuntu 20.10服务器镜像可以从ubuntu.com获取。这些预装镜像允许您将预装版本的Ubuntu解压到目标设备上。

安装Ubuntu服务器

我们将引导您完成在Raspberry Pi 2、3或4上刷写Ubuntu服务器的步骤。在此过程结束时,您将拥有一个完整的开发或生产环境。

最低要求

  • Raspberry Pi 2、3或4
  • microSD卡
  • Ubuntu服务器映像
  • 带有HDMI接口的显示器
  • HDMI电缆
  • USB键盘

安装说明

  1. 下载Ubuntu服务器映像:

    Ubuntu 19.10 Raspberry Pi 32位和64位预装映像(raspi3)现在支持Raspberry Pi 2、4和4平台。当20.04正式发布时,以下链接将进行更新。

2. 刷写microSD卡 按照安装媒体说明的步骤,将Ubuntu镜像复制到microSD卡上。
3. 安装Ubuntu服务器 将显示器和键盘连接到主板。您也可以使用串行电缆作为替代。
插入microSD卡并将电源适配器插入主板。
4. 登录 在提示登录时,使用"ubuntu"作为用户名和密码。登录后,您将被要求更改此默认密码。

首次启动提示

如果需要,您可以安装桌面环境。以下是一些流行的选择:

sudo apt install xubuntu-desktop  
sudo apt install lubuntu-desktop  
sudo apt install kubuntu-desktop   
sudo apt install ubuntu-mate-desktop^ # full desktop + applications
sudo apt install mate-desktop-environment-core # very basic set of programs that are necessary to start a MATE desktop environment session

有关此镜像中包含的Raspberry Pi特定软件包以及进一步的自定义详细信息,例如加速视频驱动程序和可选软件包存储库,您可以参考RaspberryPi wiki来源:改编自:在Raspberry Pi 2、3或4上安装Ubuntu服务器

Ubuntu桌面安装替代方法

打开终端并输入:

sudo snap install rpi-imager

一旦完成这个步骤,启动图像处理器并打开“选择操作系统”菜单。

Screenshot

滚动菜单向下,点击其他通用操作系统

Screenshot

在这里,您可以选择Ubuntu并查看下载选项列表。对于本教程,我们建议您选择Ubuntu 20.04进行下载。注意:上述操作系统菜单中显示的一些操作系统下载选项可能已过时,因为这些下载选项已被停用。正如图像所示,此选项适用于Raspberry Pi 2、3、3+以及任何4系列的设备。

Screenshot

选择图像并打开SD卡菜单。选择您插入的microSD卡。最后,点击“写入”并等待魔法发生。这可能需要几分钟。
现在您有了Ubuntu SD卡。在继续之前,请确保您的Pi已关闭并插入此SD卡。这是Pi用来加载您即将使用的所有软件。
现在,在插入和启动树莓派之前,请确保您的HDMI屏幕和USB键盘已连接。您将能够在屏幕上看到引导过程,并最终看到Ubuntu安装程序的首次运行向导。Ubuntu安装程序将指导您完成Ubuntu桌面版的安装,包括设置Ubuntu的语言、键盘布局、时区和密码。 来源:如何在树莓派上安装Ubuntu服务器

有人说它很快就会推出:

树莓派4的Ubuntu MATE

Ubuntu MATE 18.04.2的首席开发者Martin Wimpress在推特上发布了一张树莓派4的照片,并表示:“这应该能让我忙上一段时间。”