Re: [問題] 為什麼嵌入式系統不流行發行版

作者: wens (文思)   2019-07-02 01:39:28
※ 引述《icetofux ()》之銘言:
: 首先謝謝大家的抽空回覆,由於目前平台架設的工作告一段落,接下來會把心思
: 放在應用程式的編寫,暫時可能不會再密集處理這部分的工作,加上過程中有找
: 到一些推文沒提到的方法,我想利用回文做個總結,一來幫助自己記憶,二來也
: 希望能幫上未來有這類需求的朋友。
: 目標:在嵌入式開發板建立作業系統,並像debian、ubuntu這類桌面發行版一樣
: 帶有基本工具及套件管理器。
: 作法:
: A.建立基本作業系統,依照易到難應該可以分為下列幾種方式:
: 1.尋找硬體供應商有沒有提供基本開機映像檔或SD card。
: 2.尋找硬體供應商有沒有提供平台Yocto環境建置教學。
: 3.尋找硬體供應商有沒有提供Linux核心編譯教學。
: 若都沒有可以Yocto為關鍵字搜尋看看。
: 這部分只求能開機連上網,其餘都不要求。
原文推文都沒人提到 Armbian? 算是有支援不少開發版了。
至於為什麼 distro 不太有支援單板電腦,主要是因為每個板子都需要不同的參數
做電源晶片、記憶體、時脈等等的初始化,等於是每張板子都要做一個映像檔。
加上要有人自願去包裝套件跟測試,有人附議審查,都測試穩定了才會發生。
一般 distro 還是偏重 x86 環境的。
然後各大 distro 也不是說沒有 armhf 或 arm64,只是就沒有安裝映像檔而已。
就是要自己搞一下系統核心,開機程式,自行安裝 (debootstrap 之類的)
: B.開機後先試著連上網路,接著以debootstrap建立一個新的根目錄,詳細可以
: 參考這篇,寫得非常詳盡:
: https://www.linuxquestions.org/questions/debian-26/
: how-to-install-debian-using-debootstrap-4175465295/
: (抱歉我不會縮網址,請自己連接吧。)
: C.以chroot切換到上一步驟建立的根目錄,基本上debian能用的套件都可以用
: apt install進行安裝,用起來跟PC上或是raspberry上感覺差不多,至此應
: 該算達成目標了。
: 備註:由於我目前的系統只能以板子上的eMMC開機,所以我還沒找到把
: debootstrap建立出的根目錄替換掉原本根目錄的方法,但我發現使用chroot後
: 安裝的ssh server、apache server都可以正常在同網域下的其他電腦看到,所
: 以暫時就先忽略這個問題。
進階做法: 開個 tmpfs 建個暫時的 root, 把 root 切過去 (用 pivot_root),
然後把原本的 root 清掉重新 debootstrap 。
看要不要用 cdebootstrap-static, tmpfs 需要額外裝的東西少些。
https://unix.stackexchange.com/questions/226872/how-to-shrink-root-filesystem-without-booting-a-livecd/227318#227318
https://github.com/marcan/takeover.sh
然後都說是進階做法了,失敗了不要找我...
: 我對linux技術或術語方面並不熟悉,所以如果有用詞錯誤或觀念錯誤的部分,還
: 請指教。
: ※ 引述《icetofux ()》之銘言:
: : 我使用Linux的時間約一年,大部分也都操作在桌面環境下,這問題可能有點可
: : 笑,但還請各位先進解惑。
: : 最近因為工作需要開始接觸類似Raspberry Pi的ARM處理器單板電腦,由於廠商
: : 沒有提供作業系統,所以我按著網路教學用Yocto建立作業系統,花了3天總算
: : 能開機了。
: : 在嘗試的過程中我一直在想,除了Raspberry Pi有提供Raspbian這套類似
: : Debian的發行版,其他大部分賣類似產品的公司大多要求使用者用Yocto去建立
: : 自己的環境,甚至還有從原始碼下載開始交叉編譯的。
: : 為什麼在這個領域不流行發行版,讓使用者可以透過apt這類的套件管理器直接
: : 安裝自己喜歡的套件呢?是有什麼技術上的困難嗎?
: : 謝謝。
作者: wens (文思)   2019-07-02 01:45:00
https://lord.re/en/posts/58-pivot_root-unmount-son-root/又找到一個單純切到 tmpfs root 的教學
作者: Debian (Debian)   2019-07-02 02:02:00
推薦文章與跪著看文章。
作者: holishing   2019-07-02 02:49:00
灌在 Rock64 上覺得滿好用的
作者: icetofux   2019-07-02 08:05:00
非常感謝,我今天會研究看看Armbisn跟您提到的方法。
作者: wens (文思)   2019-07-02 11:40:00
我的 rock64 只有 bootloader 是 Armbian 的 XDD
作者: hizuki (ayaka)   2019-07-02 12:55:00
oh,RK平台問題就是Armbian尺寸太大而且缺乏編譯調整
作者: wens (文思)   2019-07-03 15:30:00
尺寸太大? O.o

Links booklink

Contact Us: admin [ a t ] ucptt.com