使用PeeWeeLinux 打造自己Linux的系統
作者:施勢帆
前言
如何創作出專屬的Linux的系統,一直是嵌入式資訊家電的主題,尤其在台灣還保有一些硬體的優勢(?)下,相信是這ㄧ波資訊產業的決勝點之ㄧ。目前雖然已有相關的Linux廠商推出嵌入式發展系統,但可能必須花點銀兩,有點違背GPL精神,所以筆者要介紹ㄧ套GPL的嵌入式發展程式(Peeweelinux),讓讀者有機會打造自己所需的Linux環境。
或許讀者會說我根本就不需要呀!我可以自行編輯核心、載入模組、選擇套件,筆者相信讀者或許有此高竿的能力,但是也不可否定的是,它的確是是件不小的工程,要費相當時間的。或許讀者會說網路上已經有許多相關的技術,可以將整個系統放置碟片中(所有相關網站可瀏覽http://www.toms.net/rb/),例如LRP, muLinux等,但是這些有相當多限制,很難做出自己所需的環境。
Peeweelinux 簡介
PeeWeeLinux (http://www.peeweelinux.com) 是Linux嵌入式發展程式,簡單方便好用,主要的特點有:
透過文字視窗圖形界面選取所需的套件,系統支援syslinux 或 lilo bootloaders 兩種開機方式,可以讓我們將設計好的系統環境放入單一碟片或硬碟中。
下載
Peeweelinux
有三種下載格式,bin, src, iso,我們可在底下取得。
安裝
筆者使用 ISO 的安裝方式,在RedHat 7.0系統平台,主要系統在 /dev/hdb 或 /dev/sdx,也就是說第一個硬碟(/dev/hda)是空的,執行過程如下:
[root@shie
/root]# mount peewwwlinux-0.61.0.iso –r –t iso9660 –o loop /mnt/cdrom
[root@shie
/root]# cd /mnt/cdrom
[root@shie
cdrom]# ./cd_install
+-----+-----+-----+-----+-----+-----+-----+-----+
So you want to
install the PeeWeeLinux
development
environment...
Make sure you execute
this from CD-ROM.
The PeeWeeLinux development environment
requires a minimum of
150MB of disk
for the binary only
version. The source
version requires at
least 250MB.
Install (b)inary
(s)ource... [b|s]? b
The default
installation directory is
"/root" press enter to accept or
specifiy a new
destination directory.
Install directory?
Installing
PeeWeeLinux
Source: /mnt/cdrom
Destination: /root
Continue [y|n]?y
這樣就會安裝在/root/Embedded_Build/目錄下。
執行
首先切換至 /root/Embedded_Build/ 目錄,接下來由於RedHat 7.0 的緣故,請先將函式/usr/lib/libncurses.so.4作適當連結,如下:
ln -sf /usr/lib/libncurses.so.5.2 /usr/lib/libncurses.so.4
接下來執行 ./pwlconfig 即可,或許讀者也可以加上 –b 選項,試試它的某些實驗功能,如圖1所示。
圖1
接下來選擇專案,在此可建議讀者先選用它的範例專案來練習。只有第一次才須解開所有套件,如圖2所示。
圖2
接下來進入主選單,如圖3所示。
圖3
一般而言,除非有相當特殊的需要,我們不太需要重新打造核心,挑選該系統提供的核心程式,和核心模組即可。所以接下來選擇[Configure Project File System],如圖4所示。
圖4
接下來請依需要選擇各別套件,如圖5所示,如果將來是要放置碟片中請注意選擇的檔案大小。
圖5
如果有必要的話可以再進一步做細部選取,如圖六所示。
圖6
依需要選取完畢之後,執行 [Extract File System for Project],此時它會解開至/root/Embedded_Build/projects/minimal/mnt
(minimal 是專案名),如果讀者有點功力,對Linux系統了解,且有部份需求的話,可以直接進入該目錄修改。接下來執行[Configure Target Hardware],作目的選擇,如圖7所示。
圖7
接下來執行[Target:------],可以讓我們將設計好的系統環境放入單一碟片或硬碟中,如圖8所示。由於日前筆者曾經有接觸過將 Compact flash RAM card作為 IDE0 的主機板,類似圖9,所以筆者在此選擇[Read-write root on a single partition]。另外補充ㄧ點,大部分真實硬碟都可以正常安裝成功,但是有些Compact flash RAM card作為 IDE0 的主機板,在執行lilo會有問題,此時建議改用 RedHat 6.2 或 Trustix 1.2 的 lilo 程式。
圖8
圖9
接下的是一些 lilo 或 syslinux 相關選項,如下:
--- Global configuration parameters --
Project Mount Point: "mnt"
Project Custom Source File path: "/root/custom"
Device Mount Point: "./mnt"
Boot Image Name: "bzImage" (請跟著核心改)
Ramdisk File Name: "ramdisk"
Initrd File Name: "initrd”"
Modify System Boot Files: "y"
--- Boot loader options ---
Boot Label: "linux"
Boot Prompt Timeout: "2"
VGA Mode: "normal"
Append Options: ""
--- floppy target configuration parameters ---
Floppy Device: "/dev/fd0"
Free Space on Ramdisk: "500"
--- ide flash target (or HD) configuration parameters ---
Target Device: "/dev/hda" (請跟著實際改)
Boot Device on Target System: "/dev/hda"
--- single ramdisk target configuration parameters ---
Free Space on Ramdisk: "2000"
--- multiple ramdisk target configuration parameters ---
Free Space on /dev Ramdisk: "1000"
Free Space on /etc Ramdisk: "100"
Free Space on /home Ramdisk: "500"
一切都設定好了之後,便可正式寫入目的地了,如圖10所示。
圖10
再次確認,如圖11所示。
圖11
安裝過程,如圖12所示。
圖12
安裝結果訊息,如圖13所示,如果其中有錯誤的話請檢查看看。
圖13
測試
如果一切順利,我們便可以使用它來開機了,此時root的密碼為redhat,是不是相當簡單就可以打造自己所需的Linux環境。另外有個小技巧是,讀者可以取RedHat 6.2 或 Trustix 1.2的程式來用,不過要記得將相關函式庫一併複製到相對位置。
討論
peeweelinux
有兩個相關的郵件論壇,一般討論和發展者,讀者可以訂閱,另外歷史的資料在http://adis.on.ca/archives/index.html。
結語
Peeweelinux雖然讓讀者有機會打造自己所需的Linux環境,但是在真真正正的商業用途的話是需要在加些巧思的。而在此筆者也希望讀者能稍具有Linux完整啟動程序的概念,方能夠變化出不同,否則只是由Microsoft陣營換至RedHat陣營,筆者實在看不出有何不同。
筆者任職於亞東技術學院電機系
URL:http://mouse.oit.edu.tw
Email:[email protected]