!本文需要 Linux 基础 !
本教程在
-Raspberry Pi M3b
-RASPBIAN-2016-05-27-Jessie
测试通过
参考资料 极客学院Wiki
我的树莓派配件:触摸显示屏(触摸坏掉了),sd卡2GB(Class4),U盘16GB(USB3.0并没有什么卵用,Pi 只支持2.0)。
因为手头没有大容量,高Class的SD卡,我只好用U盘引导。但是这样也有好处,就是卡不太容易损坏。
1.启动准备
本文使用的刷写工具 Etcher
在SD卡中刷入 RASPBIAN JESSIE LITE
在U盘中刷入 RASPBIAN JESSIE
镜像自己去官方找
修改启动选项使其从U盘引导。
打开SD卡中的 cmdline.txt 将其中 root= 后面的路径改为 /dev/sda2。结果如下:
dwc_otg.lpm_enable=0 console=tty1 console=ttyAMA0,115200 root=/dev/sda2 rootfstype=ext4 elevator=deadline rootwait fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo
然后扔进微波炉(划掉)
2.首次启动
接入有线网络,最好还能接一个 HDMI 显示器。
通电开机,等待首次启动完成,首次启动需要生成 swap 分区。在生成完所有需要生成的文件之前,部分服务的启动可能会出现问题,可能需要强制重启几次。如果没有显示器,那可能就需要等5分钟就去重启一次了。。。。
(我没有用过纯SD卡开机,这个情况仅限于像我一样要用U盘开机的少年,只有SD卡的话,好像挺顺畅的。)
从路由器的管理页面找到树莓派的IP地址。
从另一台电脑使用ssh登录:
ssh pi@192.168.0.xxx
密码是:raspberry
3.基本配置
成功登录之后进入树莓派的设置向导:sudo raspi-config
先选择第二项修改用户 pi 的密码。[Change User Password]
之后选择第三项启动选项,为了启动速度,我这里选择启动到文本界面并自动登录。[Boot Options]
如果你不需要这样,也可以不改,其实也慢不了多少。
最后进入第五项修改键盘布局,语言和时区,树莓派默认为英式键盘,需要自己改成美式键盘。
接下来连接 wifi。
参考资料:Embbnux
扫描 wifi 列表:iwlist scan
编辑 wifi 配置文件:sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
在列表末尾加上自己 wifi 的信息:
network={
ssid="WIFINAME"
psk="password"
}
重启sudo reboot
4.软件安装
首先修改软件源:sudo nano /etc/apt/sources.list
将默认的注释掉(#号加在开头),在前面加入一行:
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi
或者用以下地址代替上面的地址栏
中山大学 Raspbian http://mirror.sysu.edu.cn/raspbian/raspbian/
中国科学技术大学 Raspbian http://mirrors.ustc.edu.cn/raspbian/raspbian/
清华大学 Raspbian http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/
华中科技大学 Raspbian http://mirrors.hustunique.com/raspbian/raspbian/
Arch Linux ARM http://mirrors.hustunique.com/archlinuxarm/
大连东软信息学院源 Raspbian http://mirrors.neusoft.edu.cn/raspbian/raspbian/
更新:sudo apt-get update
接下来装 vim ,你要是不用也可以不装:sudo apt-get install vim
安装中文字体:sudo apt-get -y install ttf-wqy-zenhei
sudo fc-cache
配置字体:sudo dpkg-reconfigure locales
在伪图形界面用上下键和空格选中一下五项
en-GB.UTF-8 UTF-8
zh_CN.GB2312
zh.CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
然后 OK,在接下来的选项中选择 en_US.UTF8 默认仍然以英文显示
安装远程桌面 VNC:sudo apt-get install tightvncserver
启动服务器:vncserver :1
之后会提示创建密码,先是控制密码,然后是仅查看密码。
然后就可以从别的电脑的 VNC Viewer 访问了,连接时候会提示连接不安全,忽略就好。
然后我们给 VNC 建立启动服务:sudo nano /etc/init.d/tightvncserver
输入以下脚本:
#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $syslog $remote_fs $network
# Required-Stop: $syslog $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts VNC Server on system start.
# Description: Starts tight VNC Server. Script written by James Swineson.
### END INIT INFO
# /etc/init.d/tightvncserver
VNCUSER='pi'
case "$1" in
start)
su $VNCUSER -c '/usr/bin/tightvncserver :1 -geometry 1920x1080'
echo "Starting TightVNC Server for $VNCUSER"
;;
stop)
pkill Xtightvnc
echo "TightVNC Server stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0
调整权限:
sudo chmod 755 /etc/init.d/tightvncserver
建立软链接:
sudo update-rc.d tightvncserver defaults
安装文件共享服务:
sudo apt-get install samba samba-common-bin
修改配置文件:sudo nano /etc/samba/smb.conf
下面的配置是让用户可以访问自己的 home 目录。
-开启用户认证,找到##### Authentication #####,在后面添加一行security = user。
-配置用户可以读写自己的 home 目录,在[homes]节中,把 read only = yes 改为read only = no 。
重启 samba 服务:sudo /etc/init.d/samba restart
添加账户到共享文件夹,设置一个密码:sudo smbpasswd -a pi
安装显示屏驱动,你要是有显示屏你就装:微雪
需要注意的是,启用显示屏后 HDMI 依然可以使用,虽然不会同时显示图形界面,但是可以通过Crtl+Alt+F2来切换到 HDMI 负责显示的第二控制台。
安装web服务器:sudo apt-get install nginx
sudo /etc/init.d/nginx start
sudo apt-get install php5-fpm php5-sqlite
修改 nginx 的配置文件:sudo nano /etc/nginx/sites-available/default
找到 php 的定义段,将这些行的注释去掉 ,修改后内容如下:
location ~ .php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
重新加载配置:sudo /etc/init.d/nginx reload
安装 aria2c:sudo apt-get install aria2
按照这里的说明建好配置文件:少数派
不要忘了把下载目录改为 dir=/home/pi/Downloads 这样可以下载到树莓派的启动盘中,如果想下载到开机后插入的其他U盘或移动硬盘(如果使用移动硬盘请购买一个有源的 USB Hub,保证供电),请参阅文章后面的自动挂载说明,并将目录改为 dir=/mnt/udisk 。
因为一些我也不懂的原因,aria2 如果作为服务启动,就无法被 WebUI 以 RPC 方式连接,所以我只能提供大家手动启动的方法,希望有大神能解决一下。
每次开机之后都要这样做:
要插其他U盘的话先插U盘。
如果使用挂载的其它U盘,需要先给挂载文件夹设置权限,如果下载到启动盘里,那就不用这步了:chmod 777 /mnt/udisk
然后启动 aria2c:aria2c --conf-path="/home/pi/.aria2/aria2.conf" -D
5.其他配置
安装 WebUI
下载 https://github.com/mayswind/AriaNg
把下载的文件夹共享文件夹扔到 /home/pi/Documents :sudo rm -r /usr/share/nginx/www/html
sudo mv /home/pi/Documents/AriaNg /usr/share/nginx/www/html
设置权限:chmod -R a+r /usr/share/nginx/www/html
确认可以从浏览器访问 192.168.0.xxx(你的 PI IP)
设置自动挂载
新建一个文件:sudo nano /etc/udev/rules.d/10-usbstorage.rules
存入以下内容:
KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"
SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"
IMPORT{program}="/sbin/blkid -o udev -p %N"
ENV{ID_FS_TYPE}"", GOTO="media_by_label_auto_mount_end"
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}"", ENV{dir_name}="Untitled-%k"
ACTION"add", ENV{mount_options}="relatime,sync"
ACTION"add", ENV{ID_FS_TYPE}"vfat", ENV{mount_options}="iocharset=utf8,umaskk
=000"
ACTION"add", ENV{ID_FS_TYPE}"ntfs", ENV{mount_options}="iocharset=utf8,umaskk
=000"
ACTION"add", RUN+="/bin/mkdir -p /mnt/udisk/", RUN+="/bin/mount -o $env{mount__
options} /dev/%k /mnt/udisk/"
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /mnt/udisk/}", RUN+="//
bin/rmdir /mnt/udisk/"
LABEL="media_by_label_auto_mount_end"
好了,到此为止,你的树莓派已经可以拿来下载了。
有不会的自己 Google。