用BB_BLack打造超低功耗家用文件視頻服務(wù)器——Linux新手村
前些天寫了幾篇有關(guān)打造家用NAS,HTPC的文章,值友們很熱情,反饋很多。其中有值友提到有閑置的BB Black想利用起來(lái)。

BB BLACK (beaglebone black) 單板計(jì)算機(jī), 只有名片大小,卻有著電腦或手機(jī)一樣完備的計(jì)算機(jī)功能。多用來(lái)制做飛行器, 機(jī)器人,智能玩具等。而我看中的是它超低的功耗,低發(fā)熱量,高穩(wěn)定性,拿它來(lái)當(dāng)一個(gè)全時(shí)工作的小小文件服務(wù)器。
BBB的做工非常好,我的一塊板子用了5年了,一天24小時(shí),一年365天,不間斷開(kāi)機(jī),一直是穩(wěn)定正常的工作。 單機(jī)工作時(shí)功耗10W左右,帶一個(gè)硬盤盒做存儲(chǔ)單元,也不過(guò)區(qū)區(qū)15W,可以做到隨叫隨到,節(jié)能環(huán)保。所以是一個(gè)可以利用起來(lái)的好資源,本著造福值友的原則,我繼續(xù)整理一些有關(guān)BBB打造家用服務(wù)器的教程,供大家參考指正。

一, 系統(tǒng)刷入:
BBB 支持的是linux系統(tǒng), debian, ubuntu, 甚至android 都可以安裝,但支持最完備的還是debian系統(tǒng)。所以想玩BBB的朋友,還是需要一些linux的基礎(chǔ)知識(shí),會(huì)一些基礎(chǔ)命令。不會(huì)的朋友可以花點(diǎn)時(shí)間來(lái)熟悉,不難。
BBB 板載 2G(新款是4G) eMMC FLASH 存儲(chǔ)單元,可以拿來(lái)安裝系統(tǒng),但有限的容量不夠支持我們安裝軟件和日常使用。所以我們?nèi)粘S玫南到y(tǒng)將會(huì)安裝在一個(gè)TF卡上。
1. 在此我會(huì)粗略介紹一下emmc系統(tǒng)的刷入步驟,作為備份系統(tǒng),假如TF卡的系統(tǒng)出現(xiàn)問(wèn)題,可以通過(guò)EMMC系統(tǒng)救命也是極好的 (不想動(dòng)emmc FLASH的朋友可以略過(guò)這一步)

題主試過(guò)很多個(gè)版本的flash,emmc 最好還是用官方提供的 Debian 7.5:
1). 下載EMMC版本flash,解壓得到.img文件; 可以從官方網(wǎng)址下載
2). 打開(kāi)自用電腦,用win32 disk imager燒入 2G,4G或8G TF卡(16G可能認(rèn)不出); 此處要用到TF卡讀卡器,或卡套;
3). BBB主板斷電;
4). 插入燒好EMMC版本的TF卡到 BBB的TF卡槽;
5). 一直按住BBB主板上的 S2按鍵;
6). 插入電源線或USB線上電,主電源燈亮,其他四個(gè)流水燈或亮或不亮;
7). 一直按住S2直至四個(gè)流水燈閃爍后可以停止;
8). BBB 將會(huì)讀取TF卡里的系統(tǒng)文件,燒寫入eMMC,耗時(shí)約20分鐘;
9). 燒寫完成后,四燈全亮,然后全滅,自動(dòng)關(guān)機(jī).
這個(gè)系統(tǒng)我們平時(shí)不會(huì)用到,可以作為備用應(yīng)急系統(tǒng)。而下面寫入TF卡的系統(tǒng)則是我們平時(shí)要用的系統(tǒng)。
2. TF啟動(dòng)版 debian

題主試過(guò)7.5, 7.8, 8.6, 8.7, 9.1 等很多個(gè)版本, 發(fā)現(xiàn)最穩(wěn)定的除了7.5, 還是 8.6版. 系統(tǒng)盡可能用新不用舊,所以我的BBB 一直穩(wěn)定在 debian 8.6.
1). 下載SD卡版flash,解壓得到.img文件;
2). 用win32 disk imager 燒入 TF卡; TF卡最好用8G的;如果系統(tǒng)刷好,但就是不能啟動(dòng),或啟動(dòng)后安裝程序多次出現(xiàn)問(wèn)題,可以換一張卡試試;
3). 主板斷電;
4). 插入燒好flash的TF卡;
5). 主板上電啟動(dòng)即可;
二, 系統(tǒng)登入管理:
1. 開(kāi)機(jī): 系統(tǒng)刷好后我們可以用5V電源供電,也可以用 micro USB連接USB供電; 并插上網(wǎng)線;

2. Putty登場(chǎng):debian 8.6 系統(tǒng)雖然已經(jīng)集成有LXDE圖形桌面插件,但BBB小小的身板用圖形桌面將會(huì)給它和使用者帶來(lái)一定程度的傷害。所以我們將會(huì)主要用 SSH 登錄來(lái)管理BBB。
例如,用一臺(tái) widowns電腦,下載一個(gè)putty, 打開(kāi)。
3. Putty 設(shè)置如圖:
1). 如果BBB通過(guò)Micro USB直接連電腦, IP地址可以是 192.168.7.2, 端口是22, 為BBB默認(rèn)的。
2). 如果BBB用5V電源,或MICRO USB充電器供電,需要去路由器查看分配到的IP, 如192.168.1.6
4. 第一次登錄系統(tǒng):
1). Debian7.5, 8.6 系統(tǒng)可以 直接用root帳戶登錄; 因?yàn)槲覀円玫南到y(tǒng)是 8.6, 所以直接用root登錄即可。
2). Debian8.7, 9.1: 為了系統(tǒng)安全著想,8.7以后的版本只能先用 用戶debian / 密碼temppwd 登錄;
4. 進(jìn)入系統(tǒng)后第一件事當(dāng)然是管理密碼,安全永遠(yuǎn)都放在第一位的,對(duì)嗎?
從這里開(kāi)始就要用到很多的linux命令:
更改密碼 sudo passwd debian
或給root設(shè)密碼: sudo passwd root
設(shè)置和修改是同一個(gè)命令!
三,TF卡分區(qū)管理:
進(jìn)入系統(tǒng)后,第二件事是擴(kuò)大系統(tǒng)分區(qū)的大小, 因?yàn)樗⑷胂到y(tǒng)時(shí)只分一個(gè)約4G的分區(qū)給系統(tǒng),剩下的空間處在未分配的狀況,我們需要的是將未分配的空間全部給系統(tǒng)分區(qū)。
1).查看系統(tǒng)盤情況: df -hl
我們會(huì)發(fā)現(xiàn)分區(qū)空間基本被占用,可用空間極小。
2).將未分區(qū)空間給現(xiàn)有分區(qū):
cd /opt/scripts/tools/
sudo ./grow_partition.sh
3).重啟: reboot
4).再次用df -hl命令查看TF卡分區(qū)大小,確認(rèn)無(wú)誤;
這樣我們就拿到了全部的TF卡空間,df -hl 命令可以看到TF卡的空間從3.7G左右變成了7.3G左右,bingo,接下來(lái)就有空間可以更新系統(tǒng)安裝軟件了!

四, 登錄后先更新軟件:
再次進(jìn)入系統(tǒng)后我們需要更新系統(tǒng)才能使用,不然會(huì)提示很多的軟件安裝不了;請(qǐng)確保網(wǎng)絡(luò)通暢,因?yàn)榻酉聛?lái)要下載很多的軟件包。用如下命令:
更新軟件包列表: apt-get update
然后更新軟件: apt-get upgrade
這個(gè)過(guò)程耗時(shí)非常長(zhǎng),請(qǐng)耐心等候。

五,本文中常用的 linux命令: 注意linux命令區(qū)別大小寫
1. 添加用戶: adduser XXX
2. 新建文件夾:mkdir /home/XXX
3. 文件或文件夾刪除命令: rm (-rf 可以強(qiáng)制刪除空文件夾)
4. 拷貝命令: cp -a /home/XXX/* /var/XXX
5. 改名命令,移動(dòng)命令: mv
6. 查看硬盤數(shù),掛載或未掛載的都可以看到: fdisk -l
7. 掛載命令: mount (例: mount -o umask=0 /dev/sda1 /home/XXX)
8. 更改文件或文件夾屬性: chmod 777 (Linux權(quán)限: r=4, w=2, x=1, 分別為讀,寫,執(zhí)行, 詳細(xì)上網(wǎng)查一下)
9. 關(guān)機(jī): shutdown, halt, power off 都可以
shutdown -h now #立刻關(guān)機(jī)
shutdown -h 10 #10分鐘后自動(dòng)關(guān)機(jī)
10. 重啟: reboot, shutdown
shutdown -r now#立刻重啟
shutdown -r 10 #過(guò)10分鐘自動(dòng)重啟
六, BBB 開(kāi)機(jī)自動(dòng)掛載指定硬盤到指定位置:
經(jīng)過(guò)第四步的系統(tǒng)更新,BBB就可以正常安裝軟件,我們需要FTP, SMB,VNC等等都可以上了。首先我們需要是讓它當(dāng)好倉(cāng)庫(kù)管理員的角色, 而硬盤就是我們的倉(cāng)庫(kù)。
BBB有一個(gè)USB接口可以掛硬盤,U盤,也可以掛一個(gè)硬盤盒帶多個(gè)硬盤。

重要提示: 在掛硬盤之前,我們需要分清硬盤分區(qū)的格式,非常重要:
1). EXT3/EXT4 格式: 這是linux硬盤分區(qū)格式,很多的軟件需要在這種分區(qū)格式上才能正常運(yùn)行。
2). NTFS 格式: 這個(gè)格式可以和windows通用, 但是里面的文件夾和文件權(quán)限不能自由設(shè)置, 我們可以拿來(lái)存儲(chǔ)文件視頻。
極重要提示: 裝好硬盤后,先啟動(dòng)硬盤盒,再打開(kāi)BBB。經(jīng)過(guò)下面一步后,每次開(kāi)機(jī)都必須這樣做。
1. 用fdisk -l 命令查看掛的硬盤的 DEVICE ID.
從上圖可以看出我們掛的大硬盤是 /dev/sda1, 接下來(lái)我們用mount命令測(cè)試是否可以正常掛載:
2. Mount: 將該硬盤掛到 /home/usbdisk1 下面, 這個(gè)文件夾的位置隨便你選。
mount /dev/sda1 /home/usbdisk1
3. 然后用 df -hl 查看是否掛載好:
4. 從上圖可以看出,硬盤可以正常掛載, 接下來(lái)試著拷貝一個(gè)文件,touch一個(gè)文件,看是否可以正常讀寫;
確認(rèn)無(wú)誤后就可以進(jìn)行下面操作了.
編輯 /etc/fstab 文件: nano /etc/fstab
加入如下命令行, 有多個(gè)分區(qū)或硬盤,可以有多行:
/dev/sda1 /home/usbdisk1 auto auto,rw,user 0 0
千萬(wàn)注意: 如果這一行寫錯(cuò), BB black不能啟動(dòng); mount到的位置必須是空文件夾,里面不能有文件或文件夾;BBB和硬盤盒關(guān)機(jī)后也必須先開(kāi)硬盤盒,后開(kāi)單板機(jī)!
修改好后按ctrl+O保存, ctrl+X退出編輯器。
重啟:reboot
這樣以后每次系統(tǒng)啟動(dòng)后就會(huì)自動(dòng)掛載硬盤了。
七, 安裝samba服務(wù),實(shí)現(xiàn)和windows文件共享
1).安裝軟件,命令如下:
apt-get install samba
apt-get install smbclient
2). 編輯/etc/samba/smb.conf 配置文件, 我喜歡用nano編緝器, 簡(jiǎn)單易用.
nano /etc/samba/smb.conf
光標(biāo)下移到最后, 輸入共享名,共享文件夾的信息:
我將NTFS格式分區(qū)掛在 /home/usbdisk1 下, 將EXT4格式分區(qū)掛在 /home/usbdisk2 下, 都設(shè)置好共享:
3).重啟samba服務(wù),命令如下:
/etc/init.d/sambarestart
至此就可以在電腦或安卓電視上看到共享的文件夾了。
八,安裝FTP服務(wù)器:vsftpd
1). 軟件安裝:
apt-get install vsftpd
2). 創(chuàng)建用戶及相應(yīng)文件夾
adduser johnson
mkdir /home/usbdisk2/johnson
mkdir /home/usbdisk2/johnson/ftp
要點(diǎn): FTP文件夾所在分區(qū)必須是EXT4格式,如果是NTFS則無(wú)法進(jìn)行下面的權(quán)限更改,F(xiàn)TP服務(wù)將會(huì)無(wú)法存取。 題主曾經(jīng)花費(fèi)了很大的力氣總結(jié)出來(lái)的經(jīng)驗(yàn)!
chmod a-w johnson 取消用戶目錄的寫權(quán)限,該選項(xiàng)與chroot_local_user=YES項(xiàng)密切相關(guān)
chmod 777 ftp 配置ftp上傳下載文件夾的讀寫執(zhí)行權(quán)限
3).編輯conf文件
nano /etc/vsftpd.conf
找到以下設(shè)置:
anonymous_enable=NO 禁止匿名登錄
local_enable=YES 本地可以登錄
write_enable=YES 可寫
local_umask=022 FTP新建文件夾權(quán)限 755
use_localtime=YES 用本地時(shí)鐘時(shí)間
connect_from_port_20=YES 傳輸端口
local_root=/home/usbdisk2/johnson FTP工作文件夾位置
大部分設(shè)置默認(rèn)就是這樣的,但要檢查一下。
4). 修改用戶登錄密碼管理文件:
nano /etc/passwd
將FTP用戶的目錄更改為需要的目錄,例如 johnson用戶將會(huì)登錄FTP, 便找到j(luò)ohnson用戶,將下圖紅線上的部分更改為FTP用戶目錄.
例如: /home/johnson 改為/home/usbdisk1/johnson
5).重啟vsftpd服務(wù)
/etc/init.d/vsftpd restart
至此FTP文件服務(wù)器也已經(jīng)配置好,通過(guò)FTP客戶端可以上傳下載文件了。
在打通路由器DDNS關(guān)節(jié)后,也可以遠(yuǎn)程訪問(wèn)了。
九, 新手村總結(jié)
新手村里的任務(wù)到此結(jié)束,BBB 系統(tǒng)安裝好,SAMBA, FTP已經(jīng)可以工作。局域網(wǎng)可以可以看文件視頻了, 攝像頭的視頻文件可以存入BBB的硬盤里了。
后續(xù)我們進(jìn)入江湖游行,危險(xiǎn)也會(huì)接踵而來(lái), 再一步步解決 中文支持,下載軟件, SSH/VNC遠(yuǎn)程管理,百度網(wǎng)盤下載,計(jì)劃任務(wù)自動(dòng)運(yùn)行,內(nèi)存清理資源釋放, 安全...

好吧,這是一個(gè)全新的系統(tǒng),和windows系列一樣,要干的活太多了。

PS: 其實(shí)我還有一個(gè)備用的BBB!