經過了團隊大半年的準備,內測,更新,今天終于要給大家隆重推出我們的全新64位系統
這次不論是投入的人力物力,還是系統的各個方面都是以前的64位和別人家做的64位沒法比的。
這次的64位系統是我們企業級的團隊基于Debian64位全部從頭全新構建保證了系統的原汁原味,構建了全新的自動編譯和打包、測試系統。我們對內核進行了魔改、大量深度的優化和BUG修復,加入了很多新的功能和特性,特別是加入了KVM虛擬化的支持以及重點加強了對Docker的各項特性支持和優化。
我們的這套系統在今天發布前已在企業生產環境下使用并驗證,系統經過了上百輪內測和10代的迭代,原生的有線、無線網卡均可正常使用,所有系統的軟件包數量幾乎可以媲美X86的版本,大家可以放心的使用。
系統會是我們未來的核心,所以我們現在的64位系統也支持直接在線滾動升級,有推出系統更新后你只需要一些簡單的步驟就可以升級到最新系統,不需要重新裝系統,非常的方便。要提醒大家的是,大家可以在我們官網論壇里面的64位系統討論區,對系統問題進行反饋,我們團隊會根據反饋內容不斷更新和完善系統,方便大家的使用。
一、系統簡介
1.0 基于 [Debian Stretch,kenel 4.14 LTS(Long Term Service)]
2.0 基于 [Debian Buster,kernel 4.19 LTS(Long Term Service)]
為了方便不同階段的樹莓派愛好者使用,1.0穩定版推出了四大版本的64位系統,分別是:無桌面基礎系統,無桌面基礎系統加強版,深度桌面系統,xfce桌面系統。
2.0預覽版推出了四大版本分別是:無桌面基礎系統,無桌面基礎系統加強版,深度桌面系統,xfce桌面系統。在上一期的加拍視頻中我們已經強調了我們這次2.0版本的系統是全球首發!以及這次的全球首發不僅僅是全球首發更是我們技術的展示!
可以看到我們不僅提供了很多版本系統供大家選擇使用,每個版本的系統還有不同的文件系統,你可以根據自己情況選擇。但是這里我們比較推薦ext4文件系統!
1.0穩定版系統完美支持樹莓派3B,3B+,3A+。2.0測試版版本支持樹莓派全系64位CPU包括:3B,3B+,3A+,4B
2.0預覽版系統硬件兼容是最全的,兼容最新發布的4B,并且后面要講解的系統特性也是完美傳承1.0穩定版!!
目前1.0穩定版已經更新了10次,系統穩定性和性能都不存在任何問題。2.0預覽版我們還在公測階段,除非你的樹莓派4B,其他型號都推薦大家使用1.0穩定版本的系統。
1、無桌面基礎系統
該版本默認沒有安裝x-windows桌面環境,如果你需要桌面環境的話可以選擇我們桌面環境版本的系統鏡像下載。
2、無桌面基礎系統加強版
在基礎系統之上,加入可視化的WebUI管理界面,默認開啟容器支持,真正開箱即用
3、深度桌面系統
該版本基于我們的標準系統移植了完整的深度15.5專業版桌面,是目前第一個基于完整的debian64架構而構建的適配于樹莓派的深度arm64鏡像
4、Xfce桌面系統
該版本基于我們標準系統集成了定制優化后的xfce桌面。
64位最突出的應該就是性能的提升,所以完整的介紹系統前我們先來看看全新64位系統和官方系統以及業余愛好者做的64位系統的性能對比。讓大家有個直觀的感覺
二、性能展示
以下使用的是1.0穩定版進行的測試
官方系統對比結果
業余愛好者64位系統對比
綜合整體性能全面超越對比測試系統的2~3倍以上,部分指標甚至達到了10倍以上,1000%的提升。
以下是2.0預覽版和官方系統做的對比
三、系統特性
1、WEB SSH 客戶端支持
所有版本的系統不再需要SSH客戶端來連接服務器,可以通過瀏覽器直接SSH訪問服務器
默認訪問協議是https和4200端口
訪問地址 https://樹莓派IP地址:4200
2、QEMU-KVM 虛擬機
KVM是一套虛擬化解決方案,不過因為這個方案實際上只實現了內核中對處理器虛擬化特性的支持,它缺乏設備虛擬化以及相應的用戶空間管理虛擬機的工具。
Qemu是一套獨立的虛擬化解決方案,本身可以不依賴于KVM,安裝qemu的系統就可以直接模擬出另一個完全不同的系統環境,但是如果有KVM的存在并且硬件支持那么QEMU在對處理器虛擬化這一塊可以利用KVM提供的功能來提升性能。
所以kvm借用了QEMU的代碼并加以精簡,連同它一起構成了另一個獨立的虛擬化解決方案
我們系統里是原生Aarch64架構的QEMU虛擬機,支持KVM硬件加速(非軟件模擬方式的KVM,速度更快,極限接近物理硬件性能)
我們重新編譯了KVM的二進制軟件包,解決了在KVM硬件加速環境下 qemu-system- aarch64 的諸多BUG,例如開啟KVM硬件加速后系統默認版本虛擬機無法運行,無法安裝系統,等等…
3、KVM 虛擬化的支持選項
我們在編譯內核時加入了對KVM虛擬機的支持,直接支持全虛擬化的方式運行,添加了支持原生的KVM虛擬硬件內核模塊的支持,相關的主要內核模塊如下:
后續視頻會給大家講解怎樣使用虛擬機!!!
4、Docker
Docker的思想來自于港口的集裝箱。在港口上,各種各樣的貨物被裝進標準化的集裝箱內,集裝箱和集裝箱之間不會互相影響。我們也不需要專門區分集裝箱里面的貨物。只要這些貨物在集裝箱里封裝好,就可以用一艘大船把他們都運走。非常的便捷好用。
Docker其實是一個開源的應用容器引擎,可以讓開發者構建應用程序時,將它與其依賴環境一起打包到一個容器中,然后很容易地發布和應用到任意平臺中
docker相比KVM之類非常的相似,但是最明顯的特點就是啟動快,資源占用小。
原生debian的64位系統內核缺少了很多對Docker特性的內核支持,所以這次我們重新編譯內核,加入了對Dcoker全特性的各項支持,這可能是目前在 樹莓派Aarch64位系統架構下對 Docker 特性支持最完善的版本
Docker的具體使用和講解我們會在后續視頻給大家帶來!!!
5、AUFS
AUFS主要功能是把多個文件夾的內容合并到一起,提供一個統一的視圖,主要用于各個Linux發行版的livecd中,以及docker里面用來組織鏡像
AUFS曾是Docker默認的首選存儲驅動,它非常的穩定、有很多真實場景的部署、很強的社區支持,它有以下幾個主要優點:
a極短的容器啟動時間
b有效的存儲利用率
c有效的內存利用率
d但由于它沒有包含在Linux內核主線中,所有很多Linux發行版并不支持AUFS
對于樹莓派這樣存儲空間較小的設備而言,使用AUFS文件系統能更好的利用我們有限的存儲空間資源并降低I/O消耗
由于AUFS并不在原生的Linux內核支持中,所以我們通過AUFS的PATH,為主線4.14的內核加入了AUFS的內核模塊代碼并重新編譯,現在系統啟動會自動加載AUFS模塊,無需人工干預,即可直接使用。
6、Swap
Linux中Swap,類似于Windows的虛擬內存,就是當內存不足的時候,把一部分硬盤空間虛擬成內存使用,從而解決內存容量不足的情況。
我們系統默認增加了對Swap交換緩存的支持,以緩解系統內存不足所造成的死機問題,大大提升了可執行大容量內存需求應用程序的支持和效率,我們的系統在安裝完成后將自動完成并初始化Swap,
Swap文件或分區的位置可以通過查看系統掛載配置文件 /etc/fstab 來調整
7、zSWAP
我們的系統之所以能完美運行深度桌面,能運行xfce桌面系統比官方系統還要流暢,就得益于我們系統內核默認已加入了 zSWAP 虛擬內存壓縮功能。要講清楚zswap就需要先說一說計算機中的內存機制。計算機的各種內存大致分為Ram ,Cache,Flash
Ram稱為隨機存取存儲器,也叫主存或內存,是與CPU直接交換數據的內部存儲器。它可以隨時讀寫,而且速度很快, RAM在計算機和數字系統中用來暫時存儲程序、數據和中間結果。可以分為Sram和Dram。
Cache存儲器:電腦中為高速緩沖存儲器,規模較小,但速度很高的存儲器,通常由SRAM組成。CPU的速度遠高于內存,當CPU直接從內存中存取數據時要等待一定時間周期,而Cache則可以保存CPU剛用過或循環使用的一部分數據,如果CPU需要再次使用該部分數據時可從Cache中直接調用,這樣就避免了重復存取數據,減少了CPU的等待時間,因而提高了系統的效率。
FLASH閃存它屬于內存器件的一種,是一種非易失性內存。目前各類 DDR 、 SDRAM 或者 RDRAM 都屬于易失性內存,只要停止電流供應內存中的數據便無法保持,因此每次電腦開機都需要把數據重新載入內存;閃存在沒有電流供應的條件下也能夠長久地保持數據,其存儲特性相當于硬盤,這項特性正是閃存得以成為各類便攜型數字設備的存儲介質的基礎。
從軟件層面看有些內存可以直接訪問,但是有些內存需要經過中間的一些操作才可以訪問例如anon page cache,這類不能直接訪問的內存,我們也叫它transcendent memory.
transcendent memory也可以看做是一個內存池,通常以page單位來訪問,后面要講解的zswap的內存池就是這種類型!
Zswap本質就是一個壓縮緩存池,當內存頁要交換出去時,zSWAP不將其移動到交換設備,而是對其執行壓縮,然后存儲到系統RAM內動態分配的內存池中,如果內存池超過限制以后會先把舊的page寫如swap,之后將新的page寫入內存池,回寫到實際交換設備的動作則會延遲,甚至能完全避免。
(默認占用物理內存上限為系統總內存的 25%,這個25%也不是隨意設置的,而是我們經過多輪測試后的最優結果!)
zswap將要換出的頁面壓縮以后要存儲到內存池,為了提高壓縮率,優化內存的使用,提高內存的使用率,我們也要選擇最適合樹莓派的內存分配器。
目前常見的內存分配器有:zsmalloc、zbud、z3fold
Zsmalloc分配器嘗試將多個相同大小的對象存放在組合頁中,這個組合頁不要求物理連續,從而提高內存的使用率, 現實表明,zsmalloc雖然壓縮率高,但是算法復雜,還需要額外的線程負責內存整理,耗費更多的cpu時間
zbud是一個專門為存儲壓縮page而設計的內存分配器.用于將兩個壓縮的page存到一個單獨的page中,zbud實現簡單,以內存page為單位的存儲又不會產生內存碎片,但是壓縮率低,最高只有2倍,不滿小內存系統的實際需求
z3fold內存分配器,和zbud的實現完全一致,只是每個page可以存儲3個compressed page,最高壓縮率有 3 倍,逼近zsmalloc的4倍,該技術在xperia xzp的中使用,使4GB的手機獲得超過4GB內存的體驗
結合樹莓派的實際情況我們最終決定使用z3fold算法。
剛才講到swap的內存池里面如果滿了,如果還要往里面放新的壓縮頁面,那就需要把一些老的頁面拿出來在經過再一次壓縮放在swap交換分區,因為考慮到樹莓派硬件的性能,所以選擇一個好的壓縮算法也是至關重要的!
通常壓縮比和壓縮速度是成反比,壓縮比越高,壓縮速度就越慢
Linux有很多壓縮算法:lz,lzo,xz,gzip,lzma…
我們的壓縮算法采用了擁有極高壓縮速度和較高壓縮率的lz4 ,lz4相對于其他壓縮算法而言,壓縮率不是最高的,但速度確是最快的,在已采用 z3fold 算法的情況下,結合樹莓派本身的性能特點和實際的測試,在擁有不錯的壓縮率的情況下,速度對于樹莓派來說才是最重要的
使用zswap可以有效的減少用于交換的i/o操作,可以提高系統性能。
在使用Swap文件/分區的場景下,由于減少了對Swap文件/分區的I/O操作,可以提升TF的使用壽命。
正是我們在系統中對zswap的使用以及不斷的調整嘗試,經過多次的測試才使得我們的系統能夠完美運行深度桌面,用xfce桌面系統才能如此的流暢!
8、USB啟動
本系統支持直接從USB設備啟動,不需要使用TF卡,直接將系統鏡像燒錄至USB設備即可(U盤、移動硬盤經測試均可)
目前僅3B+無需任何修改,可以直接使用,其他型號設備由于芯片固件的原因不支持直接啟動,請參考官方設置后才可以支持直接使用USB啟動
9、UEFI啟動
新系統拋棄了傳統樹莓派的啟動方式,使用當下PC流行的EFI方式啟動系統,擁有可配置的UEFI BIOS,啟動時可進入BIOS進行設置,支持自定義啟動選項,虛擬SMBIOS硬件支持,支持EFI專有的EL2啟動模式以啟用KVM硬件虛擬化的支持。
該BIOS功能異常強大,還有很多可配置選項,各位愛好者可以自行探索。
特性如下
具體的bios的設置會在后續視頻講解!!!
10、TCP加速
內核默認已開啟 TCP BBR 擁塞控制算法
TCP BBR 擁塞控制算法能夠在一定程度上提升TCP傳輸速度和效率,優化網絡傳輸
四、系統開機配置
1、默認賬戶
默認賬戶: pi
默認賬戶pi密碼: raspberry
root賬戶密碼需要自行設定
2、默認倉庫源為清華源
用戶可自行配置為其他源
3、web控制地址
全平臺的web控制端登陸地址
https://樹莓派IP地址:4200
無桌面基礎系統加強版的web控制訪問地址
https://樹莓派IP地址:9090
4、32位軟件支持
系統默認已開啟對32位軟件包的支持,無需手動添加,安裝32位軟件請在包的名稱后加入后綴 “:armhf”
例如: apt install ibc6:armhf // 安裝32位的ibc6
注意:這里的冒號 “:” 是需要的哦
5、啟動模式
三種文件系統格式的鏡像都支持 開機自動擴展根分區 默認系統將 重啟3次
● 第一次啟動檢查文件系統,第二次啟動擴展root根分區,所以需要等待一些時間
● 兩次重啟后,正常引導系統,在這一次啟動過程中會自動完成系統配置和生成Swap文件并完成最后的系統初始化,這將消耗一段時間(僅一次),待完成Swap交換文件的設置后并完成重啟后,即可進入到登錄界面
6、預配置項
系統提供網絡和自動開機任務的預配置,相關配置文件的路徑和對應關系如下:
7、網絡預配置
無線網絡配置根據1.0和2.0的版本不同,配置有所區別,請注意
鏡像支持在啟動前提前配置好網絡(無線、有線網絡均可配置)
● 無線網絡配置 (1.0版本) /boot/wlan0
● 無線網絡配置 (2.0版本) /boot/wpa_supplicant.conf
這里要提醒大家的是如果你使用的是圖形化桌面版本的系統,由于兼容性的問題可能會導致在圖形化界面連不上wifi或者搜不到5g信號
那么你可以用圖上的方法來更改無線路由地區碼,來解決這個問題
五、下載地址
1.微信公眾號發送【全新641】可以獲得1.0穩定版本系統的下載鏈接。發送“全新642”可以獲得2.0測試版本系統下載鏈接。
2.官方論壇blog.pifan.org中的64位系統討論區里有下載鏈接。