树莓派 3B 入门 openSUSE Leap 42.3

以下树莓派简称 RP。斜体表示要执行的指令,[] 表示指令参数。本文有多个链接,一般是中文 wiki,可以查看使用方法。

版权归本人所有,转载请注明原作者!


[0] About

openSUSE 是桌面服务器系统 SUSE 的开源版本,以稳定著称,系统工具 YaST 强大,在中国可能流行度不够。Leap 版本是稳定慢更新版,Tumbleweed 是快速更新版。SUSE 最早做出来适用于 RP3B 的 ARMv8 系统,支持几乎所有硬件。本篇将入门 openSUSE Leap 42.3。


[1] Image

打开 RP3B 的系统介绍页面,有多个版本的系统镜像可选,对应不同 GUI 或者无 GUI 的 JeOS。由于那几个 GUI 和系统本身很吃硬件,我选择 JeOS。准备好空的 Micro SD 卡,下载系统 image 到 Linux PC,用 fdisk -l 确认 SD 卡的编号(如 sdb 还是 sdc),注意需要软件包 xzcat。然后执行以下指令,注意 [image.raw.xz] 替换为文件位置,[sd] 替换为 SD 卡编号,参数不能少任何一个:xzcat [image.raw.xz] | dd bs=4M of=/dev/[sd] iflag=fullblock oflag=direct; sync

dd 完成后,应该能看到两个分区 EFI 和 ROOT,不完全占用所有空间。将 5V 2A 或更强 USB Micro-B 电源给 RP3B 供电,不要拿旧线来用,否则工作不稳定!启动后,可以看到界面输出应该填满显示器(ARMv7 系统会有空),分区扩展会自动完成。如果有错误,应该是写入的问题,blocksize (bs) 的指定是必须的。


[2] System

启动后,可以 ssh 或者直接连接键盘操作 RP,root 默认密码 linux。

YaST 是个强大的系统管理工具,能把系统配置到需求状态,可以设置网络、管理软件、控制内核、修改用户......执行 yast 可以启动 YaST。方向键移动,功能键对应不同操作,空格键用于勾选,enter 键用于确认或选择。图形界面很容易操作,不再介绍,可以参考 wiki。用好 YaST,就用好了 openSUSE。

默认只有 vi 编辑器,nano 编辑器要额外安装。

服务管理用 Service Manager。在 Shell 中 service 后接指令即可,service [service] start/stop/status 可以启动或停止或查看服务状态,service [service] enable/disable 可以设置开机启动或不启动服务。在 YaST/System/Services Manager 可以 GUI 操作。

RP 没有实体时钟。设置时间在 /YaST/System/Date and Time 中,将时区改为任意中国城市,在 Other Settings 中设置自动同步:

设置时间同步

Linux 编译各种东西是日常。gcc git make automake cmake wget build 这些软件肯定要。对于其它语言需求,请根据软件包列表和自身需要安装。


[3] Network

(下面的 [if] [dev] 表示 interface,即网络端口,请填写端口名称,如 wlan0 eth0;[phy] 是端口序号,如 0 1。请根据情况替换。)

RP3B 有两个网络芯片:BCM43438 Wi-Fi 芯片,支持 2.4G Wi-Fi,openSUSE 上需要特别操作才能用;LAN9514 以太网控制器,最高 100M 速率,名称 eth0,默认配置为自动连接。修改 /etc/dracut.conf.d/raspberrypi_modules.conf 这个文件(vi 编辑器),改为以下内容,之后执行 mkinitrd,并重启:

add_drivers+=" bcm2835-sdhost bcm2835_dma mmc_block "

omit_drivers+=" sdhci-iproc"

Wicked 是 openSUSE 指令行的网络管理器。wicked ifup/ifdown/ifcheck/ifreload [if] 可以启动或关闭或检查或重启端口,wicked ifstatus/show [if] 可以看端口信息。

IFConfig 可以用于配置临时配置网络端口,查看各端口情况和名称:ifconfig [dev] address/netmask/broadcast [IP]/[Netmask]/[Broadcast] 可以为一个端口配置 IP 地址、掩码、广播地址。ifconfig [dev] 可以查看端口状态信息,ifconfig [dev] up/down 可以启动或者关闭端口,ifconfig [dev] mtu [mtu] 可以设置 MTU 值。

IPRoute2 也可以进行网络管理。ip link 可以获取网络信息。ip link show dev [dev] 可以查看某个端口的信息。ip link set [if] up/down 启用或关闭某个端口。ip address show 可以打印所有地址信息。ip addr add [IP]/[netmask] broadcast [broadcast] 可以配置端口静态 IP、掩码、广播地址([netmask] 对应数字,255.255.255.0 是24,255.255.0.0 是16,255.0.0.0 是8,255.255.255.255 是32)。ip route add default via [IP] 可添加路由出口,出口即网络包从哪出入。

查看无线网络,可以用 iw。可以 iw list 查看所有芯片及支持能力。iw dev [dev] info 可以查看指定无线网络芯片信息。iw dev [if] scan 可以扫描可连接 Wi-Fi,但没法连接 WPA 加密网络。

NetStat 可以看到网络总体连接情况,netstat 输出信息,netstat -r 可以看到路由列表和对应端口 IP,netstat -i 可以看到活跃的网络端口信息,netstat -h 查看用法。

RFKill 用于屏蔽无线通信:rfkill list 列出已连接无线设备及序号,rfkill  block/unblock [no] 可以屏蔽或解除某个设备。一般不会用到。

如果要使用 PPPoE 拨号,需要安装软件包 rp-pppoe。pppoe-setup 即可开始配置,按照引导一步步来。配置后,pppoe-start 启动,netstat -r 应该能看到端口 ppp0,pppoe-stop 停止。如果拨号后ip route 查看到默认出口不是 ppp,用 ip route 加入并更改默认路由。

YaST 可以在 Shell 中图形界面编辑网络设置,在 Syetem/Network Settings。

YaST 网络管理界面

安装桌面后,一般有 Network Manager 可选用。在 YaST 网络管理页面把管理器换掉,然后桌面右下角的 Network Manager 插件就能用了,命令行是 nmcli 开头。


[4] Software Management

Zypper 是命令行软件管理工具。zypper update 可以更新软件列表和软件,zypper in [pack] 安装软件,zypper search [name] 可以搜索(含关键字的所有包)并显示是否安装了软件包,zypper rm [pack] 可以删除软件,zyppper repos 可以查看已配置的源。

YaST 第一面就是软件管理,Software Management 即软件管理器,Media Check 是搜索软件包光盘,Software Repositories 是设置软件源。   

在高亮位置按空格可以选择操作,如 + 代表安装,- 代表卸载。

openSUSE 软件列出了已编译的软件包。


[5] GPIO

树莓派的 GPIO 是个好玩的东西,能扩展很多功能,编译 GPIO 程序需要库。

wiringPi 是简单流行的一个 C 库,很容易找到帮助和示例。按照指引即可安装:git clone git://git.drogon.net/wiringPi 下载代码,cd wiringPi 进入目录,git pull origin 确认是新版,./build 进行编译安装。gpio -v 可以查看 RP 型号和 wiringPi 版本,gpio readall 可以查看很多信息,编译需在 gcc 指令末尾加上 -lwiringPi。

RPi.GPIO() 是个 Python 库,适合会 Py 人,容易使用。先安装管理工具 pip,然后 pip install rpi.gpio 下载安装。在代码文件开头加入 import RPi.GPIO as GPIO 即可使用。本人不会 Py,看这里的说明吧,还可以找找别人的 examples。

BCM2835 C 是比较底层的库,有点难用,兼容性强。访问网站,找到以 .tar.gz 结尾的链接下载文件(可以在 RP 上用 wget),tar zxvf [bcm2835-1.xx.tar.gz] 解压文件,cd bcm2835-1.xx 进入目录,makemake install 安装。根据版本不同,1.xx 替换成下载的版本。编译时要在 gcc 指令末尾加上 -lbcm2835 才可以。查看官方示例、别人的例子和 .h 文件慢慢学习吧。下面是测试程序,如果能编译就是已安装并能用:

#include <stdio.h>

#include <stdlib.h>

#include <bcm2835.h>

int main()

{

      _Bool test = bcm2835_init();

      bcm2835_close();

}


[6] Desk

openSUSE 上可选的桌面很多,已配置的 images 就有几种不同的桌面,能安装的更多。打开 YaST Software Management,搜索 X11,把 xorg-x11 xorg-x11-server yast2-x11 和有关的安装了,这是所有 GUI 必要的。

推荐 LXDE。搜索 LXDE,把 lxcc lxdm lxde-common lxde-common-branding-openSUSE patterns-openSUSE-lxde 选择安装,所需时间比较多。重启后,应该能见到 LXDE 桌面。

如果想要 VNC,可以安装 x11vnc 和 tigervnc,然后 vncserver 配置密码。


[7] End

入门就不写这么多。openSUSE 源于 SUSE,服务器 Linux,工具很强,有技术支援(付费)时很好用。在中国不算流行,源服务器也不稳定。系统本身为了先进,占用很多硬件运行东西,运行慢。推荐英语好、有耐心的人折腾,中文 wiki 可以看看。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342