jollen.org

Jollen 的 Blog
Jollen's email: jollen # jollen.org
more:  Jollen's Training

Embedded Linux 的系統管理,#5: './configure' 與 Software Stack

.作者:jollen/
.日期:October 15, 2006 12:01 PM


'./configure' 的設定決定 root filesystem 的架構(architecture),即 software stack 的設計。以我們「Embedded Linux 的系統管理 (x86)」課程舉出的 Nano-X project 案例來說,我們可以規劃出 2 種架構:

1. 典型的 Desktop (PC) 使用的架構 - ffplay + SDL + x11。
2. 讓 ffplay 在 Nano-X 介面裡撥放影片 - ffplay + SDL + Nano-X。

其中第 2 點是最有趣的架構,可以讓同學練習 software stack 有關的 './configure' 設定。

首先,同學要先把 FFmpeg 在 x86 上編譯完成,然後我們透過不同的 SDL 管理觀念,讓 ffplay 能夠在 X11 與 Nano-X 的介面上撥放。

不管是在 X11 上撥放影片,或是在 Nano-X 上撥放,都不必動到 FFmpeg(ffplay)。(why?)

嵌入式 Linux 系統管理 - Software Stack 的設定

如果使用 Red Hat Linux 9 (or Fedora) 預設的 SDL,ffplay 的執行畫面如下圖。

ffplay_x11.jpg
圖一:在 X11 上執行的 ffplay

這時 SDL 的編譯設定 (configure) 應該是類似這樣的:

# ./configure --prefix=/usr --enable-video-x11 --disable-video-fbcon --disable-nano-direct-fb --disable-video-nanox --disable-nanox-share-memory --disable-alsatest --with-nanox-pixel-type=0888

我們修改 configure 參數如下:

# ./configure --prefix=/usr --disable-video-x11 --disable-video-fbcon --enable-nano-direct-fb --enable-video-nanox --enable-nanox-share-memory --disable-alsatest --with-nanox-pixel-type=0888

重新編譯並安裝 SDL 後,ffplay 就能在 Nano-X 的介面下撥放影片。如果 Nano-X 的設定是支援 X11 的話,執行後的結果會是下圖的畫面。

ffplay_nanox.jpg
圖二:在 Nano-X 上執行的 ffplay (Nano-X with X11)

我們怎麼讓 ffplay 可以在開機後,直接透過 VGA framebuffer 來撥放影片,而不用再進入 X11 呢?做法是:把 Nano-X 設定成支援 VGA framebuufer 即可(Nano-X with VGA FB),至於 SDL 的話,是不用再做任何調整的了!(why?) 當然 ffplay 也不用變動。所以,關於第 2 點的架構做法,可以再細分成:

2.1 ffplay + SDL + Nano-X + X11
2.2 ffplay + SDL + Nano-X + VGA fb

很值得用來練習編譯設定與觀念討論的例子。

Embedded Linux 的考量

「ffplay + SDL + Nano-X」這個架構是適合 Embedded Linux 使用的,只要讓 Nano-X 能完整支援 target device,並把 SDL 與 FFmpeg 移植到 target device,便能在 target device 上撥放影片檔。

Tags:

純手工打造說明:技術專欄文章為 Jollen 原創,內容皆為人工撰寫,無 AI 生成。轉載請註明出處與作者,並全文引用。轉載時請在文章開頭或結尾明顯處註明「本文出處:https://www.jollen.org,已取得原作者同意並授權使用。」
訂閱電子報:不定期 Jollen's Blog 精選文章隨 Moko365 電子報寄送;請透過 Moko365 電子報訂閱(可隨時取消)。

Copyright(c) 2001–2006 www.jollen.org. All rights reserved.
Last update: 2026-07-22