如何使用BerryBoot來使樹莓派支持多系統啓動

若是你想花最短的時間更換系統卡而且擁有更多的時間在你的樹莓派的使用上, 安裝BerryBoot的multi-boot manager可以使在一張SD卡上實現多系統的選擇啓動。 如下咱們將詳細講解BerryBoot是如何實現樹莓派多系統的:linux

BerryBoot

咱們爲何要這樣作?

BerryBoot是一款基於樹莓派啓動的啓動管理工具, 它最大的優點是能夠在不經過SD卡的前提下在多個系統中選擇啓動, 你既能夠將系統存放在卡上,也能夠, 若是你須要更多空間的話,將系統運行在外接的硬盤上並配置BerryBoot只將SD卡做爲一個啓動器。ubuntu

同時BerryBoot配置工具使得下載適應樹莓派的穩定linux系統更容易。目前BerryBoot支持的樹莓派linux系統版本有:segmentfault

  • BerryWebserver (Webserver Bundle: Lighttpd + PHP + SQLITE)網絡

  • Berry Terminal (LTSP/Edubuntu Thinclient)app

  • Raspbian (Debian Wheezy)工具

  • MemTesteroop

  • OpenElec (Media Center Software)佈局

  • Puppy Linuxspa

  • RaspRazor (Unofficial Rasbian branch, lots of programming tools).net

  • Sugar (The One-Laptop-Per-Child OS)

除了上述的這些版本之外, 你也能夠添加的自制的linux版本到BerryBoot中,後文會詳細介紹如何手動添加新的系統。

總之,若是你不想用不一樣的SD卡存儲不一樣的樹莓派系統,而且省掉更換不一樣系統SD卡的繁瑣, BerryBoot絕對是一個一款能幫你解決掉這些問題的理想工具。

咱們須要準備什麼?

你須要一個樹莓派, 相對應的外接設備, 一個可用的網絡. 咱們建議讀者先閱讀關於初識樹莓派的文章,確保讀者已經具有全部關於樹莓派的基礎知識(好比如何給樹莓派供電和基礎的配置)。

除了上述須要的硬件配置之外, 讀者同時須要下載BerryBoot的安裝文件:

BerryBoot Installer

從下載的.zip的壓縮文件中解壓並安裝BerryBoot到通過FAT格式格式化過的SD卡中。

配置BerryBoot

當你下載好安裝文件而且解壓到你的SD卡後, 將SD卡插入樹莓派中並接上電源啓動它, 你會看到短暫的啓動過程並最終顯示如下的配置界面:

花些時間調整屏幕顯示(看屏幕上方和下方是否出現綠色的校準條來選擇是否選擇或者撤銷overscan選項)。 設置你的網絡鏈接類型(network connection)爲有線(wired)或者無線(Wi-Fi)。最後設置的你的鍵盤佈局。

若是你選擇了無線鏈接你的網絡,安裝程序會讓你選擇鏈接的無線網絡名稱和相應的密碼。

注意:這裏的無線網絡鏈接設置只適用於BerryBoot安裝過程,一旦你安裝了樹莓派的linux系統好比Raspbian,你須要在Raspbian再次設置你的無線網絡鏈接。

當你連接上網絡後,安裝程序會讓你選擇安裝樹莓派系統的位置(SD卡或是外接的硬盤):

這裏默認的是SD卡, 若是你想將樹莓派的系統安裝在外接的閃存或是硬盤上,如今就鏈接上它們。一旦顯示出你鏈接上的閃存或者硬盤,選擇並點格式化鍵(Format), 注意這裏格式化會清除掉全部閃存或者硬盤上的內容,請格式化前自行備份。

大約一分鐘後, 會彈出一個添加系統(Add OS)的窗口中, 這裏你能夠選擇安裝到BerryBoot卡上的第一個系統。 這裏咱們以安裝Raspbian爲例, 點擊確認(OK)進行安裝。

一旦Raspbian的安裝鏡像文件下載並安裝完成後, BerryBoot的Menu Editor就會彈出並顯示如下內容:

在這個menu editor中,你能夠進行多項操做。你能夠添加(Add OS)新的系統或者移除(Delete)現有的系統, 一樣的你能夠選擇默認的啓動系統(Make default)。你能夠編輯(Edit)每個單獨系統的屬性好比更更名稱或是內存的位置。你能夠在這裏複製(Clone)系統(好比在Raspbian上運行兩個不一樣的項目)。有也能夠備份(Backup)整個SD卡或者外接存儲設備中的單獨的某一個系統。

除了上述的這些外,你能夠進行更高級的配置(在窗口上面最後的小箭頭處), 好比BerryBoot的密碼設置, 修復壞損的文件系統, 轉換使用命令行窗口進行設置。

上面的這些都是BerryBoot很好的功能, 可是咱們這裏的重點是添加一個新的系統。點擊添加系統(Add OS), 屏幕轉回到剛剛的添加系統(Add OS)的窗口中, 如今咱們要再添加OpenELEC到咱們的BerryBoot系統啓動項中。選擇並點擊確認。

當第二個系統安裝完畢後,你就能夠在Menu Editor中選擇默認的啓動系統了, 這裏咱們選擇Raspbian作爲咱們默認的啓動系統:

到這,咱們就能夠退出Menu Editor開始咱們的多系統選擇啓動了。 點擊退出(Exit)按鈕。一會就會彈出如下的BerryBoot menu窗口

若是在以前的配置中你已經選擇了默認的啓動系統, 這裏會在倒數後自動啓動它。若是你沒有選擇默認的系統, BerryBoot會停在這裏窗口直到用戶作出選擇要啓動的系統。默認的倒數時間長度爲10秒。

若是你想更改默認的倒數時間長度的話能夠在這裏點擊右下角的編輯菜單(Edit menu)按鈕, BerryBoot會轉向menu editor窗口。點擊右上角的高級配置(Advanced Configuration)按鈕,編輯uEnv.txt文件中‘bootmenutimeout’的值。

不管你是否改變這個值,BerryBoot menu總會你在你啓動,關閉或是重啓樹莓派時最早看到。你能夠經過鍵盤,鼠標來選擇要啓動的系統版本。若是你將樹莓派經過HDMI線連上家中的支持
CEC(Consumer Electronics Control)的媒體中心的電視,你也要能夠經過對應的遙控器來選擇你想啓動的系統項。

手動添加系統到BerryBoot系統啓動項中

當你只是使用那些BerryBoot中自帶的鏡像linux系統版本時,好比Raspbian和Puppy Linux, 安裝只是簡單的點擊和選擇確認。若是你想試一些很是規的新系統可能就會變得有些棘手。

在BerryBoot中添加新的linux系統版本時,須要先用SquashFS編譯這個linux系統並得到它的鏡像文件.IMG。你能夠經過如下的三種方式得到這個文件。

首先,最簡單的方法就是從BerryBoot官網中獲取那些沒有正式添加到安裝文件中的linux系統鏡像文件, 這些文件能夠從這裏得到,這些鏡像文件能夠直接使用不須要經過SquashFS的編譯。

其次,在BerryBoot官網上沒有的可是在樹莓派的官網上提供的linux系統鏡像文件,一樣的能夠不經過SquashFS的編譯直接使用添加到BerryBoot中。

最後,例如像Raspbmc這樣的須要用戶使用安裝工具直接下載到樹莓派上並在樹莓派上進行安裝的linux版本。你須要建立一個SD卡的鏡像文件來添加到BerryBoot中,如何建立一個卡的鏡像文件點擊這裏

對於.IMG格式的文件添加(不管是下載的仍是建立的),你都須要經過linux系統來使用SquashFS先進行編譯。由於SquashFS只有在linux的系統下運行最爲穩定,因此這裏咱們也只介紹在linux系統下如何使用SquashFS。

若是你如今用的linux版本中沒有安裝SquashFS, 在terminal裏面輸入如下指令下載並安裝SquashFS:

sudo apt-get install squashfs-tools

將含有鏡像文件的SD卡或者USB連接到運行linux的主機上進行.IMG格式文件轉換。這裏咱們將用NewBerryBoot.img爲例,在命令行輸入如下指令:

sudo kpartx -av NewBerryBoot.img

kpartx命令用於建立分區表的設備映射, -av 用於添加映射和映射的詳細內容,這樣便於咱們查閱輸出。 這時的輸出相似以下的內容:

add map loop0p1 (252:5): 0 117187 linear /dev/loop0 1
add map loop0p2 (252:6): 0 3493888 linear /dev/loop0 118784

第二個也是最大的一個分區 loopOp2就是咱們想要的存有linux系統的分區, 在你的鏡像文件中分區大小可能會有些不一樣(好比最大的一個是loop3p2),記錄下最大的分區名字,輸入以下的指令:

sudo mount /dev/mapper/loop0p2 /mnt
sudo sed -i ‘s/^\/dev\/mmcblk/#/g’ /mnt/etc/fstab
sudo mksquashfs /mnt converted_image_for_berryboot.img -comp lzo -e lib/modules
sudo umount /mnt
sudo kpartx -d NewBerryBoot.img

上述一系列的指令使得咱們想要系統分區被掛載,而且從原分區中提取出文件系統表格,接着使用SquashFS來重建這個分區的.IMG文件(去掉不一樣系統文件共享文件lib/modules),最後撤銷掛載的分區而且刪除相應的映射。

這以後,咱們能夠回到舒適可愛的BerryBoot的圖形界面了。不管你是下載的已經處理好的.IMG文件仍是本身建立的獨有的.IMG文件,如今是時候將它們添加到BerryBoot中了。

鏈接上存有新建的.IMG文件的存儲設備(如果SD卡,請鏈接相應的讀卡器)到樹莓派上或是鏈接到USB擴展器上。 啓動含有BerryBoot SD卡的樹莓派,在啓動選擇菜單裏面,選擇編輯(Edit)啓動BerryBoot的menu editor。

如圖所示,就能夠添加你新建的.IMG文件了。

選擇Copy OS from USB stick(從USB設備中拷貝系統), 隨後.IMG文件選擇窗口就會彈出:

你可能會注意到在最底層文件類型的選擇上會有些奇怪的擴展名(.img128, .img192)。當生成添加到BerryBoot的鏡像文件的時候你能夠選擇文件的擴展名爲128/192/224/240來指示BerryBoot你想要分配哪塊內存區域給這個新添加的系統。若是你沒有特地指定也不用擔憂,你一樣能夠在BerryBoot的menu editor的Edit選項裏面進行內存分佈的設定。

當你選擇並打開你新建的.IMG文件後就能夠暫時放鬆一下了,.IMG文件在這個時候會被解包並安裝。這以後,你會在BerryBoot的menu editor中看到新添加的系統:

成功!如今咱們快速的回顧一下這個章節,三種獲取.IMG文件並放入BerryBoot的方法(從最穩定的版本到相對不太穩定的版本):從BerryBoot的官網上獲取的可是不在BerryBoot安裝包中的linux版本,經過SquashFS處理現有.IMG文件,或是先創建SD卡中現有的系統的.IMG文件,再通過SquashFS處理。固然越是不太被官網認定的版本越容易出現棘手的問題。咱們的項目開發一員Sam Nazarko就遇到過一個問題,在使用SquashFS重建Raspbmc的.IMG文時系統就崩潰了。因此讀者在本身試驗的同時也要留個心(不管結果怎麼都請留個言,這將對後面想要嘗試應用BerryBoot的同窗有很大的幫助)


Update: 不過,從另外一個角度來講,刷單純的系統鏡像,開機直接進系統是最爲簡單的。一是一般不必在一張卡上用多個Linux發佈版,試用新系統換卡就好了;二是引導器會更改分區表結構,一些應用中有兼容性的問題。(感謝 沙渺


原文 How to Multi-Boot Your Raspberry Pi with BerryBoot
翻譯 tien
via geekfan

相關文章
相關標籤/搜索