google code-beautifer

星期五, 2月 09, 2007

如何在Zaurus x60上用大於1g的SD

這個問題在不同機種,甚至不同的ROM (sharp, cacko, pdaxrom)都有不同的作法。我記得2006年sashz 有放出來Cx60實驗版,但現在root-akita.tar.bz2下載不了,怎們找都找不到。
問題卡在
一 資料不全
二 sashz的原版檔案找不到
三 不能亂try:要是字型,檔案都要裝在SD上,沒設好 suspend 後醒來會找不到SD 卡,這會天下大亂

該如何作才對?眾說紛云,以下是我目前在C860上sharp-rom成功上2G PQI的結果,
一併其他機種資料供網友參考。還有些微調的細節,我跟國外網友在http://www.oesf.org/forums/index.php?showtopic=17208有些詳細的英文討論
中文的討論見http://forum.palmislife.com/thread-73631-1-1.html
正式改版結果會在這裡發表

C860 (kernel 2.4.18)


這是我實測過沒問題:
我先裝裝了 tetsu的special kernel
我記得網路上說tetsu的special kernel 有把 sdio 的 driver port 進去
可是我試了PQI的2G SD卡,就是沒用,我才奇怪辨認不出來,

解決方案是
1. 安裝 sd-link11b_us_jpn_arm.ipk (裝完必須重開機).
http://www.c-guys.jp/data/link11b/sd-link11b_us_jpn_arm.ipk
2. 下載rokugo整理 bimbo 寫的replacement_sdiomgr.zip (處理suspend問題)
3. 備份舊檔案: cd /usr/sbin; cp sdiomgr sdiomgr.sharp; chmod root.qpe sdiomgr.sharp
4. 把壓縮檔裡的sdiomgr拷備到 /usr/sbin/ 下,
4. 並且用編輯器改過(原檔案存檔時有問題),確認第一行是 #!/bin/sh
5. 重開機

怪異的是,不會automount,不過我手動打入
# mount /mnt/card
就成了,反正這SD 是不拔下來的
我不喜歡Fat16格式,剛開始在 desktop上先format ext2
# mke2fs -b 1024 /dev/sda1
拿到Zaurus 上有問題,改在Zaurus 上作
# mke2fs -b 1024 /dev/mmcda1
也是不成,我手動執行
# su
# mount /mnt/card
得到錯誤訊息
mount: Mounting /dev/mmcda1 on /mnt/card failed: Invalid argument
後來發現結果是
6. 改掉/etc/fstab 的automount 成
/dev/mmcda1 /mnt/card ext2 defaults 0 0
7.手動mount /mnt/card
以後就可以拼命安裝package到SD卡上

記得最好留一個terminal 安裝在internal flash 上。為什麼?因為我第一次關機後,也發生了SD 不會自動mount 上去(安裝在SD上的terminal當然沒辦法用),只好裝不同的terminal 在 internal flash上,再在terminal裡手動mount。怪的是,之後開開關關都沒問題。安全起見,最好還是留個terminal 裝在 internal flash上。

以下僅供純參考

CXXXX (kernel 2.4.20 )


利用 tetsu special kernel 內的新 SD card module 。檔案和方法都在這兒:
http://www.oesf.org/forums/index.php?showtopic=18523

Zaurus SL-5500 (collie) 2GB SD Card


http://cambuca.ldhs.cetuc.puc-rio.br/~miguel/zaurus/
http://cambuca.ldhs.cetuc.puc-rio.br/~miguel/zaurus/mmcsd_2g.o
copy the provided mmcsd_2g.o to /lib/modules/2.4.18-rmk7-pxa3-embedix/kernel/drivers/block/sharp_mmcsd_m.o