About me

我的相片
I'm a web and software developer from Kaohsiung, Taiwan.
I design and implement user interfaces, also contribute to open source projects.
http://penkia.net/portfolio

2008年3月30日 星期日

本日書籤 03/30/2008

水果專利之健健康康的生活

http://0rz.tw/5b3QU

iPhone PWNED 小工具現身!

http://0rz.tw/763Q7

浪潮之巔第八章 沒落的貴族—摩托羅拉(二)

http://googlechinablog.com/2008/03/blog-post_24.html

Opera 與 Webkit 相繼達成 Acid3 100% Pass 目標

http://blog.gslin.org/archives/2008/03/27/1458/

HappyDesigner第三次聚會結束,大感謝!

http://hlb.yichi.org/blog/2008/03/30/199

「100% 開源手機與法律議題」簡報上線

http://blog.linux.org.tw/~jserv/archives/001997.html

Bug Labs:創造個人專屬的移動裝置

http://blog.linux.org.tw/~jserv/archives/001999.html

Eee PC 改造計畫:活潑化的桌面

http://blog.linux.org.tw/~jserv/archives/002000.html

[教育訓練紀錄] 交叉編譯(cross compile)thttpd

http://www.jollen.org/blog/2008/03/cross_compile_thttpd.html

Park: Kage no Sekai

http://mmdays.com/2008/03/27/kage-no-sekei/

O'lafur Arnalds - Eulogy For Evolution

http://pulp.bluecircus.net/archives/011152.html

1977年,陳達「稻草人」演唱實況

http://blog.roodo.com/honeypie/archives/5768273.html

台灣沒有亞太迪士尼中心?原來如此

http://fred.ipod.to/blog/?post;1450

Firefox往何處去?

http://fred.ipod.to/blog/?post;1451

iPhone Optimization Script

http://ajaxian.com/archives/iphone-optimization-script

DistroWatch Weekly, Issue 245, 24 March 2008

http://distrowatch.com/weekly.php?issue=20080324

Zenwalk Live 5.0 is ready

http://support.zenwalk.org/viewtopic.php?f=2&t=15282

KNOPPIX 5.3.1 Release

http://knopper.net/knoppix/knoppix53-en.html

ASUS releases Eee SDK, open source continues to be open

http://0rz.tw/703Qk

Become an Xcoder, Leopard Edition

http://pmougin.wordpress.com/2008/03/26/become-an-xcoder-leopard-edition/

Still waiting for Flash

http://lwn.net/Articles/272615/

Hidden Linux : Doing the splits

http://0rz.tw/1b3Rk

Linspire's CNR Beta: A Quick Review

http://www.madpenguin.org/cms/?m=show&id=8119

Best Way To Create Your Own Ubuntu

http://www.osweekly.com/index.php?option=com_content&task=view&id=2758

Firefox 3's better performance and memory improvements

http://www.builderau.com.au/blogs/syslog/viewblogpost.htm?p=339270943

Plans for the Linux-next Tree

http://kerneltrap.org/Linux/Plans_for_the_Linux-next_Tree

UBI File System

http://kerneltrap.org/Linux/UBI_File_System

2008年3月28日 星期五

今天突然有想寫遊戲的衝動

想在 iPod Touch 上寫螞蟻農場的遊戲,
大概就取名叫 iAntFarm 好了.

飼養工作只要 1) 保持土壤溼潤
2) 丟各式食物
3) 整土, 清理環境

重點是凌辱, 例如 1) "長按" 可以把螞蟻壓死
2) "拖曳" 可以把螞蟻從地道裡搬到任一處
3) "搖動" 會造成土壤鬆動
4) 可以丟進各種活生生的小生物或敵人...

簡單說就是觸控螞蟻版的地城守護者嘛!

大概又是一個無法完成的美妙想法.

2008年3月27日 星期四

Cleanup of initrd.gz

因為 LiveUSB 開機還是不夠快 (總共 34 秒左右), 昨晚一氣之下就跳進 initrd.gz 看有沒有可以動刀的地方.

原本我的假設是 1) squashfs 要掛載很慢 2) aufs 掛載也很慢.

因此我採取了以下步驟, 製作一隻不用解壓縮的 LiveUSB:

1) 全部格式化成 ext3
2) 安裝 extlinux 當作 boot loader
3) 將 syslinux.cfg 轉成 extlinux.conf
4) 將原本未壓縮的目錄 cp -av 至 casper/filesystem.dir

結果... 讀取時間有稍微變短, 總共大約差了兩秒. 並沒有出現想像中的奇效.

於是我又做了這些事來找出瓶頸 (總算想到要 profiling 了):

1) 將 /usr/share/initramfs-tools/scripts/casper 更新
2) 因為 busybox 好像有點問題, 把 /bin/date 塞進 initrd.gz
3) 修改 scripts/functions 讓 log_begin_msg() 順便紀錄時間

有了驚人的發現!!

1) 指定 union 的參數改叫做... union 了 (嚇到了吧!)
我把預設值修改為 aufs
2) 原先的假設根本不成立, 掛載超快的!
3) 瓶頸主要出現在四個地方

a. find_livefs() - 10 秒
b. scripts/casper-bottom/10adduser - 5 秒
c. scripts/casper-bottom/20xconfig - 3 秒
d. scripts/casper-bottom/23networking - 3 秒

其中 a 應該可以透過 bootfrom= 參數來解決, 但我還沒有試成功, 看來它會等待核心將裝置初始化. 而剩下的三個都透過 "背景執行" 這招簡單又骯髒的步驟成功減少時間.
再把不用的 script 清掉, 最後, initrd.gz 所需要的時間就降到 15 秒了.

雖不滿意, 但還可以接受. 這故事也再度驗證了不先找出瓶頸就亂動手的人是白痴.

2008年3月25日 星期二

摩爾的逆襲 -- 淺談介面革命與輕量化迷思

雖然標題好像很帥, 但其實只是最近"看" paper 的過程中, (不求甚解, 故謂之看) 發現其中一些研究的脈絡與我的想法不謀而合, 因為再度驗證了長年藏在心裡的懷疑而感到開心不已, 所以才有這篇心得文. XD

這裡提到的迷思大概可以拆成三個部份來談, 不過因為只是心得所以不用期待有完整論述, 延伸閱讀倒是不會少的.

一、膨脹迷思 -- 哭哭, 程式很佔硬碟空間

抱怨新版本的某程式爆肥似乎已經成為一種流行 (當然女星爆肥還是比較有話題啦), 例如蔡學鏞這篇 [1] 就是很典型的例子.

不可諱言的確有些問題肇因於疊床架屋的架構, 但追根究底其實是 "底層工具/開發者對於程式碼 size 最佳化的速度" 比不上 "我們對於軟體新功能的需求" 所致.

而對於新功能的 "需求", 又是由行銷人員和市場來推動, 很多根本是創造出來的; 不用考慮程式大小的話, 程式可以更早完成, 這部份 Joel 寫得 [2] 比我完整很多.

[1]http://jerrylovesrebol.blogspot.com/2008/03/blog-post_13.html
[2]http://www.joelonsoftware.com/articles/fog0000000020.html

二、輕量迷思 -- 科科, 程式不佔記憶體空間

另一種很典型的迷思就是追求那種最不佔記憶體空間/耗用資源最少的程式.

大家一定都用過 Windows 底下的一種小程式, (大抵是從 toget 或史萊姆抓到的) 號稱可以釋放記憶體, 還有一個很酷炫的百分比條顯示你的記憶體被萬惡窗戶霸佔了 "87%", 於是你按下 "釋放" 按鈕, 咻, 記憶體回來了 -- 但其實, 你的程式現在起會跑的更慢, 因為這些釋放記憶體的程式不懂甚麼叫做 Cache [3].

作業系統的存在就是為了分配資源 -- 無論是硬碟空間, 記憶體或是電量. 越能善用所擁有的資源, 程式就會表現得越好.

有很多硬碟空間, 為什麼不用? [4] 有很多記憶體, 為什麼不用? [5] 反正放著也是浪費嘛! 把資源留給其他程式? 又不是真的有多工到這種程度.

於是我們知道, 說一個程式很輕巧, 通常應該修正為 1) 功能很少 或 2) 在低資源分配的情況下也能有不錯的表現. 而後者才應該是我們要追求的.

[3]http://en.wikipedia.org/wiki/Cache
[4]http://portal.acm.org/citation.cfm?id=1095809.1095836
[5]http://sourceforge.net/projects/preload

三、3D 桌面迷思 -- 呵呵, 我的旋轉方塊好炫喔

這點迷思其實和以上兩點都沒有關系, 純粹只是碰巧提到湊在一起而已.

攤開電腦發展史 (也沒幾年就是了), 其實就是一連串的妥協與折衷, 為什麼呢? 一句話: Old habits die hard. 積習難改是也!

這可不是在看完 Alfie 大嘆 Jude Law 怎麼可以這麼帥以後騎車要哼的主題曲, 這點破了一個現象 -- 是人都不喜歡改變. 就算轉移目標比起現在要好一百倍也不行!

想想 QWERTY 對上 Dvorak 鍵盤, Windiws XP 對上 Ubuntu, 雙腳對上 Segway.

這也是為什麼我們仍然停留在 WIMP 介面 [6] 的原因, 即便我們已經能處理彷彿聞到硝煙味的爆破碎片, 栩栩如真的毛髮光影, 以及想都沒想過的各種輸入介面.

空間記憶 (spatial memory) [7] 問題使兩大桌面系統停留在耍弄特效眼糖騙取觀眾, 拿掉那些花俏的視覺效果來看, 我們所擁有的東西和二十年前 PARC 產品沒什麼兩樣.

3D/特效真的會讓生活更簡單容易嗎? (某些情況下會, 例如小尺寸螢幕的縮放), 使用者習慣能夠被教育嗎? (一定可以, 但是要漸進, 例如 iPod -> iPod Touch).

我想這才是我輩黑客該面對的問題. XD

[6]http://en.wikipedia.org/wiki/WIMP_(computing)
[7]http://osnews.com/story/18829/Common_Usability_Terms_pt._I:_Spatial_Memory

敬請指教, 謝謝!

2008年3月24日 星期一

本日書籤 03/24/2008

喜出望外,Xbox 360被洗,玩家��比������名主�

http://0rz.tw/103Q0

整合Firefox延伸功能:Prism未�新的����基�

http://chinese.engadget.com/2008/03/23/firefox-prism/

Siftables:��料�起�

http://0rz.tw/973Nh

Adobe:iPhone 上的 Flash 外�好像�咱�想像的��容易

http://0rz.tw/1c3Lx

Adobe AIR :跨平台富媒��用��工具

http://chinese.engadget.com/2008/03/22/adobe-air-announce/

Consistent Hashing

http://blog.gslin.org/archives/2008/03/21/1452/

MyISAM 在 FreeBSD 上效率不好的原因?

http://blog.gslin.org/archives/2008/03/24/1453/

浪潮之�第八章 �落的�族―摩托�拉(一)

http://googlechinablog.com/2008/03/blog-post_21.html

2008~2012 �� - �英九

http://blog.dragon2.net/2008/03/24/521.php

投票,是公民的��和�利

http://blog.ijliao.info/archives/2008/03/20/3521/

�英九��之後…

http://blog.ijliao.info/archives/2008/03/23/3524/

�籍也免�下�的�候到了�?

http://fred.ipod.to/blog/?post;1443

�大��果的一�看法

http://fred.ipod.to/blog/?post;1447

�典�果 Mac ��者影片

http://www.macgrass.com/permalink/2098

「�『看不�的��』到『看不�的自由��』」��上�

http://blog.linux.org.tw/~jserv/archives/001993.html

Xenomai/SOLO:提供 Linux 使用者��的 RTOS 模�

http://blog.linux.org.tw/~jserv/archives/001994.html

解放你的桌面:LxDE 重�上�

http://blog.linux.org.tw/~jserv/archives/001995.html

�放手�:Linux Mobile Phone

http://www.jollen.org/blog/2008/03/open_mobile_phone_linux.html

Imagine

http://pulp.bluecircus.net/archives/011149.html

(�在��候重� Imagine 是有甚�期��... :-)

Live CD : �展中版本�出: PUD GNU/Linux Version 0.4.8.5

http://knoppix.tnc.edu.tw/modules/news/article.php?storyid=260

Development Release: Ubuntu 8.04 Beta

http://distrowatch.com/?newsid=04806

Development Release: PUD GNU/Linux 0.4.8.5

http://distrowatch.com/?newsid=04807

Development Release: NimbleX 2008 RC

http://distrowatch.com/?newsid=04809

GCC 4.3.0 exposes a kernel bug

http://lwn.net/Articles/272048/

Android, Schmandroid: Linux on the iPhone

http://www.linuxinsider.com/story/62209.html

Turn your launch bar into eye candy with wbar

http://www.linux.com/feature/128982

Android tunes into OSGi

http://www.regdeveloper.co.uk/2008/03/21/osgi_android/

GoblinX packs a lot into compact Slackware-based distro

http://www.linux.com/feature/129214

From GNOME to KDE and back again: old computing habits are hard to break

http://www.linux.com/feature/129757

An Eye On The Prize: A Detailed Look At Foresight Linux 2.0

http://0rz.tw/7a3Nr

Mozilla CEO: Apple wrong in pushing Safari to Windows users

http://0rz.tw/b93NW

Evidence mounting: Windows 7 going modular, subscription

http://0rz.tw/253NU

9 Improvements Needed in GNOME

http://itmanagement.earthweb.com/osrc/article.php/3736091

Hack Attack : Run Linux Apps Natively On Windows, OSX

http://0rz.tw/4a3Nw

Linux Directory Structure Overview

http://www.debianadmin.com/linux-directory-structure-overview.html

MacBook Air reviewed... as a Windows machine

http://www.engadget.com/2008/03/20/macbook-air-reviewed-as-a-windows-machine/

OLPC security chief resigns, cites ethical concerns as final straw

http://0rz.tw/1f3QH

MacBook Air hack unearths more relatively inaccessible USB connectors

http://0rz.tw/143LA

Mozilla Says Firefox 3 Ready for Prime-Time

http://osnews.com/story/19509/Mozilla-Says-Firefox-3-Ready-for-Prime-Time

Why Apple Fans Hate Tech Reporters

http://osnews.com/story/19511/Why-Apple-Fans-Hate-Tech-Reporters

Awesome 2.2 Released

http://osnews.com/story/19514/Awesome-2.2-Released

2008年3月22日 星期六

iPod Touch 完美破解版 (續)

釋出了 PUD v0.4.8.5 後收到不少回應, 真是讓人開心. 同時間 Ubuntu 也釋出 8.04 的 beta 版, 看來得再努力一下! :-)

這幾天除了嘗試編譯 toolchain 之外, 也順便試了一堆程式, 這兩個是特別好玩的:

VNsea


iPod Touch 上的 VNC client, 這是 Windows XP + TightVNC 的搭配使用, 酷吧! 之所以選擇 TightVNC 是因為它可以很容易的變成 Portable 版軟體. (關於 Portable 版軟體改天可以補一篇心得分享)

PDFViewer


雖然它跟 Preview 這個程式用同一個圖示 (到底誰學誰阿 XD), 但是功能滿完整的. 記得要從本機將 PDF 檔案傳到 /var/root/Media/PDF 底下.

這種 "impossible is nothing" 的感覺正是全天下玩具所能提供的最大滿足感. (所以理論上我已經可以不帶 NB 到處看 paper 寫投影片並趕在 group meeting 之前完成了嗎? XD)

2008年3月21日 星期五

發展中版本釋出:PUD GNU/Linux Version 0.4.8.5



這是個開發中的 PUD,但因為包含太多實驗性的新功能,所以我們決定釋出一個公開測試版。更新包括了安裝程式、新的套件選擇、加強版的 LiveCD 懶人包、核心補綴、開機速度最佳化,以及更好的筆記型電腦與移動裝置支援。系統使用 Ubuntu 8.04 的套件,所以可能還會有些許錯誤。
詳細情形請參考完整的釋出公告

敬請指教,謝謝!
Pin-Shiun Chen (penkia) <penkia@gmail.com>

本日書籤 03/21/2008

Suspend and hibernation status report

http://lkml.org/lkml/2007/7/27/58

如果表態是可恥的,那這些行為是?

http://blog.xdite.net/?p=557

我們需要支持「入聯公投」!

http://blog.xdite.net/?p=559

桌面程式質感改造:Qt4 應用程式部份

http://blog.linux.org.tw/~jserv/archives/001988.html

WebKit + Clutter:以 3D 技術給予網頁瀏覽的新體驗

http://blog.linux.org.tw/~jserv/archives/001989.html

「貓也會的 CMake」簡報上線

http://blog.linux.org.tw/~jserv/archives/001991.html

[教育訓練紀錄] nonblocking wait: try lock

http://www.jollen.org/blog/2008/03/nonblocking_wait_try_lock.html

開放手機:談東方開源

http://www.jollen.org/blog/2008/03/eastern_world_open_source_culture.html

Firefox over SSH Tunnel

http://blog.gslin.org/archives/2008/03/18/1451/

Hacking Huawei E220 HSDPA 3G 網路卡的裝置和相關連線訊息

http://fred-zone.blogspot.com/2008/03/hacking-huawei-e220-hsdpa-3g.html

鄉親啊!這就是愛「蘋果」啦!

http://blog.osx119.com/?p=150

Kraftwerk 1978年的現場錄影

http://jeph.bluecircus.net/archives/music/kraftwerk_1978_live.php

中華民國面對圖博 (西藏) 問題的尷尬

http://blog.ijliao.info/archives/2008/03/16/3517/

表態的學問

http://blog.ijliao.info/archives/2008/03/18/3519/

在 Google 搜尋結果頁上終於有網站連結了

http://blog.ijliao.info/archives/2008/03/19/3520/

在使用 .Net Framwork 時讀取 MediaPath 目錄中的內容(續)

http://zonble.twbbs.org/archives/2008_03/992.php

初玩 Pylons 筆記

http://sbt.idv.tw/blog/tiberius/2008/03/16/815

Pylons + SQLAlchemy + Elixir 多資料庫

http://sbt.idv.tw/blog/tiberius/2008/03/19/816

Hot Chip - Made In The Dark

http://pulp.bluecircus.net/archives/011135.html

Broken Social Scene at The Wall

http://pulp.bluecircus.net/archives/011136.html

Broken Social Scene in Taipei

http://pulp.bluecircus.net/archives/011137.html

為林生祥、羅思容大陸行而寫

http://blog.roodo.com/honeypie/archives/5723339.html

Task::Moose released

http://use.perl.org/~Stevan/journal/35907?from=rss

Parrot 0.6.0 "P&P" is released.

http://www.nntp.perl.org/group/perl.perl6.announce/2008/03/msg579.html
From BFS to ZFS: Past, Present, and Future of File Systems

http://arstechnica.com/articles/paedia/past-present-future-file-systems.ars

HOWTO recover deleted files on an ext3 file system

http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html

Will Google pick klik2 for GSoC 2008?

http://www.kdedevelopers.org/node/3329

Ubuntu Linux Disk Encryption Benchmarks

http://www.phoronix.com/scan.php?page=article&item=ubuntu_hdd_encrypt&num=1

NDISwrapper dodges another bullet

http://lwn.net/Articles/271762/

Sabayon Linux x86/x86-64 3.5 Loop 2 [Beta Release]

http://www.sabayonlinux.org/forum/viewtopic.php?f=60&t=12963

Speed Up Linux

http://howto.wired.com/wiki/Speed_Up_Linux

World of Warcraft in Ubuntu -- the easysauce way.

http://www.ryawn.com/node/7

Gnash Flash player reaches milestone, not destination

http://www.linux.com/feature/129884

Kernel space: How to use a terabyte of RAM

http://www.computerworld.com.au/index.php/id;1829360654;fp;16;fpid;1

Martian Headsets

http://www.joelonsoftware.com/items/2008/03/17.html

Everex's CloudBook arrives in Japan with touchscreen, Bluetooth

http://0rz.tw/383Sf

Apple patent application hints at iPhone flip phone

http://0rz.tw/813O1

Vulnerable USB drive gets wrapped in aluminum for security's sake

http://www.tcnj.edu/~jones37/usb_armor.html

802.11n AirPort Express hands-on

http://www.engadget.com/2008/03/18/802-11n-airport-express-hands-on/

iPhone firmware 2.0 hands-on

http://www.engadget.com/2008/03/18/iphone-firmware-2-0-hands-on/

Arthur C. Clarke, inventor of satellite, visionary in technology, dead at 90

http://0rz.tw/d63Lc

Who's suing Apple today? Mirror Worlds takes aim at Time Machine and more

http://0rz.tw/e93KG

COM-BAT swoops in to gather data on reconnaissance missions

http://0rz.tw/ec3ON

XPERIA X1 white paper reveals yet more details

http://0rz.tw/6e3LW

Adobe: Flash for iPhone might be a little harder than we thought

http://www.news.com/8301-13579_3-9898166-37.html?tag=nefd.lede

Development Release: Dreamlinux 3.0 RC3

http://dreamlinuxforums.org/index.php/topic,897.0.html

DistroWatch Weekly, Issue 244

http://distrowatch.com/weekly.php?issue=20080317

Development Release: Ulteo Applications System Beta 1

http://distrowatch.com/?newsid=04802

Distribution Release: Slax 6.0.3

http://distrowatch.com/?newsid=04803

2008年3月19日 星期三

iPod Touch 完美破解版

最近入手了非常適合我的新玩具: 8G iPod Touch.
無線網路 + Mobile Safari + iPod + 漂亮外觀 + 一堆第三方軟體, 實在是太好玩啦. (現在又有官方 SDK, iphone-dev toolchain 可以開發, 讓人想不跳進去都難啊!)



順手整理了一下破解和修改的筆記, 有兩點值得注意的地方:
  • 原版的介面已經好看了, 所以我沒打算加背景或換圖示
  • 所謂完美破解指的是 8G iPod Touch 使用 1.1.4 版韌體主觀地達成符合我個人使用習慣的設定及環境. 取這標題純粹只是不爽 Y!拍 上面的破解賣家 XD

1. 破解 (JailBreak)

首先要升級到最新版的韌體, 並且 JailBreak 這樣才能安裝第三方軟體.

連接 iPod Touch 到 iTunes 選 "回復" 然後升級至 1.1.4 版韌體.

下載並安裝 ZiPhone 2.6b 點選進階功能的 Fix NVRAM (若沒有出現 "Spamming AT, Waiting for a response" 錯誤訊息可以跳過這步), 接著點選 iPod Touch Jailbreak.

2. 準備動作

將 iPod Touch 的 Settings -> General -> Auto-Lock 調成 Never, 免得安裝軟體到一半螢幕就關掉了.

接著將 iPod Touch 連上無線網路.

3. 安裝基本元件

Installer -> System -> BSD Subsystem 2.1
Installer -> System -> OpenSSH 4.6p1-2

4. 安裝中文環境

先加入有不少中文相關套件的站台:
Installer -> Sources -> Edit -> Add -> iphone4.tw/unlock
接著再加入額外的套件來源:
Installer -> iPhone4.TW 在地化服務 -> [資源] 幫你輸入幾個常用的...
安裝中文輸入法以及鍵盤配置:
Installer -> Utilities -> NativeCn 3.10a
Installer -> iPhone4.TW 在地化服務 -> [優化] 可樂羊中文鍵盤

(等會就有鍵盤的抓圖了, 別急 XD)

5. 安裝終端機

對於我這種命令列中毒的人來說, 看到 terminal 心會先安一半.. 所以首先安裝 Term-vt100:
Installer -> System -> Term-vt100 svn198
接著從另外一部機器 (要在同一個網域) 由 ssh 連線到這台 iPod Touch. Windows 上可以用 pietty 來達成, 將 IP 換成你的位置:
ssh root:alpine@192.168.0.100
接著加上 SUID 權限讓你在 iPod Touch 上也能登入:
chmod +s /Application/Term-vt100.app/Term-vt100
然後修正鍊結的一些路徑問題:
ln -s /usr/local/arm-apple-darwin/arm-apple-darwin/lib /usr/local/arm-apple-darwin/lib


6. 安裝字典

首先安裝 weDict:
Installer -> Productivity -> weDict 0.9
接著可以從這裡下載幾套滿不錯的字典, 傳到 iPod Touch 上 (Windows 可以使用 WinSCP):
scp Oxford-MoonBear.* root@192.168.0.100:/private/var/mobile/Library/weDict


7. 安裝即時傳訊軟體

在 iPod Touch 上玩 MSN 應該是不少人的夢想吧, 之前都只有 BeeJive 或 meebo 這種 Web-Based 的軟體能用中文, 現在有原生軟體啦! 而且他們之後還會轉移到官方 SDK 上呢:
Installer -> Network -> Apollo 1.0.2
接著 ssh 進到 iPod Touch:
ssh root:alpine@192.168.0.100
加入這些站台的位置, 這樣才連得上 MSN:
vi /private/etc/hosts

65.54.239.20 messenger.hotmail.com
65.54.239.21 gateway.messenger.hotmail.com
65.54.179.193 loginnet.passport.com



若想解決 BuddyList 中文顯示亂碼或輸入中文的問題, 可以從這裡下載這個套件, 並用 scp 傳到 iPod Touch 上 (位置在 /Applications/Apollo.app/): Apollo.app-with-im-fix-with-qq-with-icon.tar.gz


8. 遊戲

這裡講的不是那種小家子氣的小遊戲, 這邊講的是玩以前經典遊戲的方法, 首先是 NES 模擬器:
Installer -> Games -> NES 2.0.5-1
接著一樣 ssh 連線到 iPod Touch
ssh root:alpine@192.168.0.100
建立放 ROM 的目錄:
mkdir -p /private/var/mobile/Media/ROMs/NES
再來由正當方法取得遊戲 ROM 以後, 以 scp 傳送到 iPod Touch 上:
scp Super\ Mario\ Brothers.nes root@192.168.0.100:/private/var/mobile/Media/ROMs/NES

唷! 這不是咱們最熟悉的老朋友嘛 XD


再來若你懷念以前古老而美好的冒險遊戲時光, 那你一定知道 ScummVM:
Installer -> Games -> ScummVM 0.11.1
一樣建立個放遊戲的目錄以方便管理:
mkdir /private/var/mobile/Media/ScummVM
以正當方法取得遊戲以後, 傳到 iPod Touch 上:
scp -r monkeyisland2/ root@192.168.0.100:/private/var/mobile/Media/ScummVM

噢噢..我都要感動落淚了. XD 操作方法參見 Wiki.

9. 其他

接下來就隨興所至, 自由發揮囉, 我還裝了:
Installer -> iPhone4.TW 推薦軟體 -> [工具] ScreenShot 簡單...
Installer -> iPhone4.TW 推薦軟體 -> [工具] Sketches 手繪本
Installer -> iPhone4.TW 推薦軟體 -> [網路] NetService 網路服務...
Installer -> Productivity -> MobileTextEdit
Installer -> Productivity -> MobileFinder
Installer -> Productivity -> MobilePreview

股票若想看大盤可以參考這篇介紹的方法輸入代號.



若是碰到 YouTube 不能連線的問題也可以參考這篇來解決.

最重要的是, 任何時候當你 iPod Touch 玩壞時, 長按 Switch + Home 進入 Recovery Mode, 然後就可以從 iTunes 裡 "回復" 到最新的韌體 (要降級則改按 shift + 回復).

那麼祝各位 happy hacking,
有任何問題或錯誤都請不吝指教 :-)
penk

2008年3月14日 星期五

本日書籤 03/14/2008

所謂的真相

http://sbt.idv.tw/blog/tiberius/2008/03/14/814

[客座] YouTube - 從當個傻子開始,專注測試與修改

http://mmdays.com/2008/03/12/youtube-build-design-test/

iPhone 沒有 Flash ,但將有 Java

http://www.macgrass.com/permalink/2084

iPhone SDK 未見製成品先見爭議

http://www.macgrass.com/permalink/2085

Qtopia Core 更名為 Qt for Embedded Linux

http://blog.linux.org.tw/~jserv/archives/001985.html

援助 Qt4 style 小記

http://blog.linux.org.tw/~jserv/archives/001986.html

演講:貓也會的 CMake

http://blog.linux.org.tw/~jserv/archives/001987.html

第八章 矽谷的見證人—惠普公司(五)

http://googlechinablog.com/2008/03/blog-post_10.html

lighttpd 1.4.19

http://blog.gslin.org/archives/2008/03/11/1447/

讓我們偷看未來的 Graphical User Interfaces

http://fred-zone.blogspot.com/2008/03/graphical-user-interfaces.html

Google: Android will outsell iPhone, we still love ya Steve

http://news.yahoo.com/s/cmp/20080314/tc_cmp/206903637

DistroWatch Weekly, Issue 243, 10 March 2008

http://distrowatch.com/weekly.php?issue=20080310
Slideshow: An insight into the Woz

http://www.arnnet.com.au/index.php/id;226784102;img;3070;ssid;1

GTK+ 3.0: Getting serious.

http://federkiel.wordpress.com/2008/03/12/gtk-30-getting-serious/

New dwm release: dwm-4.8

http://www.suckless.org/wiki/

Measuring Fedora's Boot Performance

http://www.phoronix.com/scan.php?page=article&item=fedora_boot_perf&num=3

Top 10 Linux Desktop Hurdles

http://www.intranetjournal.com/articles/200803/pij_03_10_08a.html

Back up Linux with ease

http://www.tectonic.co.za/?p=2233

Latest Firefox 3 beta offers exciting features

http://www.linux.com/feature/129319

The rest of the vmsplice() exploit story

http://lwn.net/Articles/271688/

Installing Fonts on Linux

http://www.linuxjournal.com/content/installing-fonts-linux

Beatles' catalog coming online at long last?

http://www.engadget.com/2008/03/09/beatles-catalog-coming-online-at-long-last/

Nokia's N810 internet tablet gets a $90 price cut

http://www.nseries.com/index.html#l=products,n810

F-117 stealth fighters to make final flight no one will know about

http://www.cnn.com/2008/US/03/11/stealth.fighter.ap/index.html?eref=rss_tech

McCartney to release Beatles back catalogue on iTunes

http://0rz.tw/4b3L0

Installing Fonts on Linux

http://www.linuxjournal.com/content/installing-fonts-linux

The rest of the vmsplice() exploit story

http://lwn.net/Articles/271688/

iPhone Dev Team jailbreaks firmware 2.0... before it's out

http://0rz.tw/ce3J9

iPhone SDK downloads exceed 100,000, upcoming games get outed

http://0rz.tw/b33ML

Intel plots $100 "NetTop" market with Diamondville

http://0rz.tw/753LP

TSA explains MacBook Air grounding: just doing its job

http://www.tsa.gov/blog/2008/03/apple-macbook-airs-are-cleared-for.html

WWDC 2008 kicks off June 9th for Mac, iPhone devs

http://0rz.tw/af3Mn

iPhone dual-boot solution surfaces, not for the faint of heart

http://www.zdziarski.com/papers/dualboot.html

2008年3月12日 星期三

Rough Measure of LiveCD Optimization Results.

這幾天收拾桌子的時候找到了一片 CD-RW, 剛好就拿來測試上篇提到的最佳化方法, 只是簡單的拿碼表測量, 並沒有漂亮的 bootchart 圖表.

這個功能預計整合進 PUD0.4.8.5 版.

File:

Hardware:

  • Image: 258MB iso9660 file
  • CPU: Intel Celeron 1.86GHz
  • Memory: Hyundai 1GB
  • CDROM: HL-DT-ST DVDRAM GSA-T20N
  • Media: Mitsubishi 32X CD-RW, 700MB

Experiment (從 bootloader 啟動至進入 X 畫面):

  • original: 1:21, 1:35, 1:23
  • optimized: 1:10, 1:15, 1:11

所以我們可以發現, 開機時間快了 7% ~ 26%.
(若用 CD-R 的話數字應該會再好看一點. XD)

2008年3月9日 星期日

本日書籤 03/09/2008

這是什麼樣水準的總統候選人?

http://blog.xdite.net/?p=553

當整合開發環境遇上系統模擬

http://blog.linux.org.tw/~jserv/archives/001978.html

關於演講邀約

http://blog.linux.org.tw/~jserv/archives/001979.html

原來 DDD 也有 Gtk+ 移植

http://blog.linux.org.tw/~jserv/archives/001980.html

Visual LDD : 視覺化動態函式庫呈現

http://blog.linux.org.tw/~jserv/archives/001982.html

Flash Player H.264

http://blog.gslin.org/archives/2008/03/06/1442/

使用 Firefox 新版 (地雷版) 時必要的武器

http://blog.gslin.org/archives/2008/03/09/1445/

初探 Glib Programing - I/O 處理事件化『 g_io_channel』

http://fred-zone.blogspot.com/2008/03/glib-programing-io-giochannel.html

Broken Social Scene, See It To Believe It

http://pulp.bluecircus.net/archives/011129.html

Portable 程式

http://blog.ijliao.info/archives/2008/03/04/3510/

iFund:投資鞏固技術平台的三贏策略

http://fred.ipod.to/blog/?post;1432

Mac上的「牛頓病毒」

http://fred.ipod.to/blog/?post;1433

在使用 .Net framwork 時讀取 MediaPath 目錄中的內容

http://zonble.twbbs.org/archives/2008_03/991.php

Eric Schmidt 於 HIMSS 會議演講 Google Health

http://mmdays.com/2008/03/08/google_health/

Microsoft working up StartKey Windows companion

http://0rz.tw/de3LO

XPERIA X1 shows AT&T graphic at CeBIT -- what could it possibly mean?

http://0rz.tw/bb3NM

G10IL, the Eee PC killer from ECS, is actually killer

http://0rz.tw/283IO

First AirMail sleeves interofficed to MacBook Air types

http://0rz.tw/093Ny

How would you change Everex's Cloudbook?

http://www.engadget.com/2008/03/07/how-would-you-change-everexs-cloudbook/

Development Release: Ubuntu 8.04 Alpha 6

http://www.ubuntu.com/testing/hardy/alpha6

Development Release: Elive 1.6

http://www.elivecd.org/Main/News/80

WebKit, GTK, and Qt

http://ajaxian.com/archives/webkit-gtk-and-qt

iPhone SDK: Great if you like Cocoa, but what about us?

http://0rz.tw/193LE

iPhone SDK for Web Developers

http://ajaxian.com/archives/iphone-sdk-for-web-developers

Rethinking the Progress Bar

http://chrisharrison.net/projects/progressbars/

Icon herding gets easier with Tango Generator

http://www.linux.com/feature/128100

Linux clocks double-digit growth. Fear and loathing in Redmond

http://0rz.tw/323LM

Better Linux Sound Managment With ALSA, Part 2

http://www.linuxplanet.com/linuxplanet/tutorials/6466/1/

Protecting filesystems and swap space with Cryptmount

http://www.linux.com/feature/128114

Dasher: keyboard without keys

http://polishlinux.org/apps/dasher-keyboard-without-keys/

Linux tool speeds up computer forensics for cops

http://www.zdnetasia.com/news/security/0,39044215,62038612,00.htm

A hands-on look at the Splashtop instant-on Linux environment

http://www.linux.com/feature/128004

How to: Create a Linux Box for Your Mom (50+ Resources)

http://0rz.tw/483JY

Some interesting jobs

http://www.joelonsoftware.com/items/2008/03/07.html

Sony Mylo:我是誰?

http://fred.ipod.to/blog/?post;1435

Snap Sun Decision Launches Java at iPhone

http://osnews.com/story/19447/Snap-Sun-Decision-Launches-Java-at-iPhone

2008年3月6日 星期四

Linux LiveCD Boot Speed Optimization

前言 (introduction)

最佳化, 顧名思義就是對 "瓶頸" 開刀, 把它砍成平井間....我是說, 把它以各種方式改寫, 以達到能接受的範圍.

而最佳化的陷阱在於這是一條沒有盡頭的漫漫長路, 因此要不是 1) 你很明顯知道能接受的範圍在哪 或 2) 你很懶惰, 不然貿然進行是沒有好下場的.

一般 LiveCD 在開機時間上, 最明顯的瓶頸就是讀取速度, 畢竟光碟是一種循序存取優於隨機存取的媒介. 因此透過改變映像檔中檔案的排列方式, 可以顯著地改善開機速度.

同工 (related work)

當然這種途徑是一種常見的手法, 包括像 Accelerated-KNOPPIX, BeleniX LiveCD, 06 年時的 Kubuntu Dapper, 甚至是 Ubuntu 本身都有類似的實做, 但其中最困難的步驟就是紀錄下開機過程中所有讀取的檔案清單和讀取的順序 (以作為排序的依據). 以 Accelerated-KNOPPIX 為例, 他們實做了一個 cloop profiler 以取得開機的情境; BeleniX 有昇陽 DTrace 的加持; Kubuntu Dapper 則是直接朝 SquashFS 下手.

但這些工具或手段都有或多或少的缺點:
  • 都要相當程度的 "侵入", 一點都不輕鬆
  • 其他的工具像 kprobes 或 gdb 又太難了
  • 改動程式碼的規模太大, 我太虛弱無法掌握
  • 就算改好, 也不見得適用於往後的新版本
幸好在經過多方搜尋之後, 發現了一個很黃很暴力的解決方法: openlog 補綴.

紀錄 (log)

說穿了這個補綴就是透過修改 fs/open.c, 並在每次讀取成功以後 printk 一行訊息. 這樣一來所有讀取檔案的清單和順序也都能夠保留 (只要開機紀錄存的下).

雖然 openlog 的網址在寫這篇文章的時候連不上, 但其實它的修改只有短短幾行,包含兩個部份, 其中是增加一個 logfiles=1 的開機參數:
+static unsigned int open_logfiles;
+
+static int __init setup_logfiles(char *str)
+{
+ get_option(&str, &open_logfiles);
+ return 1;
+}
+
+__setup("logfiles=", setup_logfiles);
+

long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
{
char *tmp = getname(filename);
再來就是開啟檔案時印出相關資訊:

put_unused_fd(fd);
fd = PTR_ERR(f);
} else {
+ if (open_logfiles)
+ printk(KERN_DEBUG "FILE %s\n", filename);
fsnotify_open(f->f_dentry);
fd_install(fd, f);
}

使用 (apply)

我們只需要取得 Ubuntu 的核心原始碼:
# apt-get install linux-source-2.6.24
解開後套用此一補綴, 將原本的 config 檔複製到原始碼目錄中, 並且 make oldconfig.

特別要注意的是, 因為我們打算讓系統認為這個核心和原本是相同的, 因此要修改
Makefile 當中的版號, 讓它符合 linux-image 的套件版號, 例如:
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 24
EXTRAVERSION = -11-generic
為了紀錄住所有的資訊, 我們可以將 CONFIG_LOG_BUF_SHIFT 加大, 將這個值修改為 18 (也就是 256K), 然後執行 make bzImage.

編好的核心會在 arch/x86/boot/bzImage, 將它取代 LiveCD 當中的 vmlinuz, 並且在開機時新增參數 logfiles=1 並且等待開機完畢, 進入 X 當中.

轉換 (convert)

進入系統後, 根據文件的建議, 可以嘗試做一些開啟程式的動作, 比如說 firefox 或是 vlc 之類的. 你可以在 /var/log/syslog 找到我們所要的紀錄.

大概長這樣:
Mar  6 01:32:41 ubuntu syslogd 1.5.0#1ubuntu1: restart.
Mar 6 01:32:41 ubuntu kernel: Inspecting /boot/System.map-2.6.24-11-generic
Mar 6 01:32:41 ubuntu kernel: Loaded 27842 symbols from /boot/System.map-2.6.24-11-generic.
Mar 6 01:32:41 ubuntu kernel: Symbols match kernel version 2.6.24.
Mar 6 01:32:42 ubuntu kernel: Loaded 19134 symbols from 89 modules.
Mar 6 01:32:42 ubuntu kernel: FILE /etc/modprobe.d/blacklist-framebuffer
Mar 6 01:32:42 ubuntu kernel: [ 47.530556] FILE /etc/modprobe.d/thinkpad_acpi.modprobe
Mar 6 01:32:42 ubuntu kernel: [ 47.530584] FILE /etc/modprobe.d/blacklist-modem
Mar 6 01:32:42 ubuntu kernel: [ 47.530610] FILE /etc/modprobe.d/aliases
Mar 6 01:32:42 ubuntu kernel: [ 47.530927] FILE /etc/modprobe.d/toshiba_acpi.modprobe
Mar 6 01:32:42 ubuntu kernel: [ 47.530950] FILE /etc/modprobe.d/blacklist
...
...
但還沒完, 我們必須將這份 log 轉換成 mksquashfs 指令能夠接受的清單,
為此我寫了一隻 Perl 小程式 list-sort.pl 來達成目標:
#!/usr/bin/perl

my $syslog = $ARGV[0] || '/var/log/syslog'; # 讀進 log 檔
my @ori;
for (`grep FILE $syslog`) {
chomp($a = (split(/FILE /, $_))[-1]); # 取得我們要的那段
$a =~ s/^\///; $a =~ s/^\///; # 拿掉開頭的 /
next if $a =~ /^(dev|proc|var|media|sys|tmp|\.)/; # 略過某些目錄
push(@ori, $a); } # 存進陣列
my @dup = grep {$marked{$_}++;$marked{$_}==1;} @ori; #刪除重複項目
my $count = 10000; # 設定權重
for (@dup) { print "$_ $count\n"; $count--; } #依序印出

將輸出存成一個文字檔:
# ./list-sort.pl syslog > sort.txt
並且利用這份檔案製作壓縮的檔案系統:
# mksquashfs ../system casper/filesyste.squashfs -sort sort.txt -b 256K -info
一個最佳化過後的映像檔就完成了!

評估 (evaluation)









沒有. (爆)

因為我手邊剛好沒有測試用的空白 CD-RW, 只有隨身碟.. (扭扭)
這種最佳化方式用隨身碟測會有漂亮數據才有鬼!! (有快啦, 大概三秒)

但根據以往的經驗我相信, 以這種方法做出來的 LiveCD 是很快的!! (誠懇)

敬請指教, 謝謝!!
Pin-Shiun Chen (penkia)

本日書籤 03/06/2008

NSResponder Modifications: Swipe, Rotate, and Magnify

http://cocoadex.com/2008/02/nsevent-modifications-swipe-ro.html

MultiTouchTrackpad

http://www.cocoadev.com/index.pl?MultiTouchTrackpad

Speeding up libglade by precompiling xml-files into shared objects

http://syslog.movial.fi/uploads/compiled-libglade.pdf

Overclocking the Front Side Bus (FSB) to 100 MHz with a Linux kernel module

http://wiki.eeeuser.com/howto:overclockfsb

Yahoo BBAuth 結合 Rails' AAA plugin

http://blog.xdite.net/?p=552

第八章 矽谷的見證人—惠普公司(四)

http://googlechinablog.com/2008/03/blog-post_04.html

Zend_Cache 與 Memcache Backend

http://blog.gslin.org/archives/2008/03/02/1440/

LXDE 近期動態

http://fred-zone.blogspot.com/2008/03/lxde.html

Xephyr 的 XVideo 與 OpenGL 支援

http://blog.linux.org.tw/~jserv/archives/001968.html

模擬 Eee PC 上運作 Keroro 桌面系統

http://blog.linux.org.tw/~jserv/archives/001969.html

不只要解放手機軟體,還要徹底改外觀

http://blog.linux.org.tw/~jserv/archives/001971.html

早餐吃 GDB,GDB 吃早餐

http://blog.linux.org.tw/~jserv/archives/001972.html

克服文盲的數位建設:Literacy Bridge 的「Talking Book」

http://blog.linux.org.tw/~jserv/archives/001976.html

MemProf - memory profiling 與 leaks 偵測

http://blog.linux.org.tw/~jserv/archives/001977.html

Linux 驅動程式的中斷處理, #1: request_irq 基本觀念

http://www.jollen.org/blog/2008/03/interrupt_handling_1.html

Linux 驅動程式的中斷處理, #2: 深入淺出中斷模式

http://www.jollen.org/blog/2008/03/interrupt_handling_semaphore.html

Linux 驅動程式的中斷處理, #3: Bottom Half 的觀念

http://www.jollen.org/blog/2008/03/interrupt_handling_bottom_half.html

Openmoko 開放 Neo 手機工業設計

http://0rz.tw/e73I4

DistroWatch Weekly, Issue 242, 3 March 2008

http://distrowatch.com/weekly.php?issue=20080303

Release Notes for Linux Mint 4.0 Daryna KDE Community Edition, by
Jamie Boo Birse

http://www.linuxmint.com/rel_daryna_kde.php

Silverlight Offline and AIR

http://ajaxian.com/archives/silverlight-offline-and-air

Acid 3 Ships; WebKit praised

http://ajaxian.com/archives/acid-3-ships-webkit-praised

黑膠聯展 - NYC ROCK!

http://pulp.bluecircus.net/archives/011121.html

British Sea Power - Do You Like Rock Music?

http://pulp.bluecircus.net/archives/011123.html

我的左派老師 Half Nelson

http://pulp.bluecircus.net/archives/011125.html

答《上海電視週刊》採訪

http://blog.roodo.com/honeypie/archives/5628489.html

《Back in Your Head》- Tiesto混音,鄉民混影

http://jeph.bluecircus.net/archives/music/back_in_your_he.php

Facebook 的好日子將盡?

http://mmdays.com/2008/03/01/facebook-is-doomed/

NDISwrapper and the GPL

http://kerneltrap.org/Linux/NDISwrapper_and_the_GPL

Linux Achilles' heel: Suspend/Hibernate

http://blogs.techrepublic.com.com/opensource/?p=175

ReviewLinux.Com: First Look Linux Mint 4.0 KDE

http://www.reviewlinux.com/?m=show&id=9685

Coming to a watering hole near you: OLPC's mesh networking

http://www.computerworld.com.au/index.php/id;1228527977;fp;16;fpid;1

Automounting FUSE filesystems

http://www.linux.com/feature/128103

The ease of sidux

http://myviewmytake.wordpress.com/2008/02/26/the-ease-of-sidux/

KDE 4.0.2 Release Announcement

http://www.kde.org/announcements/announce-4.0.2.php

Web design tools for Firefox

http://www.tectonic.co.za/?p=2207

Woz strikes again: disappointed by iPhone, wary about MacBook Air and Apple TV

http://0rz.tw/933Kp

ASUS' 9-inch Eee PC, now with living pixels!

http://www.engadget.com/2008/03/04/asus-9-inch-eee-pc-now-with-living-pixels/

Bootable flash key makes disk encryption attacks super-simple

http://0rz.tw/7f3KS

Vista copy protection cracked, totally, for real

http://apcmag.com/5512/pirate_crack_vista_oem_activation

MacBook Air gilded again - that's two times too many

http://0rz.tw/9d3K9

Meizu CeBIT booth shut down by German authorities

http://0rz.tw/f23Jg

Shipwright - our new code distribution system

http://use.perl.org/~jesse/journal/35658?from=rss

We've released the code used to run rt.cpan.org

http://use.perl.org/~jesse/journal/35833?from=rss

天呀,真的是Macbook Air

http://blog.roodo.com/appleseed/archives/4989853.html

SE Xperia X1是贏家嗎?還是誰?

http://fred.ipod.to/blog/?post;1412

邁向檔案自動化的第一步--顏色標籤

http://blog.roodo.com/appleseed/archives/5550495.html

2008年3月1日 星期六

Patch Kernel 2.6.24 with SquashFS+LZMA, the Ubuntu Way.

簡介

這是一篇在 Ubuntu 8.04 中使用 SquashFSLZMA 的筆記.

SquashFS 是一套唯讀的壓縮檔案系統, 在製作 LiveCD 的時候會用到它; LZMA 則是著名的 7-Zip 專案使用的壓縮演算法.

因為 SquashFS 的作者非常想將這套檔案系統推進官方的核心 (目前仍是以 patch 形式存在), 因此它只會支援 Zlib 這套核心預設的壓縮函式庫, 但是將上面提到的兩者結合, 會對 LiveCD 帶來莫大的好處: 更小的體積, 可以裝更多的程式.

有圖有真相, 偷來的比較資料: Compression benchmarks


methodblock sizeSlax data sizepercent
uncompressed-668 MB100%
mksquashfs+gzip64KB227 MB34%
mksquashfs+gzip1024KB222 MB33%
mksquashfs+lzma64KB191 MB28%
mksquashfs+lzma128KB184 MB27%
mksquashfs+lzma512KB172 MB26%
mksquashfs+lzma1024KB167 MB25%

感謝開放原始碼和偉大的開發者, Squashfs LZMA 計畫因應而生, 提供了許多的補綴檔 (patch, 下同), 本篇筆記就是在 Ubuntu 上實地使用的過程.

下載

首先從這個連結下載網頁左手邊列出的除了 kernel source 以外的所有檔案. 包括:
  • lzma457.tar.bz2 - 7-Zip 提供的 LZMA SDK
  • sqlzma3.3-457.tar.bz2 - 主要的補綴檔
  • squashfs3.3.tar.gz - SquashFS 原始碼, 也是個核心的補綴檔
  • squashfs-cvsfix.patch - 補綴檔的補綴檔 (差點咬到舌頭)
而核心原始碼我們將採用 Ubuntu 官方的套件.

(*) 我會將原始碼和編好的程式放在 PUD 的 ftp 站台, 但目前還傳不上去.


安裝

安裝所有需要的工具:
# apt-get install linux-headers-2.6.24-10-generic \
linux-headers-2.6.24-10 linux-source-2.6.24 \
build-essential zlib1g-dev patch
接著建立一個工作目錄, 切換進去, 並將剛剛抓來的四個檔案都放進來.

把補綴檔先解開:
# tar xvf sqlzma3.3-457.tar.bz2
# mv sqlzma1-449.patch sqlzma1-457.patch

(*) 這裡要注意, 要把 sqlzma1-457.patch 檔案當中所有的數字 449 都換成 457.

再來把 LZMA 的 SDK 解開:
# mkdir lzma457; tar xvf lzma457.tar.bz2 -C lzma457
把剛剛安裝好的核心原始碼解開, 並建立鍊結:
# tar xvf /usr/src/linux-source-2.6.24.tar.bz2
# mv linux-source-2.6.24 linux-2.6.24
# ln -s `pwd`/linux-2.6.24 /lib/modules/`uname -r`/build
解開 SquashFS 原始碼:
# tar xvf squashfs3.3.tar.gz

補綴

現在來到了重頭戲, 開始加工啦.

首先補綴 LZMA SDK:
# patch -p0 < sqlzma1-457.patch

接著是替核心加入 SquashFS:
# patch -p0 < squashfs3.3/kernel-patches/linux-2.6.24/squashfs3.3-patch

順便補綴一下 SquashFS:
# patch -p0 < squashfs-cvsfix.patch

(*) 需要先把 squashfs-cvsfix.patch 中的 linux 路徑都改成 linux-2.6.24
補綴核心:
# patch -p0 < sqlzma2k-3.3.patch

最後, 補綴 SquashFS 的工具程式:
# patch -p0 < sqlzma2u-3.3.patch


編譯

一切補綴完成之後, 就開始編譯.

先配合 Makefile 建立好路徑的鍊結:
# rm -rf squashfs3.3/kernel-patches/linux-2.6.24/
# ln -s `pwd`/linux-2.6.24/ squashfs3.3/kernel-patches/linux-2.6.24

接著稍微修改一下 Makefile, 有兩個地方. 在 LzmaVer 這行要改成:
LzmaVer = lzma457

然後找到 -Werror 參數把它關掉:
EXTRA_CFLAGS = -I${Sqlzma} -I${SqFs}/../../include -Wall # -Werror

最後, 執行編譯指令:
# make

沒有錯誤的話就完成啦!

使用

至於使用方法, 編譯出來總共有兩樣東西,
一個是建立或解開 SquashFS 檔案系統使用的工具, 會放在:
squashfs3.3/squashfs-tools/mksquashfs
squashfs3.3/squashfs-tools/unsquashfs

而核心的模組則在:
lzma457/C/Compress/Lzma/kmod/sqlzma.ko
lzma457/C/Compress/Lzma/kmod/unlzma.ko
linux-2.6.24/fs/squashfs/squashfs.ko

若是想在 LiveCD 裡面使用, 可以參考 build-livecd 工具組, 使用 svn 取得最新原始碼即可.

敬請指教, 謝謝!

Pin-Shiun Chen (penkia) <penkia@gmail.com>

Reanimation - 網誌寫作的再復興

呼, 過了好長一陣只靠機器人 (自己寫的 web agent) 和 email 發文章的日子.

雖然從 03 年左右就開始接觸 blog (這故事太長以後有空再說), 但是因為興趣使然一直把重心擺在 "撰寫 blog 的平台", 改 MovableType (2.6x 版), 玩 Wordpress, 甚至和 cole945 葛格合寫了一套未完成的 "PicoType" (那年頭網誌軟體好像都得帶個 -type 結尾). 完全不顧 "Content is King" 此一真理.

於是就在這大家都轉玩 twitter 的時節, 累積了點寫東西的料, 大概能開始進行一連串 SEO 的實驗, 打中各式各樣的甜蜜點, 重新開始網誌寫作 (一陣子). 與其說是 "重新開始" 其實不過就是把 BBS 板上文章選擇性改寫過來而已. 我們要相信寫網誌就像學打高爾夫 (或隨便填入你的喜好), 除了很花時間之外, 越作就會越有心得, 最終陷入自我感覺良好而不可自拔之境界...

除了技術筆記之外, 嘗試想寫的幾個主題大概有:
  • 側胸經年疼痛, 最後生出許多小羅莉的亞當後代. (主角就定名為亞當山德勒吧.)
  • 看到保護級節目, 會奮不顧身用盡各種方法保護小孩的媽媽.
  • 看到『Baby in Car』標誌, 馬上停止甩尾播放電音, 改放莫札特的青年台客.

... 好啦, 就先當我隨便說說的.

本日書籤 03/01/2008

公路車單人環島-完成歸來

http://starryalley.homelinux.net/blog/index.php?/archives/938-unknown.html

「screencast」OS X 裡的 Finder 小技巧 Part 1

http://blog.osx119.com/?p=147

JotSpot 進化:Google Sites 正式上線

http://mmdays.com/2008/02/28/google-sites/

FOSDEM - 開源碼開發者歐洲會議

http://mmdays.com/2008/02/29/fosdem/

三月六日蘋果早餐發報會

http://www.macgrass.com/permalink/2080

gjournal 與 UFS snapshot

http://jnlin.org/2008/02/28/272/

蘋果膽敢打斷Firefox的腳骨?

http://fred.ipod.to/blog/?post;1427

Undocumented API 才是王道

http://blog.ijliao.info/archives/2008/02/29/3509/

GNUWin32

http://blog.ijliao.info/archives/2008/02/25/3505/

KillCopy、TeraCopy、FastCopy

http://blog.ijliao.info/archives/2008/02/27/3507/

Worst parents in the world punk kid into thinking he got an Xbox 360

http://0rz.tw/6b3Km

Development Release: Dreamlinux 3.0 RC1

http://distrowatch.com/?newsid=04773

Development Release: Kubuntu 8.04 Alpha "KDE4"

http://distrowatch.com/?newsid=04774

Distribution Release: Slax 6.0.1

http://distrowatch.com/?newsid=04775

Firefox 3 Performance Numbers

http://ajaxian.com/archives/firefox-3-performance-numbers

iPhone software development to be locked down by Apple?

http://0rz.tw/cf3Hn

Curved iMac concept bends beyond the realm of plausibility

http://0rz.tw/893Iz

Time Capsule first impressions

http://www.engadget.com/2008/02/29/time-capsule-first-impressions/

Easy 1.1.4 jailbreaking with iNdependence, Ziphone, and... iTunes?

http://0rz.tw/7c3Gu

Why hasn't anyone hacked the Kindle?

http://www.engadget.com/2008/02/28/why-hasnt-anyone-hacked-the-kindle/

Android gets handled, now with Street View

http://www.engadget.com/2008/02/28/android-gets-handled-now-with-street-view/

Apple MacBook Pro (with Penryn and multi-touch) unboxing

http://0rz.tw/4d3Jr

Apple MacBook Pro Penryn tests: a little more speed, a lot less heat

http://0rz.tw/b43Hi

MacBook Air patent is mocking you

http://www.engadget.com/2008/02/28/macbook-air-patent-is-mocking-you/

Pressed uniforms, mid-winter tans, and morale

http://www.joelonsoftware.com/items/2008/02/28.html

New MacBook Pros get dissected, look like old MacBook Pros

http://0rz.tw/f83Kn

E-book concept combines leather and multi-touch

http://0rz.tw/da3Jg

Everex Cloudbook teardown bares all

http://www.engadget.com/2008/02/27/everex-cloudbook-teardown-bares-all/

Linpus rolls out Linux-based OS aimed at low-cost laptops / UMPCs

http://0rz.tw/4b3H3

Sony exec sees Eee-like PCs as having potentially negative impact on industry

http://0rz.tw/483I6

Apple COO says it's not married to iPhone exclusivity, still on track to sell
10m this year

http://0rz.tw/d03Ht

Ubuntu Mobile takes on Apple touch interface

http://www.electronista.com/articles/08/02/26/ubuntu.mobile/

New MacBook Pro takes a dive on battery life? Well, no

http://www.news.com/8301-10784_3-9879648-7.html

Apple's 45nm Refresh: New MacBook & MacBook Pro

http://www.anandtech.com/mac/showdoc.aspx?i=3246

Review: MacBook Air

http://osnews.com/story/19408/Review-MacBook-Air

Use Kaffeine to receive free-to-air TV on your Linux box

http://www.linux.com/feature/127800

Using "shred" to Securely Delete Files

http://0rz.tw/4c3GC

Improve security with polyinstantiation

http://www.ibm.com/developerworks/linux/library/l-polyinstantiation/

Better Linux Sound Management With ALSA

http://www.linuxplanet.com/linuxplanet/tutorials/6465/1/

Extending Ubuntu's Battery Life

http://www.phoronix.com/scan.php?page=article&item=ubuntu_battery_life&num=1

End Software Patents project comes out swinging

http://www.linux.com/feature/128110

Build Web services with transport-level security using Rational Application
Developer V7, Part 2: Configure HTTP basic authentication

http://www.ibm.com/developerworks/edu/ws-dw-ws-radsecurity2.html

2008黑膠文藝復興運動

http://pulp.bluecircus.net/archives/011115.html

黑膠講座 - 黑膠 In Rainbows

http://pulp.bluecircus.net/archives/011119.html

黑膠電影院 - 失戀排行榜 High Fidelity

http://pulp.bluecircus.net/archives/011120.html

誠品黑膠展專題:靴腿與翻版唱片

http://blog.roodo.com/honeypie/archives/5613961.html