Raspberry Pi 的基礎 - 安裝 CentOS 7 for ARM

by 1月 01, 2016 4 意見        

在 PC 上慣用了 CentOS,開始研究 Raspberry Pi 時,它的主力 OS 偏偏是 Debian 系的 Raspbian,要說不會用倒也不至於,但是總覺得沒那麼順手。

本來還有個 Pidora 可以用,雖然它很久沒更新了,可是現在 Raspberry Pi 官網連下載連結都拿掉了,那我們這些 Redhat 系的 Maker 該怎麼辦呢?

就在 2016 年即將走向我們之前,CentOS 團隊的成員 Karanbir Singh 帶來了好消息,他們終於正式釋出 for ARMv7 的版本,而這個版本支援了 Raspberry Pi 2Banana PiCubie Truck 三片開發版。


下載及燒錄映像檔


我們直接到 CentOS 官方提供的下載連結 去下載。

比較特別的是,壓縮檔格式並不是常見的 gz、bz2、zip、tar,而是少見的 xz

那要如何解壓縮呢?在 Windows 可以用 7-Zip,Mac 是用 The Unarchiver,而 Linux 就直接用 unxz 指令就可以了。


解開之後,我們可以看到映像檔的實際容量是 3.22 GB。

請依照 將 Linux 的映像檔燒錄到記憶卡或隨身碟裡 這篇文意的步驟把映像檔寫到 MicroSD 記憶卡裡面。

燒錄完畢之後,就直接把這片 MicroSD 記憶卡插到 Raspberry Pi 2 上面去開機。


開機初體驗


有圖有真相,我們真的已經用 CentOS 在 Raspberry Pi 2 上面執行了。

預設帳號是 root,預設密碼是 centos。

至 2015/12/31 為止,可用的套件數量大約是在 5000 個左右。
yum list > packages-list.txt && wc -l packages-list.txt

進到系統後的第一個動作,當然就是來更新一下套件囉。
yum -y update


接著,我們在家目錄下面會發現有一個 README 檔案,它裡面寫了什麼呢?
cat ~/README

原來是提醒我們,別忘了把記憶卡裡還沒用到的可用容量,延伸出來讓根目錄可以使用。


調整 root 分割區大小


直接依照 README 裡的指令來執行。
touch /.rootfs-repartition ; systemctl reboot

這邊我們用的是一片 8GB 的記憶卡,我們可以看到在調整之前的容量。

這是調整之後的容量的確產生了變化,可用空間真的變大了。


自動校時


由於 Raspberry Pi 上面並沒有電池可以記憶時間,每次開機後都會跳回預設時間 1970-01-01 00:00。
timedatectl

當然可以直接用 ntpdate 指令校時,不過會有個大問題,一但忘記執行的話,時間就會是錯誤的。

那怎麼辦呢?

先安裝 NTP Server。
yum -y install ntp

再啟用自動校時功能。
timedatectl set-ntp yes

如果出現「Fail to set ntp: NTP not supported.」,代表我們忘了先裝好 NTP Server。

這樣子,系統就會自動校時了。
timedatectl


修改時區


不過又發現一個問題,系統的確已經會自動校時了,可是時間還是不對,原來是因為系統預設時區是 UTC。

那就動手把時區改成台灣的時區吧,首先要找到台灣時區的設定值。
timedatectl list-timezones | grep Taipei

再把時區設定成剛剛查到的設定值。
timedatectl set-timezone 'Asia/Taipei'

系統終於設定成正確的時間了。
timedatectl


變更語系


另外,系統並沒有指定預設語系。
localectl

如果我們要修改的話,先查詢一下所有支援的語系,像我習慣使用美式英文。
localectl list-locales | grep en_US

再輸入系統的語系,這樣子就可以了。
localectl set-locale LANG=en_US.utf8


參考資料


圖片來源

  • CentOS 官網
  • Raspberry Pi 官網

 更新紀錄

  • 2016/01/01 撰文。

Heracles Jam,江湖人稱「海公公」

IT 技術家 - 創站部落客

一個常用 Windows、慣用 macOS、愛用 Linux 的 3C 阿宅
現職 MIS / 業界講師 / 資訊顧問 / 部落客

4 則留言 :

  1. 您好, 請問Raspberry裝CentOS7, 可以安裝桌面嗎?另外您的其他CentOS教學文不是for Raspberry的, 但是可以照著上面去做嗎? 例如安裝LEMP之類的?謝謝

    回覆刪除
    回覆
    1. 答案是「不可以」,卻又「可以」。

      「不可以」的原因是,這些文章都是 Base on PC 來實作,全部是透過官方或第三方套件庫,安裝已經事先編譯好的套件,但 Raspberry Pi 是 ARM Base,CPU 平台不同,所以無法直接用現有 for PC 的套件來安裝,除非也有神人專門為了 Raspberry Pi 事先編譯並釋出。

      「可以」的原因也很簡單,這些套件都是 Open Source,而且也下載的到,所以我們可以自己手動編譯。

      另外,兩個平台用的發行版是一樣的,所以安裝的步驟大同小異,比較可能發生問題的地方,大概會是在相依套件難找、目錄或檔案路徑不同 ... 等等之類的小狀況吧。

      刪除
  2. 請問效能如何? 比較好奇這項。 謝謝。

    回覆刪除
    回覆
    1. 這個我就沒測試了,在 Raspberry Pi 上我慣用的 Distro 是 Raspbian .... XDDD

      刪除