使用 Orangepi Zero 構建一個低成本的 Pikvm
準備工作
一個 Orangepi Zero。
一個 HDMI to USB 的采集卡。
一個>4GB 的 TF 卡 及 讀卡器。
一根網(wǎng)線。(僅需要百兆,四芯線即可)
兩根 USB-A to micro-USB 數(shù)據(jù)線。? (或"一根 USB-A to?micro-USB 或一根 其他 to?USB-A")*若主板支持USB關機供電可以直接使用一根USB-A to micro-USB 數(shù)據(jù)線
一根電烙鐵,部分松香及焊錫(如果有的話)
如果被控機沒有HDMI接口請自備一個轉HDMI的轉換器
缺點
一些非UEFI BIOS 可能無法使用虛擬鍵盤控制。
最后一次更新為2020 兩年未更新。
Orangepi Zero只有百兆網(wǎng)口,若需要遠程安裝鏡像,傳輸過程將會很久。
開關機解決方案
可以使用Wake-on-LAN進行網(wǎng)絡喚醒。
可以在BIOS中設置來電自啟,再配置一個智能插座也可以實現(xiàn)遠程開關機。
參考 https://github.com/Yura80/pikvm-rock64/issues/6
相關鏈接
? https://github.com/Yura80/os/releases
? https://github.com/pikvm/pikvm
價格參考
物品| 參考價格(CNY) | 備注 |
OrangePi Zero | 50.00 | 閑魚上的二手板子,現(xiàn)在好像沒有這個價了 |
HDMI to USB采集卡 | 35.00 | 在淘寶上隨便找即可 |
網(wǎng)線 | 8.00?| 在淘寶上隨便找即可 |
USB-A to micro-USB 數(shù)據(jù)線*2 | 9.90 | 在淘寶上隨便找即可 |
HDMI線 | 9.90 | 在淘寶上隨便找即可 |
除了OrangePi Zero、HDMI to USB采集卡,其他均為亂標
提示
? 盡量放在通風的地方,如果可以請加裝一個1.4cm的散熱片在CPU上。
介紹
什么是 Orangepi Zero?
? 這是一款便宜的開發(fā)板,可以讓我們使用更低的成本搭建一個 pikvm,不必使用昂貴的 raspberry pi 進行搭建。
什么是 pikvm?
? pikvm 是一個開源的 KVM over IP 項目,它可以讓你在局域網(wǎng)內對一臺計算機或服務器進行遠程管理。你可能會想到 IPMI,那是一個對專屬服務器進行遠程管理的模塊,無法使用其對普通計算機進行管理。
什么情況下我需要使用到 pikvm?
? 當你管理的主機出現(xiàn)網(wǎng)絡異常等情況你可以使用 Pikvm 進行連接管理,當網(wǎng)絡修好以后就可以繼續(xù)使用 RDP、ssh 協(xié)議繼續(xù)連接。pikvm 相當于一臺主機最后的遠程訪問后盾。
為什么我要使用 Orange Pi Zero 來搭建 Pikvm?
? 因為疫情原因導致停工停產(chǎn), raspberry pi 的價格水漲船高。
? 雖然就算 raspberry pi 不漲價我也買不起,但是我在群友的分享下找到了 50 塊的 Orangepi Zero,此前我就在 reddit 上找到了有人構建出了 OrangePi Zero 的 Pikvm 鏡像。不過除了我這個方式我見 Github 上還有使用一臺 X86 主機安裝 Docker 運行 Pikvm 鏡像的,方法不唯一吧。
步驟
制作數(shù)據(jù)線
*如果你的主板支持USB關機供電可以直接在BIOS中開啟該功能。然后只需要一根USB-A to Micro-USB的數(shù)據(jù)線就可以實現(xiàn)該功能。
本步驟亦可參考視頻 BV1TL4y1375U (00:27 ~ 02:00)。
將一條 USB-A to micro-USB 的外皮中間部分剝開,這時你應該看到四種顏色的線: 紅,黑,白,綠。(若該線只有紅黑說明這條線無法使用。)
將紅黑線剪斷,如果做不到可以全部剪斷。
將另一條線剪斷。
將 USB-A 那頭的尾端部分外皮剝開,將紅線和黑線的外皮剝開,露出銅芯。

將線按照上圖連接起來,有電烙鐵最好使用一些焊錫將其焊上。
數(shù)據(jù)線制作完成。
刷入鏡像
從 https://github.com/Yura80/os/releases 下載需要的鏡像,文件名"v2-hdmiusb-generic-aarch64-orangepi-zero-plus.img.bz2" "v2-hdmiusb-generic-arm-orangepi-zero.img.bz2"(該區(qū)域曾經(jīng)出現(xiàn)過錯誤,現(xiàn)因評論區(qū)提醒已修正,請注意。非常抱歉。)

將 TF 卡插入讀卡器后將讀卡器插入電腦。
使用 SD 卡燒錄工具,如 Win32DiskImager 進行燒入。(如果可以最好使用 SD Card Formatter 先格式化一下)
當提示"Write Successful"。說明鏡像刷入完成。
啟動前準備
將 HDMI-to-USB 采集卡插入 Orangepi Zero 唯一的 USB 口。
將網(wǎng)線接入需要連接的交換機或路由器,如果房間的網(wǎng)口無法插入兩個設備,可以購買一臺交換機。(?
將 TF 卡插入 Orangepi Zero 的 TF 卡槽。
一切準備就緒,將數(shù)據(jù)線 USB-A 供電一頭插入充電器或排插,另一條 USB-A 插入主機,Micro-USB 插入 Orangepi Zero。
等待開機完成,完成后會在 Micro-USB 口附近亮綠燈。
連接 Pikvm
在瀏覽器輸入路由器的地址(一般家庭為 192.168.1.1),在設備管理一欄(或者家長控制之類的)找到設備名稱為 Pikvm 的設備,將 IP 復制。
將 IP 粘貼到瀏覽器地址欄,會提示不安全連接,這是因為 Pikvm 的自簽名證書在你的主機上不可信。我們不需要管因為這說明了我們的訪問是經(jīng)過加密的,我們選擇"高級"-"繼續(xù)前往"。
現(xiàn)在我們會到一個登錄界面,我們使用用戶名(Username) admin 密碼(password) admin 登錄即可
登錄成功后我們選擇"KVM",即可對被控機進行控制。(請不要閑的沒事使用被控機控制被控機)
修改密碼
使用 pikvm 的默認密碼是非常不安全的,我們需要對其進行修改密碼的操作。
進入pikvm的瀏覽器界面。
選擇 "Terminal" 進入pikvm的終端。
輸入 "su" 后回車。然后,輸入默認密碼 "root" (不會顯示,不用理會),回車。
這時候,你應該能看到左邊的用戶名從 kvmd-webterm 變成了 root。

輸入"rw"后回車(使儲存可寫)。
以下步驟為修改瀏覽器中所使用的登陸密碼及賬號。
輸入"kvmd-htpasswd del admin"后回車。刪除默認賬號。
輸入"kvmd-htpasswd set {你想要的用戶名}"后輸入密碼,輸入后回車輸入第二遍。
輸入"systemctl restart kvmd kvmd-nginx" 后回車,應用更改。
以下步驟為修改系統(tǒng)賬戶的密碼。
輸入"passwd"修改 pikvm 的 root 密碼,最好與上面的密碼不一致,輸入后回車輸入第二遍。
修改密碼完成。
設置靜態(tài) IP
進入pikvm的瀏覽器界面。
選擇 "Terminal" 進入pikvm的終端。
輸入 "su" 后回車。然后,輸入你的密碼(不會顯示,不用理會),回車。
這時候,你應該能看到左邊的用戶名從 kvmd-webterm 變成了 root。
輸入"rw"后回車(使儲存可寫)。
輸入"vim /etc/systemd/network/eth0.network"回車。
按下 i 進入編輯模式,使用方向鍵將光標跳到"DHCP=yes",將"yes"改為"no"。
將光標移到文檔最后,回車新建一行,輸入"Address={需要的 IP}/{掩碼,一般為 24}"。
將光標移到文檔最后,回車新建一行,輸入"Gateway={路由器的 IP}"。
將光標移到文檔最后,回車新建一行,輸入"DNS={一個 DNS IP, 例如阿里的 223.5.5.5}"。
按下 ESC,輸入":wq"保存后,輸入 reboot 重啟。

? - 設置靜態(tài) IP 完成,以后連接 pikvm 只需要輸入{需要的 IP}即可
我此前從未寫過嗶哩嗶哩專欄,以上文檔是使用Markdown進行編寫后稍微進行修改的。
若無法正常閱讀請見諒。
這也是本人第一次寫教程,本來是想當個視頻文案的,但我現(xiàn)在根本不敢上傳視頻。
本教程幾乎沒有任何技術含量,本教程所走的方法是我能想到最簡單最便宜的了。不需要重新編譯鏡像,主要難點或許就只有制作數(shù)據(jù)線了。
數(shù)據(jù)線如果不想做也可以直接拿一個四芯的MicroUSB to USB-A的數(shù)據(jù)線,然后直接連接被控機,但這樣Pikvm將無法一直通電。
有問題請在評論區(qū)說明,盡量回答。
本教程創(chuàng)立之初沒有任何詆毀、指責、人身攻擊、踩一捧一、針對任何團體及個人,創(chuàng)立原因純屬興趣及在和別人討論時出現(xiàn)的想法,本教程也不對除了Orangepi Zero以外的任何產(chǎn)品做推薦,品牌的要求。你也可以將所使用的開發(fā)板換成其他的開發(fā)板。
鏡像作者不是我,出現(xiàn)問題請前往Github(https://github.com/Yura80/pikvm-rock64)提交Issues。
本教程僅提供一種簡單便宜的方式,解決方案。并沒有說"不能使用raspberry pi。"或"使用raspberry pi的都是笨蛋"等內容。希望不要以本方式對我進行討伐。
若文章中出現(xiàn)了什么錯誤也請在評論區(qū)下進行說明,本人語言組織能力也不太行,出現(xiàn)語病你也可以在下面說明。如果能直接給出解決方案就更好了。
在文中如果感覺到自己被我攻擊或出現(xiàn)版權許可等問題,給出的理由恰當我會立即刪除本文章。
祝成功。