樹莓派介紹與「食用」方法
樹莓派 是 Raspberry Pi Foundation 推出的迷你電腦,它只有信用卡大小,但可以完成一台普通 PC 能完成的大部分工作,並且價格很便宜,是電腦愛好者的不二選擇,如果你是一名 Linuxer 更應該擁有一台這樣的迷你電腦。
發展
Raspberry Pi 自 2012 年發布以來,依次發布了 Raspberry Pi 1 A , Raspberry Pi 1 B ,Raspberry Pi 1 B+ ,Raspberry Pi 1 A+ ,Raspberry 2 B 五個版本,這些版本硬體上有不少變化,具體可以查閱 Wikipedia Raspberry Pi ,另外 Raspberry Pi 2 B 將支持 Windows 10 iot ,這對非 Linux 用戶來說也是一個福音,因為你可以完全把 Raspberry Pi 2 B 當成你的另一台 Windows PC ,詳情可以查看 Raspberry Pi Windows 10 iot。
Raspberry Pi 的用途
Raspberry Pi 到底能拿來做什麼呢?它的玩法多的數不清了,因為這取決於我們的創意,作為一塊開發板,它給我們提供了很大的自由。
- 樹莓派構建的超級計算機
- 作為家用伺服器
- 我拿樹莓派來做什麼
- Raspberry Pi 五種有趣玩法
- 微型個人電腦 (筆者也就只是當作個人微型電腦而已)
下面是幾張引用文章內的圖:
操作系統的選擇
由於 Raspberry Pi 幾乎是為 Linux 而生的,所以 Raspberry Pi 的操作系統也是多樣的,為此以下介紹幾個操作系統。
- Raspbian 基於 debian 的 Raspberry Pi 官方操作系統,如果是當開發板使用,最建議使用此系統
- Ubuntu Mate
- Snappy Ubuntu Core
- Windows 10 Iot Core
- OPENELEC
- PINET
- RISC OS
以上操作系統都可以在 Raspberry Pi 主頁 找到相關信息。
個人電腦
筆者只是將 Raspberry Pi 當成個人電腦使用而已,因此,未選擇 Raspbian 而是選擇了 Arch Arm。
下面是我選擇的配件
- Raspberry Pi 2 B
- 8 G 閃迪內存卡
- USB Wi-Fi 模塊(可選)
- 亞克力外殼(可選)
- 散熱鋁片或銅片
- 電源線
- 鍵盤滑鼠(可選)
安裝系統
首先參照 Arch Arm Installation 安裝系統。
為 SD 卡分區(用你 Linux 上的 sd 卡設備代替 sdX ):
fdisk /dev/sdX
第一步請先刪除原來的分區並重新創建:
- 輸入 o 清除所有分區。
- 輸入 p 列出所有分區,此時應該沒有分區。
- 輸入 n , 然後輸入 p 選擇主分區,1 是第一個分區 ,輸入 ENTER 確定第一個扇區,然後輸入 +100M 。
- 輸入 t , 然後輸入 c 設置第一個分區類型為 W95 FAT32 (LBA)。
- 輸入 n , 然後輸入 p 選擇主分區, 2 是第二個分區, 直接輸入 ENTER 確定默認的扇區和最後的扇區(剩下的所有容量作為第二個分區)
- 輸入 w 寫入分區表並退出。
創建和掛載 vfat 文件系統(用你 Linux 上的 sd 卡設備代替 sdX ):
mkfs.vfat /dev/sdX1
mkdir boot
mount /dev/sdX1 boot
創建個掛載 ext4 文件系統(用你 Linux 上的 sd 卡設備代替 sdX ):
mkfs.ext4 /dev/sdX2
mkdir root
mount /dev/sdX2 root
使用 root 用戶下載和解壓 根文件系統:
wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
sync
移動啟動文件到第一分區:
mv root/boot/* boot
卸載掛載點:
umount boot root
將 SD 卡插入 Raspberry Pi ,連接乙太網和 5v 電源。
使用 SSH 登錄
默認用戶是 alarm 密碼 alarm。(ssh 請先用此用戶登錄,再修改 ssh 配置允許 root 登錄)
root 的默認密碼是 root。
注意 :以下用到 sudo
命令的,若你未配置 sudo
請直接用 root
用戶執行。
首次使用應該按如下格式 ssh
登錄:
$ ssh -p 22 alarm@地址
進去後使用 su
切換到 root
,並修改密碼:
$ sudo su -
# password
為了能使 root
通過 ssh
登錄,編輯 /etc/ssh/sshd_config
$ sudo nano /etc/ssh/sshd_config
將 #PermitRootLogin
這行去掉注釋,並將值設置為 yes
:
PermitRootLogin yes
配置源與更新系統
編輯 /etc/pacman.d/mirrorlist
$ sudo nano /etc/pacman.d/mirrorlist
在頂部增加以下代碼,這是中科大的源
## USTC
Server = http://mirrors.ustc.edu.cn/archlinuxarm/armv7h/$repo
編輯好後按 ctrl +x
,然後按 y
保存,然後升級整個系統:
$ sudo pacman -Syu
桌面化 Raspberry Pi
首先安裝 xorg
$ sudo pacman -S xorg
$ sudo pacman -S xorg-xinit
然後安裝 lxqt
桌面:
$ sudo pacman -S lxqt
使用 vncviewer 訪問 Raspberry Pi
首先配置 vncviewer,本機與 Raspberry Pi 都需要安裝 tigervnc
$ sudo pacman -S tigervnc
在 Raspberry Pi 中執行 vncserver
$ vncserver
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
New 'ArchRaspi:1 (locez)' desktop is ArchRaspi:1
Creating default startup script /home/locez/.vnc/xstartup
Starting applications specified in /home/locez/.vnc/xstartup
Log file is /home/locez/.vnc/ArchRaspi:1.log
然後編輯 ~/.vnc/xstartup
,將原來的內容替換為以下內容,你也可以直接刪除原文件,再新建一個同名文件:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startlxqt
然後殺掉 vnc 服務,並重啟它:
$ vncserver -kill :1
Killing Xvnc process ID 400
$ vncserver
New 'ArchRaspi:1 (locez)' desktop is ArchRaspi:1
Starting applications specified in /home/locez/.vnc/xstartup
Log file is /home/locez/.vnc/ArchRaspi:1.log
記住上面的 :1
可能根據實際情況不同,這個埠是你用 vncviewer
連接時用的埠。
然後本機中執行:
$ vncviewer address:port
然後輸入密碼就可以了
現在我們看見這個不是全屏的,但是可以在啟動 vncserver 的時候增加參數,來指定解析度:
$ vncserver -kill :1
$ vcnserver -geometry 1920x1000
這下就全屏了
其它用途
然後你可以在不另外配顯示屏的情況下正常使用 Raspberry Pi ,將它配置成一個 samba
伺服器,或者做成一個下載器,這僅僅取決於,你想將 Raspberry Pi 拿來幹什麼。
筆者還嘗試將 Raspberry Pi 直接連入手機 Wi-Fi ,把手機當成路由器使用,獲取手機內網 IP 後,直接在手機上 ssh
內網登錄,從而實現 Raspberry Pi 使用手機流量上網,並且不用藉助路由器就可以連接 Raspberry Pi。
這裡筆者推薦的是 juiceSSH ,手機上簡單實用的一款 ssh 工具。由於篇幅原因,此處不再詳述如何使用手機直連 Raspberry Pi,動手能力強的同學可以參看上面我給的思路,自行折騰。
後來筆者,買了鍵盤以後,又利用 tmux
將手機純粹當屏幕使用。
首先 手機先 ssh
登陸 Raspberry Pi,執行
tmux
然後在看不見屏幕的情況下,使用鍵盤盲打輸入 用戶名 、 密碼 進行登錄,然後執行
tmux attach
此時鍵盤與手機屏幕的輸入已經是同步的,一台個人作品就此完成!
成果展示
下面幾張圖,是筆者在學校折騰的時候拍的:
參考資料
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive