如何为Ubuntu Server 18.04设置Raspberry Pi 3 B +板载WiFi?特别是,对于netplan吗?这是Raspberry Pi 3的Ubuntu Server 18.04映像的全新安装。文件:ubuntu-18.04.2-preinstalled-server-arm64+raspi3.img.xz

已安装的文件/etc/network/interfaces指出netplan具有替换了ifupdown

 # ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
 


/etc/netplan有一个文件50-cloud-init.yaml

# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}

network:
    version: 2
    ethernets:
        eth0:
            dhcp4: true
            match:
                macaddress: <MAC 'eth0' [IF1]>
            set-name: eth0


Netplan.io提供了一些一般的Netplan配置示例。


要配置Netplan,请将配置文件以扩展名/etc/netplan/(例如.yaml)保存在/etc/netplan/config.yaml下,然后运行sudo netplan apply


...但是,没有针对RaspberryPi的指导。 ...特别是关于RaspberryPi Ubuntu服务器安装上现有的/etc/netplan/50-cloud-init.yaml文件。

RaspberryPi的netplan模板是什么?是否可以启用现有的/etc/cloud/cloud.cfg.d?如果禁用了Raspberry Pi上的cloud.cfg.d,将会丢失什么? ...(...,并且想知道...这个问题中有多少需要RaspPi知识与Ubuntu知识。)

注意:由于这个问题是Ubuntu和Raspberry Pi的交叉点,相关问题也发布在AskUbuntu上。

评论

我现在无法进行测试(因为我与Pis的唯一连接现在是通过SSH进行的,因此,如果无法正常使用,我会失去连接),但是此处的此页面可能会填补一些空白您需要网络计划并为Wifi设置您的国家/地区。如果您没有任何运气,我今晚将对此进行测试。

@Larnu您提供的“使用Ubuntu Server 18.04 ARM映像和Netplan的Raspberry Pi 3B / B +无线网桥”包含所需的步骤。现在将这个特定问题所需的必要步骤概括为一个答案。因此,成功。 :-)谢谢。

很高兴看到您到达那里。今天本来可以不参加,但我认为没有必要。 :)

#1 楼

发现以下步骤可在树莓派3 B +上使用netplan和Ubuntu Server 18.04 ubuntu-18.04.2-preinstalled-server-arm64+raspi3.img.xz映像提供持久的WiFi设置。

更新系统:

 sudo apt update
sudo apt full-upgrade
sudo reboot
 


确定接口名称:

 ip link show

# 1: lo: <LOOPBACK,UP,LOWER_UP> …
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> … state UP …
# 3: wlan0: <BROADCAST,MULTICAST> … state DOWN 
  

确定your-cloud-init.yaml并打开进行编辑。

 cd /etc/netplan/
ls -l
# -rw-r--r-- 1 root root 666 May 15 22:00 50-cloud-init.yaml
### note your *cloud-init.yaml file name

### backup *cloud-init.yaml file
cp 50-cloud-init.yaml 50-cloud-init.yaml.bak
### edit *cloud-init.yaml
sudo nano 50-cloud-init.yaml
 


将WiFi访问信息添加到your-cloud-init.yaml文件中。 />
 # This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    ethernets:
        eth0:
            optional: true
            dhcp4: true
    # add wifi setup information here ...
    wifis:
        wlan0:
            optional: true
            access-points:
                "YOUR-SSID-NAME":
                    password: "YOUR-NETWORK-PASSWORD"
            dhcp4: true
 


测试,生成并应用更改后的your-cloud-init.yaml配置:


测试:sudo netplan --debug try(即使有错误也可以继续)
sudo netplan --debug generate(在上一个命令出现问题的情况下提供更多详细信息)
应用:sudo netplan --debug apply(如果在先前的命令中没有问题)

确认测试:

 sudo reboot

### wait, then without the wired ethernet connected ... 
ssh ubuntu@wifi-ip-address
 


以上序列摘自Larnu在问题注释中提到的“使用Ubuntu Server 18.04 ARM映像和Netplan的Raspberry Pi 3B / B +无线网桥”要点链接。要点不仅限于启用WiFi,因为它将Pi变成了网桥。


一些其他有用的WiFi设置步骤。

设置主机名。

sudo hostnamectl set-hostname my-server-name


sudo nano /etc/hosts

 127.0.0.1 localhost
# add host name
127.0.0.1 my-server-name
 


sudo nano /etc/cloud/cloud.cfg

 # Set preserve_hostname to true for persistance after reboot
preserve_hostname: true
 


从本地Raspberry Pi命令行进行验证。

<启用mDNS。

如果需要,请通过安装Avahi启用多播DNS。 Avahi支持mDNS / DNS-SD / RFC 3927 / Zeroconf / Bonjour规范。

 hostnamectl
#   Static hostname: my-server-name
#         Icon name: computer
#        Machine ID: …
#           Boot ID: …
#  Operating System: Ubuntu 18.04.2 LTS
#            Kernel: Linux 4.15.0-1036-raspi2
#      Architecture: arm64
 


从另一台计算机上远程检查mDNS分辨率。

评论


这太棒了!描述的所有步骤均适用于pi 4

–布兰登
20年1月19日在15:21

也可以在Ubuntu 19.10.1上使用(我在Pi 3上将它与ubuntu-19.10.1-preinstalled-server-armhf + raspi3.img.xz一起使用)。

– Peter Gloor
20 Jan 23 '13:01



这适用于ubuntu-20.04-preinstalled-server-arm64 + raspi.img.xz映像,谢谢!

–乍得·史基拉(Chad Scira)
20年6月2日,12:35

这些步骤起初是有效的,但现在我看不到wifi已连接。我根本没有动过配置。我在使用Ubuntu Server 20.4 Linux ubuntu 5.4.0-1015-raspi#15-Ubuntu SMP的RaspberryPi 4上Fri Jul 10 05:34:24 UTC 2020 aarch64 aarch64 aarch64 GNU / Linux。有人遇到这个问题吗?我尝试再次执行以下步骤,但不能解决问题。

– piepi
20年7月28日在11:05

须藤chmod 640 /etc/netplan/50-cloud-init.yaml ;-)

–ScotchAndSoda
1月1日17:56