树莓派3安装CentOS 7
作为服务器的标配系统,我当然选择CentOS系列啦。由于树莓派的cpu是ARM架构,所以要选ARM版本的Linux。到2017年8月5日止,最新的ARM版本为CentOS7,就它了。
准备材料:
- 树莓派
- 网线
- Micro SD卡(内存卡
- 读卡器
- 网线
- 联网的路由器
- 电脑
- 首先呢,登录镜像网址,找合适的镜像下载:
镜像下载地址:http://mirror.centos.org/altarch/7/isos/armhfp/
如图中所示,我的树莓派是3代,所以选择CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz
。各位按需下载。下载完成后记得比较下文件的md5值,如果不一致说明文件有损坏,要重新下载。
- 下载完成后可以用压缩软件解压文件,得到img镜像文件,经常折腾系统的小伙伴应该比较熟悉了。
- 接下来就是烧录系统了~~!掏出你的MicroSD卡,通过读卡器连到电脑上。打开
Win32DiskImager
准备烧录。什么!??你没装这个软件。那还不赶紧下https://sourceforge.net/projects/win32diskimager/。打开之后选择刚刚解压的镜像和内存卡,点击写入后就默默的等待和忍耐吧,烧录完成之后软件先不要卸载,可能还要用^_^。(由于我已经安装完了,不想再搞一遍,就没插内存卡,所以图中都是灰色不可点击状态) - 烧录完成之后会重新读取内存卡。注意!!此时内存卡已被重新分了三个区,系统会提示格式化才可用,千万千万不要格式化。否则就准备重新烧录吧。如果有什么要写的配置,可以现在在
config.txt
中写入(由于我并不需要,也不会配。所以有需要的请参考官方文档),完了就插到树莓派主板背面的卡槽准备开机啦啦啦。 - 通过网线把树莓派连到路由器上,由于树莓派默认开启DHCP,路由器会自动为树莓派分配一个IP。通过路由器的管理页面查看分配的IP准备SSH连接树莓派。这里分享下我的经历:烧录完之后不管我怎么连接路由器,怎么重启,配置了静态IP都不行,路由器管理页始终没有我的树莓派。后来实在没办法了就一直找文章,偶然找到一篇说第一次烧录没成功,我想会不会我也是烧录失败了。果然,重新烧录之后连上路由器就有IP了(现在
Win32DiskImager
可以卸了,不过还是建议留着,万一哪天要重装系统了呢?)。
图上我的树莓派是通过WiFi连接的,所以图标可能不一样。不过WiFi连接是后来的事了,这里没关系,反正有IP就行了。
- 通过SSH工具连接树莓派,推荐
Xshell
(下载地址:https://www.netsarang.com/xshell_download.html,这款软件个人使用是免费的,选用这款软件主要是有个配套的FTP工具Xftp:https://www.netsarang.com/download/down_xfp.html,结合使用真是爽歪歪啊)。当然了,其他的SSH和FTP工具随意,用的惯就好。
输入刚才路由器管理页面的IP,安装后默认的账户密码为root
,centos
,输入就可以登录了。
登录之后首先修改root用户的密码:
[root@centos-rpi3 ~]# passwd
然后就是配置静态IP,这样可以保存SSH的IP地址,不用每次都通过路由器查看树莓派的IP。
[root@centos-rpi3 ~]# cd /etc/sysconfig/network-scripts/ [root@centos-rpi3 network-scripts]# ls ifcfg-Link ifdown-eth ifdown-routes ifup-bnep ifup-plusb init.ipv6-global ifcfg-eth0 ifdown-ib ifdown-sit ifup-eth ifup-post keys-Link ifcfg-lo ifdown-ippp ifdown-tunnel ifup-ib ifup-ppp network-functions ifdown ifdown-ipv6 ifup ifup-ippp ifup-routes network-functions-ipv6 ifdown-Team ifdown-isdn ifup-Team ifup-ipv6 ifup-sit ifdown-TeamPort ifdown-post ifup-TeamPort ifup-isdn ifup-tunnel ifdown-bnep ifdown-ppp ifup-aliases ifup-plip ifup-wireless [root@centos-rpi3 network-scripts]#
其中
ifcfg-eth0
就是网卡了(在centos7中,网卡应该是ifcfg-enp0s3
这种风格,不知道这里为什么会变成以前的风格),现在修改网卡的配置:[root@centos-rpi3 network-scripts]# vi ifcfg-eth0
我将其修改为如下(仅供参考,千万不要照搬):
TYPE="Ethernet" #BOOTPROTO="dhcp" BOOTPROTO="static" NM_CONTROLLED="yes" DEFROUTE="yes" NAME="eth0" UUID="a5ae9a6c-3951-4e8a-b99d-a4ea5dc33bf1" ONBOOT="yes" IPADDR="192.168.16.222" NETMASK="255.255.255.0" GATEWAY="192.168.16.1" DNS1="8.8.8.8" DNS2="114.114.114.114"
#BOOTPROTO="dhcp"
前面的“#”号表示注释,这里改为static类型表示获取静态IP,dhcp表示由路由器随机分配一个IP,注意静态IP配置不能冲突,否则会连不了网。ONBOOT="yes"
表示开机启动,这是必须的。最后几行是自己手动加的,这是配置静态IP才需要的一些参数。IPADDR
表示配置的静态IP地址(这个一定要自己分配),NETMASK
表示子网掩码(这个可以和电脑的配置一样),GATEWAY
表示网关(这个一定要和电脑配的一样),DNS1
表示主DNS服务器,DNS2
就是备用DNS服务器了,这里两个一般妥妥的够用了(这俩DNS服务器跟我配一样的就好)。
配置好了就按ESC进入命令模式,输入:wq
保存退出,然后重启网络就可以了:
[root@centos-rpi3 network-scripts]# systemctl restart network
SSH可能会断开,没关系,用刚刚配置的静态IP重新连上就可以了,这个IP可以保存在Xshell等SSH工具中,随时连接树莓派。
可以通过ping百度测试是否配置成功了,如看到下面这些信息表示成功了(按CTRL + C中止):
[root@centos-rpi3 network-scripts]# ping baidu.com
PING baidu.com (123.125.114.144) 56(84) bytes of data.
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=1 ttl=51 time=52.8 ms
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=2 ttl=51 time=52.9 ms
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=3 ttl=51 time=44.2 ms
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=4 ttl=51 time=43.4 ms
^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 43.472/48.359/52.917/4.514 ms
[root@centos-rpi3 network-scripts]#
可以通过ip addr
查看当前的网络配置信息:
[root@centos-rpi3 network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether b8:27:eb:43:f9:1a brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether b8:27:eb:16:ac:4f brd ff:ff:ff:ff:ff:ff
inet 192.168.16.223/24 brd 192.168.16.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::d4a5:cfb3:af2a:e36/64 scope link
valid_lft forever preferred_lft forever
[root@centos-rpi3 network-scripts]#
lo表示本地环路地址,不用管,eth0是刚刚配置的网卡,由于我没有插网线,所以这里没有IP,但是第三个WiFi的IP应该和你们插网线的是差不多的。如果看到IP信息和配置的不一样,说明没有配置成功,可以找一些更详细的教程进行配置。
在系统安装好后,默认不是分配所有的剩余空间,如果使用df
命令查看的话,会发现只使用了很少的一部分。在/root
目录下有个README
的文件中详细说明了如何分配剩余的未用空间。此外文件中还说明了如何开启wifi功能。
文件内容如下
== CentOS 7 userland ==
If you want to automatically resize your / partition, just type the following (as root user):
/usr/local/bin/rootfs-expand
For wifi on the rpi3, just proceed with those steps :
curl --location https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.bin > /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin
curl --location https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.txt > /usr/lib/firmware/brcm/brcmfmac43430-sdio.txt
systemctl reboot
如看不懂英文,我来翻译下:
要重新分配/
分区,只需要以root用户执行/usr/local/bin/rootfs-expand
命令即可。
要启动wifi功能,依次执行以下三条命令:
`curl --location https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.bin > /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin`
`curl --location https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.txt > /usr/lib/firmware/brcm/brcmfmac43430-sdio.txt`
`systemctl reboot`
最后:
[root@centos-rpi3 network-scripts]# yum update -y
更新你系统所有的软件吧。啊写博客真的累!