iPaq或Casio機器上跑Linux(轉)
iPaq或Casio機器上跑Linux(轉)[@more@]來自Hi-Pda的訊息,網友飛來的豬投稿,他在自己的Casio E-115上安裝了PocketLinux,而且是可逆的。
幾個月前Hi-Pda上曾經貼過“現在已經有iPaq上用linux”的文章,不過那個時候在iPaq上裝linux是不可逆的過程,裝了linux就不能再裝回WinCE了,很少人肯去試試?現在就有點不一樣了,Pocket Linux1.0正式版出現了,不僅在iPaq上可以安裝Linux,還可以在Casio機器上安裝Linux呢。最重要的是,你如果不喜歡,還可以重灌回來!
說到這裡,有些人可能不相信,iPaq用的是Flash Rom,可以改寫作業系統的內容,iPaq可以升級WinCE的版本,所以用Linux也是可能的,但是我們都知道Casio用的是Mask Rom,不可能重寫,怎麼可能裝Linux呢?
硬體底層的東西一時我也不太瞭解,從Pocket Linux的文件來看,它的過程是這樣的:先從WinCE啟動機器->然後自動執行cyace.exe來切換控制權->Linux接過系統控制權->從CF卡load Linux的核心->啟動完成。
這篇我就重點說Casio機器上裝linux吧(因為我的機器是Casio E-115),有空再說iPaq。
按照文件來看,只要是基於MIPS系統都有可能安裝linux,現在已知支援的有Casio E100、E105、E115。由於Casio沒有Flash Rom,Linux必須從WinCE Load,因此需要在WinCE中安裝bootloader(引導啟動)、kernel(系統核心)、root filesystem(root檔案系統),這些都要安裝在Compact Flsah卡中。
在做一個啟動PocketLinux的CF卡之前必須注意以下事項:
1.一塊>=32Mb的CF卡
所需的CF卡越大越好,至少......如果只有一塊8Mb的卡是不適合開發Linux的(由於Linux的kernel並不大,其實8Mb就夠了,不過只有系統核心就如同沒有任何應用程式的空白作業系統,什麼也不能用......)
2.一個安裝Linux系統的機器和一個讀卡器(對CF卡要可讀寫)一些CF相關裝置是可以在Linux中工作的,不過大多數需要USB支援,所以需要支援USB的kernel,有時Linux中USB支援的裝置工作不穩定,甚至會造成整個系統的Down掉。
3.vmlinux-stripped - 用於CE機器上的Linux 的核心繫統(kernel)在可以下載
4.pocketlinux.tar.gz - PocketLinux執行需要的檔案
5.cyace.exe - bootloader程式(有點象SystemCommander)
CyaCE是一個開放式的程式,可以在下載
6.還需要一些工具,用於Linux的root 檔案系統。
root-small.tar.gz - a cut down Linux filesystem.
root-large.tar.gz - a larger filesystem.
然後要Format CF卡,CF卡必須至少有兩個分割槽,一個windows格式,存放bootloader和kernel,另一個Linux 分割槽放Linux啟動後所用的一切......(CF卡也要分割槽,各位沒有想過吧),建議分第三個區存放使用者檔案,那麼系統的root區就可以設為只讀以防一些意外事件。
CF卡上的分割槽建議為:
1./dev/sdb1 - vfat - 2.5Mb - windows partition
2./dev/sdb2 - ext2 - 5Mb - PocketLinux read/write partition
3./dev/sdb3 - ext2 - 其餘空間 - root partition
使用fdisk分割槽後這樣格式化:
# mkfs.msdos /dev/sdb1
# mkfs.ext2 /dev/sdb2
# mkfs.ext2 /dev/sdb3
好了,現在安裝CyaCE(安裝開始嘍...)
copy cyace.exe和cyacecfg.txt和kernel到CF卡的windows分割槽。
編輯cyacecfg.txt以指向正確的kernel映象(要有Linux知識哦......)
# mount /dev/sdb1 /mnt/sdb1 -t vfat
# cp vmlinux /mnt/sdb1
# cp cyace.exe /mnt/sdb1
# cp cyacecfg.txt /mnt/sdb1
# umount /mnt/sdb1
接著安裝Linux檔案系統
基本的Linux file system要放在第三個分割槽(This must be done as root to allow the device files to be created)
# mount /dev/sdb3 /mnt/sdb3 -t ext2
# cd /mnt/sdb3
# tar zxvf ~/root-.tar.gz
# tar zxvf ~/pocketlinux.tar.gz
啟動!!!
大多數機器上,啟動Linux要執行cyace.exe(從CE的檔案管理器執行),Casio E100/E105/E115可以設定Linux為“當CF卡插如時自動啟動”(把cyace和kernel放在CF卡的CE/R4100目錄中,把cyace.exe改名為AutoRun.exe)。一旦系統核心(kernel)啟動,PocketLinux會執行SysV初始,預設PocketLinux是run-level 5。
裝置連線:
最簡單的方法是透過minicom這樣的終端模擬來建立序列連線,預設情況下是PPP連線。命令如下(假設裝置是接在ttyS0(com1)):pppd /dev/ttyS0 115200 noauth nodetach nocrtscts local persist proxyarp :
ip1和ip2是source(PC)和destination(CE機)的IP地址。大多數情況下需要root的許可權。一旦連線建立,你可以用telnet -l root
好啦,安裝部分講完了。有人願意試一下嗎?拿出一個別人看不懂的機器......有幾點要注意:
一是tvt-make-cf這個script不要去使用,據說還不穩定,原句是"Since this script must be run as root it could potentially do VERY BAD THINGS to your system if not configured correctly. "
二是裝了Linux,原來CE系統記憶體中儲存的程式也會被幹掉,先backup一下吧。
安裝在ram裡面好象也是可以的,不過據說不方便。
恢復原來的CE:
拿下主電池,Reset吧......
裝完了有些什麼呢?Application Launcher,Address Book,News,Memo Pad,email Themes,Simple Calculator,Layout Test,User Info......
講完啦,有人聽嗎?(臺下扔來臭雞蛋和爛番茄......)有興趣的話下次可以再深入一點,或是有iPaq的人想看看(也可以restore的哦)。
--更詳細的情況請見
後文:
從這篇文章可以引出一個有趣的推論:既然linux都可以啟動,那麼CE升級版也應該可以啟動嘍,以後的CE4.0 5.0也可以從CF卡上 啟動啊,要什麼flash rom呢?CE裝置的廠商們啊......不要再出什麼Casio E900了,給我一個CF卡啟動的方案吧......
幾個月前Hi-Pda上曾經貼過“現在已經有iPaq上用linux”的文章,不過那個時候在iPaq上裝linux是不可逆的過程,裝了linux就不能再裝回WinCE了,很少人肯去試試?現在就有點不一樣了,Pocket Linux1.0正式版出現了,不僅在iPaq上可以安裝Linux,還可以在Casio機器上安裝Linux呢。最重要的是,你如果不喜歡,還可以重灌回來!
說到這裡,有些人可能不相信,iPaq用的是Flash Rom,可以改寫作業系統的內容,iPaq可以升級WinCE的版本,所以用Linux也是可能的,但是我們都知道Casio用的是Mask Rom,不可能重寫,怎麼可能裝Linux呢?
硬體底層的東西一時我也不太瞭解,從Pocket Linux的文件來看,它的過程是這樣的:先從WinCE啟動機器->然後自動執行cyace.exe來切換控制權->Linux接過系統控制權->從CF卡load Linux的核心->啟動完成。
這篇我就重點說Casio機器上裝linux吧(因為我的機器是Casio E-115),有空再說iPaq。
按照文件來看,只要是基於MIPS系統都有可能安裝linux,現在已知支援的有Casio E100、E105、E115。由於Casio沒有Flash Rom,Linux必須從WinCE Load,因此需要在WinCE中安裝bootloader(引導啟動)、kernel(系統核心)、root filesystem(root檔案系統),這些都要安裝在Compact Flsah卡中。
在做一個啟動PocketLinux的CF卡之前必須注意以下事項:
1.一塊>=32Mb的CF卡
所需的CF卡越大越好,至少......如果只有一塊8Mb的卡是不適合開發Linux的(由於Linux的kernel並不大,其實8Mb就夠了,不過只有系統核心就如同沒有任何應用程式的空白作業系統,什麼也不能用......)
2.一個安裝Linux系統的機器和一個讀卡器(對CF卡要可讀寫)一些CF相關裝置是可以在Linux中工作的,不過大多數需要USB支援,所以需要支援USB的kernel,有時Linux中USB支援的裝置工作不穩定,甚至會造成整個系統的Down掉。
3.vmlinux-stripped - 用於CE機器上的Linux 的核心繫統(kernel)在可以下載
4.pocketlinux.tar.gz - PocketLinux執行需要的檔案
5.cyace.exe - bootloader程式(有點象SystemCommander)
CyaCE是一個開放式的程式,可以在下載
6.還需要一些工具,用於Linux的root 檔案系統。
root-small.tar.gz - a cut down Linux filesystem.
root-large.tar.gz - a larger filesystem.
然後要Format CF卡,CF卡必須至少有兩個分割槽,一個windows格式,存放bootloader和kernel,另一個Linux 分割槽放Linux啟動後所用的一切......(CF卡也要分割槽,各位沒有想過吧),建議分第三個區存放使用者檔案,那麼系統的root區就可以設為只讀以防一些意外事件。
CF卡上的分割槽建議為:
1./dev/sdb1 - vfat - 2.5Mb - windows partition
2./dev/sdb2 - ext2 - 5Mb - PocketLinux read/write partition
3./dev/sdb3 - ext2 - 其餘空間 - root partition
使用fdisk分割槽後這樣格式化:
# mkfs.msdos /dev/sdb1
# mkfs.ext2 /dev/sdb2
# mkfs.ext2 /dev/sdb3
好了,現在安裝CyaCE(安裝開始嘍...)
copy cyace.exe和cyacecfg.txt和kernel到CF卡的windows分割槽。
編輯cyacecfg.txt以指向正確的kernel映象(要有Linux知識哦......)
# mount /dev/sdb1 /mnt/sdb1 -t vfat
# cp vmlinux /mnt/sdb1
# cp cyace.exe /mnt/sdb1
# cp cyacecfg.txt /mnt/sdb1
# umount /mnt/sdb1
接著安裝Linux檔案系統
基本的Linux file system要放在第三個分割槽(This must be done as root to allow the device files to be created)
# mount /dev/sdb3 /mnt/sdb3 -t ext2
# cd /mnt/sdb3
# tar zxvf ~/root-.tar.gz
# tar zxvf ~/pocketlinux.tar.gz
啟動!!!
大多數機器上,啟動Linux要執行cyace.exe(從CE的檔案管理器執行),Casio E100/E105/E115可以設定Linux為“當CF卡插如時自動啟動”(把cyace和kernel放在CF卡的CE/R4100目錄中,把cyace.exe改名為AutoRun.exe)。一旦系統核心(kernel)啟動,PocketLinux會執行SysV初始,預設PocketLinux是run-level 5。
裝置連線:
最簡單的方法是透過minicom這樣的終端模擬來建立序列連線,預設情況下是PPP連線。命令如下(假設裝置是接在ttyS0(com1)):pppd /dev/ttyS0 115200 noauth nodetach nocrtscts local persist proxyarp :
ip1和ip2是source(PC)和destination(CE機)的IP地址。大多數情況下需要root的許可權。一旦連線建立,你可以用telnet -l root
好啦,安裝部分講完了。有人願意試一下嗎?拿出一個別人看不懂的機器......有幾點要注意:
一是tvt-make-cf這個script不要去使用,據說還不穩定,原句是"Since this script must be run as root it could potentially do VERY BAD THINGS to your system if not configured correctly. "
二是裝了Linux,原來CE系統記憶體中儲存的程式也會被幹掉,先backup一下吧。
安裝在ram裡面好象也是可以的,不過據說不方便。
恢復原來的CE:
拿下主電池,Reset吧......
裝完了有些什麼呢?Application Launcher,Address Book,News,Memo Pad,email Themes,Simple Calculator,Layout Test,User Info......
講完啦,有人聽嗎?(臺下扔來臭雞蛋和爛番茄......)有興趣的話下次可以再深入一點,或是有iPaq的人想看看(也可以restore的哦)。
--更詳細的情況請見
後文:
從這篇文章可以引出一個有趣的推論:既然linux都可以啟動,那麼CE升級版也應該可以啟動嘍,以後的CE4.0 5.0也可以從CF卡上 啟動啊,要什麼flash rom呢?CE裝置的廠商們啊......不要再出什麼Casio E900了,給我一個CF卡啟動的方案吧......
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-947724/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 銳評新版卡西歐casio計算器
- Android 智慧手機或平板電腦上執行 Linux 的方法AndroidLinux
- RC-u3 跑團機器人機器人
- 將虛擬機器跑在ceph之中虛擬機
- 如何在 Linux 上安裝 MariaDB 或 MySQLLinuxMySql
- Linux 或 Windows 上實現埠對映LinuxWindows
- 機器人跑酷時代就要來了機器人
- 用非開發組機器跑專案
- 轉:在Linux上執行WinFormLinuxORM
- 虛擬機器上學習Linux運維?學linux有什麼用虛擬機Linux運維
- Laravel 跑在 swoole 上Laravel
- 如何在 Alpine Linux 上啟用或禁用防火牆?Linux防火牆
- linux無法上網或聯網怎麼辦?Linux
- 在VMware上安裝CentOS版本的Linux虛擬機器CentOSLinux虛擬機
- Linux虛擬機器安裝配置到專案上架Linux虛擬機
- 縮減Azure上Linux虛擬機器系統盤容量Linux虛擬機
- 什麼?Android上面跑Linux?AndroidLinux
- 香橙派5plus上跑雲手機方案二 waydroid
- 小米新機跑分成績曝光?或將推出入門級智慧手機Pocophone F1 Lite
- 在 Linux 上用 SELinux 或 AppArmor 實現強制訪LinuxAPP
- 在 MacOSX 上修改 VirtualBox 的 VDI 路徑,虛擬機器轉移Mac虛擬機
- Java SSH 客戶端 如何刪除 linux 機器上的 檔案Java客戶端Linux
- linux核心IDR機制詳解【轉】Linux
- 機器學習實戰篇——用卷積神經網路演算法在Kaggle上跑個分機器學習卷積神經網路演算法
- 如何在 Linux 上為特定的使用者或使用者組啟用或禁用 SSH?Linux
- Linux上使用python處理docx轉pdf教程LinuxPython
- 虛擬機器跑Ubuntu沒有網路的解決方案虛擬機Ubuntu
- eclipse遠端連線虛擬機器Linux上hadoop2.7.7報錯Eclipse虛擬機LinuxHadoop
- iQOO手機跑分多少?iQOO Monster安兔兔跑分手機效能測試
- JAVA字串轉日期或日期轉字串Java字串
- js 根據滑鼠拖動(或手機長按)旋轉JS
- 快讓Flutter應用跑PC上Flutter
- PHP 程式跑在 Windows 服務上PHPWindows
- pfSense——跑在 Vmware 上的防火牆防火牆
- 終端快速登入伺服器或跳板機伺服器
- linux網路配置及虛擬機器連線不上網排錯思路Linux虛擬機
- 疫情期間無接觸配送機器人崛起,九號機器人已率先搶跑一年機器人
- 幣值管理系統功能介紹,如何搭建自動跑K線機器人,刷量機器人機器人
- PDF轉換器手機版,PPT轉PDF方法