树莓派3代linux,[原创] 树莓派3代Model B上手

最近入手了树莓派3代,从树莓派出世到现在(2016.04),总共买了共4片各型号的树莓派,算不上狂热的爱好者,但也算是个比较热心的用户了吧。

在此记录一些树莓派3代的使用笔记。

4e362c3420ddb3c5a7413c9a8d57b3ee.png

『1』ARMv8的Arch Linux系统?

树莓派3代的CPU是ARMv8的64位CPU,但是在Arch Linux ARM的官方网站上,并没有for Raspberry Pi 3的ARMv8版本的OS下载,现在只能下载ARMv7 Raspberry Pi 2的OS来用。不用担心,以后面包会有的。

2017.2.24更新:再次到Arch Linux ARM官网看时,发现已经有了,开源社区实在太棒。

文章来源:http://www.codelast.com/

『1』切换到 root 用户

OpenSSH7默认已经禁止了root用户登录,因此,刚安装好的Arch Linux ARM是用alarm用户登录的。

然而登录后,一堆操作(例如用pacman安装软件)都是需要root权限的,因此,需要切换到root再操作:

输入默认密码 root 即可。

文章来源:http://www.codelast.com/

『2』添加中科大的源

按照这个页面的说明,在文件 /etc/pacman.d/mirrorlist 最上方添加一句:

Server = https://mirrors.ustc.edu.cn/archlinuxarm/$arch/$repo

即可。

然后用 pacman -Syu 升级系统,你就会发现快了许多。

文章来源:http://www.codelast.com/

『3』使用树莓派3代的板载的WiFi

注:在本小节的最后有更新说明,请注意看。

在Raspbian上把WiFi用起来实在是太轻松了(当然也有可能是我运气太好),只要用dd命令把Raspbian系统写到TF卡上,再插到树莓派3的卡槽里,上电,进Raspbian系统,WiFi就自然而然地可用了,完全不需要做任何配置!但是在Arch Linux ARM系统下,就没有那么爽了——

我以前在树莓派Model B+的Arch Linux系统里配置过USB WiFi,记录在这篇文章里。如果在树莓派3代上刚装好Arch Linux,就使用同样的方法去配置,会发现不能work。

为了让它work,我们先要使用rpi-update这个第三方工具来更新树莓派的firmwre。

以root用户执行:

可能会提示:

*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom

*** Performing self-update

*** Relaunching after update

*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom

!!! This tool requires you have readelf installed, please install it first

In Debian, try: sudo apt-get install binutils

In Arch, try: pacman -S binutils

文章来源:http://www.codelast.com/

所以我们按它说的,先安装另一个package:

安装完之后,重新执行 rpi-update,遇到问你yes or no的地方都输入y即可,就会输出下面的一堆信息:

*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom

*** Performing self-update

*** Relaunching after update

*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom

*** We're running for the first time

*** Backing up files (this will take a few minutes)

*** Backing up firmware

*** Backing up modules 4.1.20-3-ARCH

#############################################################

WARNING: This update bumps to rpi-4.4.y linux tree

Be aware there could be compatibility issues with some drivers

Discussion here:

https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=144087

##############################################################

Would you like to proceed? (y/N)

*** Downloading specific firmware revision (this will take a few minutes)

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

Dload  Upload   Total   Spent    Left  Speed

100   168    0   168    0     0    111      0 --:--:--  0:00:01 --:--:--   111

100 50.2M  100 50.2M    0     0  45414      0  0:19:20  0:19:20 --:--:-- 73368

*** Updating firmware

*** Updating kernel modules

*** depmod 4.4.7+

*** depmod 4.4.7-v7+

*** Updating VideoCore libraries

*** Using HardFP libraries

*** Updating SDK

*** Running ldconfig

*** Storing current firmware revision

*** Deleting downloaded files

*** Syncing changes to disk

*** If no errors appeared, your firmware was successfully updated to 1e84c2891c1853a3628aed59c06de0315d13c4f1

*** A reboot is needed to activate the new firmware

按它的提示,我们重启系统。

可能是我运气不好,重启没用,板载的WiFi依然起不来。甚至于,我用 iwconfig 命令都看不到 wlan0 设备。

于是用dmesg命令来查看一下问题(dmesg用于显示和控制内核环缓冲,可帮助用户了解系统的启动信息),打印出的信息可谓是非常多,和WiFi模块相关的错误大概有下面几条(不是连在一起的):

brcmfmac: brcmf_sdio_drivestrengthinit: No SDIO Drive strength init done for chip 43430 rev 1 pmurev 24

brcmfmac_sdio mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.bin failed with error -2

brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

所以这里打印出来的brcmfmac又是个什么鬼?它是用于支持基于Broadcom 802.11n芯片的WiFi设备的驱动程序的名字。

因此,我们从上面的信息,是不是能这样说:WiFi模块的驱动程序没找到?

事实上,我们并不能这样推断,因为有人在树莓派的论坛里反馈说,他们的WiFi可以完全正常使用,但dmesg还是打印出了上述信息。而我个人的实验也证实了这样的说法。

文章来源:http://www.codelast.com/

那么怎么办呢?树莓派论坛里有人给出了这样一种方案:

到这个Github链接下载brcmfmac43430-sdio.bin 和 brcmfmac43430-sdio.txt这两个文件,放到系统的 /lib/firmware/brcm/ 目录下——事实上,我在下载之前查看了一下这个目录,里面确实没有这两个文件,这也是为什么我的Arch Linux ARM连iwconfig都找不到wlan0的原因了。

按上面的方法做好之后,重启Arch,再安装命令行的类图形化工具dialog:

启用wlan0:

再使用wifi-menu程序来连接WiFi:

这里假设在交互式设置的过程,你将WiFi的名字设置成了wlan0-NG,则下一步,就是将其设置成开机启动:

这将创建并启用一个随计算机启动而自动运行的 systemd 服务。

文章来源:http://www.codelast.com/

再重启Arch试试?执行ifconfig,你会惊喜地发现WiFi连上了。

另外,如果发现WiFi不稳定,可以试试把WiFi的电源管理关闭:

然后把这行命令添加到启动执行。等驱动更新到更稳定的版本或许能解决WiFi稳定性问题。

2016-09更新:

在一次Arch Linux ARM的系统更新中,提示错误“/usr/lib/firmware/brcm/brcmfmac43430-sdio.bin exists in filesystem”并失败,这个提示已经存在的文件恰恰就是我放到 /usr/lib/firmware/brcm 目录下的,因此,这似乎说明了Arch官方的更新已经支持了树莓派3上的WiFi模块,所以我立即把 /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin 文件mv到其他备份目录下,再用pacman -Syu继续更新系统,但是更新完之后WiFi就不能用了,使用wifi-menu-o命令扫描不到我的路由器的WiFi网络。我相信这个问题是可以通过一些配置解决的,只不过我暂时还没有时间折腾。

(接上)后来我发现,用我的手机创建的WiFi热点(WPA加密模式)可以让树莓派扫描到,并且可以连上,所以,我现在判断是树莓派3的WiFi模块与我的路由器的WiFi加密方式不兼容——但这不应该啊,百思不得其解。

文章来源:http://www.codelast.com/

『4』解决系统更新后无法使用tmux的问题

用 pacman -Syu 更新系统后,重启,再执行tmux,提示错误:

tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968

查了一下,找到这个Arch Linux的Wiki页面,解决方法就是:

编辑 /etc/locale.gen 文件,取消这一行的注释:

en_US.UTF-8 UTF-8

执行以下命令生成Locale:

执行以下命令设置整个系统的Locale:

之后再执行tmux命令,不再出错。

文章来源:http://www.codelast.com/

『5』用pacman -Syu升级时出现“ca-certificates-utils: /etc/ssl/certs/ca-certificates.crt exists in filesystem”错误的解决办法

如果升级时出现以下错误:

error: failed to commit transaction (conflicting files)

ca-certificates-utils: /etc/ssl/certs/ca-certificates.crt exists in filesystem

Errors occurred, no packages were upgraded.

可以按这个链接的说法,用如下方法解决:

pacman -Syuw

rm /etc/ssl/certs/ca-certificates.crt

pacman -Su

其中第1条命令是只下载package,但不安装。

文章来源:http://www.codelast.com/

『6』Raspbian系统默认禁用ssh连接,如何启用

有一个最最简单的办法,你用了之后一定不想去试其他的方法,那就是:把树莓派安装Rabpbian系统的TF卡拔下来,用USB适配器插到一台Ubuntu台式机上,打开其boot分区,在里面创建一个名为“ssh”的文件(不含引号,文件内容为空即可),然后再把TF卡插回树莓派,就会发现ssh已经神奇地启用了。

这个原理是:Raspbian启动时会在boot分区里找名为ssh的文件,如果找到了,就会启用ssh,并把该文件删除。

文章来源:https://www.codelast.com/

➤➤ 版权声明 ➤➤

转载需注明出处:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值