星期五, 5月 11, 2007

建立jffs2 root file system

轉載自http://blog.bs2.to/bluestorm

JFFS2 全名是Journalling Flash File System Version 2, 其功能就是在管理MTD裝置上所實作的日誌型檔案系統.
相較於其他Flash儲存方案, JFFS2並沒有提供讓傳統檔案系統也可以使用Flash的轉譯層(translation layer).它只會直接在MTD裝置上實做日誌結構的檔案系統. JFFS2會在mount的時候, 掃瞄MTD裝置的日誌內容, 並在RAM中重新建立檔案系統結構本身.

JFFS2的特性,
1, 其斷電可靠度,.
2, 在MTD裝置上實做耗損平衡(wear leveling). 可以確保flash 上所有的區塊具有一致的使用率, 因此可以平衡每個區塊的損耗程度.
3, 在MTD裝置上實做資料壓縮(data compression). 除了節省空間外, 在使用資料前先將它解壓到RAM上.不過, jffs2不能使用XIP(就地執行eXecute In Place).
4, 有實做垃圾收集(garbage collection). 它可以確保你的應用程式不會成長到到埴滿整個檔案系統.也就是寫入前會先檢查檔案系統的可用空間

如何建立jffs2 root file system.

我們在flash 中規劃了一塊32MB的區塊, 想要建構一個大約有2MB資料, 其他30MB可以自由讀寫的檔案系統.
請注意, 雖然我們在driver裡規劃32MB的flash 區塊, 但是我們如果做了一個2MB的jffs2 root file system image, 燒入flash後,能使用的空間仍然是2MB, 而非32MB, 另外的30MB就浪費掉了.

1,假設我們巳經有一個rootfs的資料夾裡, 巳經放好檔案系統了.
2, 把想要增減的檔案或資料夾, 就從rootfs裡加入或移除.
3,用mkfs.jffs2來製作jffs2的image.(一般全部安裝的linux distribution都會有這個命令)

mkfs.jffs2 -r rootfs -o rootfs.jffs2 -e 0x40000 --pad=0x02000000

(1) -r : 指定我們要做image的來源資料夾.
(2) -o : 指定我們要輸出的image檔案的檔名.
(3) -e : 每一塊要抹除的block size. 預設是64KB. 因為較舊的flash, 其block size會不一樣. 要注意.
(4) --pad : 用16進位來表示所要輸出檔案的大小. 也就是root.jffs2的size. 很重要的是, 為了不浪費flash空間, 這個值最好符合flash driver所規劃的區塊大小.以我們的例子來說, 就是32MB.

4, 不同於一般磁碟檔案系統, 無法使用mount -o loop .....命令在loopback裝置上mount jffs2. 必須從真正的MTD裝置來mount jffs2.不然就要使用jffs2reader來檢視image檔的內容.(註, jffs2reader我沒有成功使用過).
5, 若是使用NFS的話, 可以透過網路遠端mount這個image檔案.

google code prettify

http://code.google.com/p/google-code-prettify/downloads/list


<link href="prettify.css" type="text/css" rel="stylesheet">

<script src="prettify.js" type="text/javascript"></script>

星期四, 5月 10, 2007


xdvcfsdfcsdfsdfsdfsdfSdfsdfsdf




xdvcfsdfcsdf
sdfsdfsdf
Sdfsdfsdf


DFDFSDFSD

FASFASDF

ASFSADFSAF

ASDFSDFDASFASF



DSA

FSDAFSD

test


efrsfs
df
sdf
sd
fsdfsdf

test



星期三, 5月 09, 2007

於JSP環境下MS SQL 2005連接程式碼


Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

String connectionUrl = "jdbc:sqlserver://127.0.0.1:1234;database=DataBaseName;

user=ID;password=PWD";Connection con = DriverManager.getConnection(connectionUrl);

啟用SQL Server驗證登入

在SQL Server Management Studio中,創建SQL Server驗證使用者,並選擇資料庫。在這邊建議勿使用懶人密碼,否則其安全性將會大大降低。

而在伺服器屬性中,要啟動混合驗證模式,在這選取SQL Server 及 Windows 驗證模式選項。

Posted by Picasa

MS SQL 2005 TCP/IP無法連線錯誤解決方法〈下〉

接下來切過去[IP位址]部份,將localhost的IP啟用。

並記下動態通訊埠,將只埠位址寫進連結中。

Posted by Picasa

MS SQL 2005 TCP/IP無法連線錯誤解決方法〈上〉

首先至 >組態工具/SQL Server組態管理員,選擇SQL 網路組態/SQL 通訊協定。

其中有一項為TCP/IP,預設為停用。

進入將它啟動,完成初步TCP/IP啟動。

Posted by Picasa

程式碼上色功能

於Blog中使用程式碼區塊功能

於Blog的樣板中,在CSS中插入以下CSS碼
CODE {
display: block;
/* fixes a strange ie margin bug */ font-family: Courier New;
font-size: 8pt;
overflow:auto;
background: #f0f0f0 url(http://klcintw.images.googlepages.com/Code_BG.gif) left top repeat-y;
border: 1px solid #ccc; padding: 10px 10px 10px 21px; max-height:200px;
line-height: 1.2em;
}


在文章中將程式碼置於<code></cdoe>區塊中即可,如:
<code>
.comment-body-author {
margin:0;
padding:0 0 0 20px;
background-color:#C0C0C0;
}</code>

星期二, 5月 08, 2007

安裝mkfs.jffs2

http://www.microtime.com.tw/document/Linux%20for%20Creator-EPXA1%20User%20Guide.pdf#search=%22mkfs.jffs2%22

(1)安裝
cvs -d :pserver:anoncvs@cvs.infradead.org:/home/cvs login(password: anoncvs)
cvs -d :pserver:anoncvs@cvs.infradead.org:/home/cvs co mtd

cvs在目錄下建立mtd的目錄
mtd/util 之中有mkfs.jffs2.c
這檔案為了產生mkfs.jffs2,我們必須編譯......

How to compile?

cd ~/sh-linux/utils/jffs2_utils/
make cleanmake
cp mkfs.jffs /sbin

如果compile過不了,這裡有現成的bin可以下載
http://sources.redhat.com/jffs2/
最後複製到/sbin目錄下
cp /mtd/mkfs.jffs2 /sbin

(2)建立mkfs.jffs2檔案系統

mkfs.jffs2 -r DIR -o jffs2.image

(jffs2.imag是我們要輸出的檔案名稱)
(參數 -r 跟 -d 都是root dir的意思)

# ./mkfs.jffs2 -d /usr/src/linux/fs/jffs2 -o jffs2test.img

爾後我們可以將此image掛載上去

# cp jffs2test.img /dev/mtd0

(3)mount
mount -t jffs2 /dev/mtdblock0 /mnt/xxx
xxx為自行建立的新資料夾
目錄有掛載就要卸載,umount可以卸載
我們可以在裡面讀寫檔案測試
卸載後應該就看不見了

星期五, 5月 04, 2007

Busybox錯誤訊息[applets]

$ make 會遇到

applets/applets.c:20:2: error: #warning Static linking against glibc produces buggy executables
applets/applets.c:21:2: error: #warning (glibc does not cope well with ld --gc-sections).
applets/applets.c:22:2: error: #warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
applets/applets.c:23:2: error: #warning Note that glibc is unsuitable for static linking anyway.
applets/applets.c:24:2: error: #warning If you still want to do it, remove -Wl,--gc-sections
applets/applets.c:25:2: error: #warning from top-level Makefile and remove this warning.
make[1]: *** [applets/applets.o] Error 1
這個警告的定義在applets/applets.c中,將這段警告註釋掉就可以了。這段的意思就是告訴你最好用uclibc編譯,而不用glibc因為glibc比較大,busybox在寸土寸金的內嵌系統中運用比較多,所以會有這樣的要求。編輯 ~/applets/applets.c , 將警告註解掉即可 (第 20-25 行)
...
/*
#if ENABLE_STATIC && defined(__GLIBC__) && !defined(__UCLIBC__)
#warning Static linking against glibc produces buggy executables
#warning (glibc does not cope well with ld --gc-sections).
#warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
#warning Note that glibc is unsuitable for static linking anyway.
#warning If you still want to do it, remove -Wl,--gc-sections
#warning from top-level Makefile and remove this warning.
#endif
*/
...

星期六, 4月 28, 2007

如何使用JAVA來ALL PASS所有科目,把每樣東西都加密


剛要去下載J2SDK,就發現了這可愛的首頁。希望老師沒察覺出加密過後的內容^^
Posted by Picasa

星期二, 11月 28, 2006

教導學弟

真是有點煩腦,這幾天老師一直要我們帶學弟。但是我們的時間真的不太夠用了,剩下不到三個月,我們要試著忙著推甄的面試,考試,研討會與未結束的案子。

發現到,如果一下子太多事情要做,一時間做不完,心理總會掛念著。當忙著這件事時,卻又會想起另一件事也還沒做完。

或許頓悟的太慢,或許選錯了廠商,當初有太多太多的時間浪費在錯誤的地方。現在有時回想起來,還真的有點懊悔。那些是真的努力過,但也白費了(傳說中的白努力!?)。說真的,做的東西沒有老師、學長可以問,效率真的差很多。還蠻羨慕小C、可方與勞仔獸那組,有著不錯的資源與輔導。

大四,和不良一樣,為了專題辭掉打工。為了專題也翹了很多重要的課,也因如此那些課的成績並沒有達到自己的理想。感覺已為專題犧牲了好多好多,一年半了...現在讓我們自私ㄧ下,以三個月來為自己打算,想這不為過吧...但這段時間卻還是個更痛苦的考驗。許多的事壓縮在三個月內,人生的轉戾點也在這三個月之中。希望...希望一切順利!也祝跟我身邊一起努力的同學,可以有好的結果!讓我們一起熬過去!!

11月的太陽、冷風、閃電與颱風

11月了,昨日天空的閃電,真是漂亮,而通常這時候大家應該已經穿上厚厚的外套。且在冬天,應該也沒有颱風了,竟然來個冬季颱風!天氣也常常時寒時暖,也常常突然就下起了滂沱大雨。機車裡的雨衣一直佔著我車廂的位置。

也因為如此,感冒了...身邊的同學一一的感冒,而我也在從台南回高雄的路上,感冒了。雖然感冒,但是不知道為什麼,今天竟然可以撐著睏意,慢慢的看通訊系統,還去輔導程式設計的課程。

另一方面,自己學校的成績單總算收到了,之前沒收到,感覺大家比我還急一樣,天天問候我......的成績。後來發現我把"高雄市楠梓區"寫成了"高雄縣楠梓區"。難怪這麼久才來,哈哈。

在同學間的成績比較後,發現大概自己是正取了吧。但自己卻也不是很高興,因為必須要在23號決定是否放棄,但是其他學校卻要等到更後面的時間才知道呢。而如果是備取,可以等到27號再決定,真是好。

同實驗室的,算過了一下,也都正取了。但身邊的一些朋友可就緊張了,大家一直問來問去,深怕自己不是正取那位。但後來我也試著鼓勵他們可以用考的看看,雖然很難,但我們以後還能是同學!不太捨得跟大家分開...

希望他們加油了,也希望接下來的幾間學校也能順利...希望大家往後還能在當兩年(?)同學!

星期二, 11月 21, 2006

唱歌、烤肉、生日

連續兩天的玩樂,真是令我感到幸福與奢侈。朋友阿杜,就在11.20是他的生日。原本策劃很久,想為他慶生。誰知那天他生了病,就沒去上課,真是可惜。

後來當天晚上他找我門去通宵唱歌,於是便在好樂迪為他慶生了。K金就幫忙買了一個蛋糕,在播放康康的生日快樂那首歌時,就拿了進來。而在吃到一半時,不知怎麼了突然砸起蛋糕了!誰知道戰火持續蔓延,全部在場的都受到了波及。哪知在最氣氛最High的時候,鄭國華老師跟景漢還有宗慶以訪客身分出現了!!當下又是一個大戰XD

而今天(11.21)的烤肉,今日還是因為通宵唱歌的關係,睡過頭去準備。由於下午四點還要打工助教的課,一起床便衝衝忙忙,連午餐都沒吃就去鳥仔家準備切菜了。在切完時,由於時間快到,要去上課,便很捨不得的出發了。能夠這樣跟著同學忙著東西,一起分工合作,這感覺真是不錯!往後或許都能夠成為很好的回憶...

在上完課後,也趕著時間,載著泰勞仔同學回家拿吐司,然後趕著去烤肉。一到烤肉現場,真是有夠熱鬧的!我們也就加入了烤肉的行列,不過好像醃製的肉太鹹了(看來醃太久或是醬油太鹹吧),真是對不起大家了,下次我會好好的在訓練技術的~呵。不過這次能夠有20個人來參加,還真是多阿。難得大家會聚在一起辦活動,希望以後還有機會在一次!

而在結束時,則拿出了括鬍泡與繩子,慶祝阿杜的生日啦。不過為了綁他,還真是動用超多人力的,想不到他力氣也蠻大的阿。今天佳霖砸他時,他應該很爽吧~哈哈

最後想列出有參加這次烤肉活動的同學名單,好往後回憶!
================================================================
不良、白雪、黑豬、鳥仔、泰勞仔、小安、宗義、益毅、小璟、千惠、阿杜、K金、小K、胖胖、小C、可方、小白(以及他女友)、雞姐、佳霖還有我

最後祝阿杜生日快樂!

星期一, 11月 13, 2006

太多也不好....

今天高等工程數學期中考,由於之前把心放在專題上面,為了專題翹了兩堂課。但後來到其中考這段時間,又因專題、比賽、案子、推甄所忙,或許很充實吧。但感覺過了頭,結果是每個都不是達到自己所理想的狀況。當然今天的考試算是最大的犧牲了,不知道能不能過呢>"<

在這忙碌的幾天來,又抽了一天特地回去幫親戚修電腦。今天早早就準備好,原打算趁電腦在重灌的時候,去買一直沒時間買的襯衫跟西裝褲以及皮鞋。誰知道剛好親戚他們有事,到台南時已經九點多了。看來又要另花時間去買衣服了...

今天在修好電腦的回程上,跟姑丈聊了許多他的"人生經驗"吧。其中我也說出了我目前的憂慮與看法,但他的感覺是我想的太多,過早煩惱。這問題我也注意到了,但是好像要我不擔心往後的事情,真的有點難。

但我覺得還是要試著努力去改變,因我發覺,憂慮的太多、想的太多反而會使一個人的行動力下降,我應該培養的是一個深思熟慮後,果斷且有自主性的想法與做法。只有深思熟慮,卻不付諸實行,這就表示了想法還不夠成熟,沒考慮到了當下,導致計畫一直在構思。

或許該學學豬豬或勞仔獸的想到啥就做啥的想法,這是他們的特點,也是我應該學習的地方!

(PS.誰知道後來電腦挑片,我只好另用辦法讓那已關閉封鎖快顯,卻還是不會彈跳視窗的故障IE以另一種瀏覽器開啟,注定今天不能買西裝>"<)