不管是玄箱,還是 LinkStation,或甚至是 NAS-01G,這些產品都已經問世有好幾年的歷史,但規格上卻一直沒有很明顯的改變(當然高階 nas 的規格也可以很嚇人),不像個人電腦每隔半年一年就汰舊換新。
玄箱這東西,說穿了是個跟這幾年很流行的一個名詞所產生的產物,「內嵌式系統」即使不是念本科系的,也應該都聽過這個名詞,因為內嵌式系統早已融入我們日常生活,甚至多數人已經正在使用內嵌式系統所帶來的便利性而不自知。
儲存設備是在電腦周邊裡比較不會退流行的設備,只要速度不太慢,使用上也夠方便,大都可以跟電腦系統切開來,儲存歸儲存,這也是為何小弟只要有機會,就會收購中古玄箱的原因,而且玄箱的作業系統就是 linux,活用的彈性相對就很大,效能也不差。(會不會就因為對多數人來說 linux 不好學,但 linux 又可以做到很多功能,所以才叫「玄」箱」?)
小弟是 linux 肉腳,設定也都是看網路上一步一步照著做的,所以在這篇小弟並不會介紹關於玄箱 linux 系統的設定方式,這個部分已經有人分享過了,話說小弟現在只要在 debian 想更新核心至 2.6,玄箱就會變成無法開機,有沒有人可以救救小弟啊,超想用 nfs 的,現在只要做 apt-get update,都會自動以新版的套件來更新,不得不把核心更新到 2.6,但問題多多啊。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-e3b46db14bfa1b9c25aaa6e7d91a4bd3.jpg)
這是玄箱的包裝盒,當然不是全新的。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-a222cfbcaa9a93799c0141447b1baf88.jpg)
就如同 Toro 的好朋友 Kuro 一樣,都可以叫小黑。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-0b4aaeb7e92eb053eea448d90321cf61.jpg)
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-571e48cc9c4a3e4fd92a39cf26b22bd0.jpg)
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-dd86411b0c7e9323882fbfa215590772.jpg)
產品的外觀就如同印在上面的名稱一樣,黑盒子。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-f187cfa86f377ae6c7e7d6d642d5c11c.jpg)
正面的樣子,相信大多數人都知道面板是鏡面的,但卻又捨不得把那張藍色的膜給撕掉。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-cd32f75d5fa3a9de91a6a30d2c419356.jpg)
機殼的背面,有散熱孔、Reset 按鍵、網路線插槽與 USB。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-62f72dc47eef206e1172297186d2ce46.jpg)
外殼拆開的樣子,第一個看到的就是機板。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-438ca078c9fd4c58c786fca1c20c7256.jpg)
把機板整個翻開來看,這就是玄箱的內部所有構造,看不出來那裡玄對吧?
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-43ce4cfeab9c8775fdb2a0c426be2d17.jpg)
將每個元件都拆解。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-c68be393a58c2ab7ead615bc5f94b931.jpg)
這個是玄箱的電力來源,交換式電源供應器,一樣可提供 5v 跟 12v 的電壓,但沒辦法像一般桌機用的提供大功率輸出。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-4d742588b2083d70f4a51a81e51b735d.jpg)
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-4fabd6c18fb0e149a493d7fafb12449c.jpg)
這個看起來像八爪魚的是電源線與散熱風扇。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-678e472c6df59c6dc5e5b3a652d72889.jpg)
玄箱所採用的風扇是 ADDA 這家的,算是好料的風扇。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-097ce25360cb1136948b57893e638cb6.jpg)
小弟的習慣是,買來的中古玄箱,都會自行把風扇給換新,因為不知道前一個使用者是怎麼操玄箱的,不想等噪音出現時才來換風扇。這個 ADDA 的風扇,講起來還真的是不便宜,也不是挺好買到,那麼,可以自己更換同規格其他品牌的風扇嗎?答案當然是可以的,小弟也有換過一般同規格的風扇,一比較之後就馬上知道為何 ADDA 的風扇比較優,這筆錢是省不得的。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-180b98ab03a41e5badd67fded54d437e.jpg)
接下來看看機板。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-b1c489e370043161af2cf80528664154.jpg)
這顆四四方方的就是玄箱的核心,也就是 CPU,這顆是 Motorola 的 MPC8241,是 PowerPC 的一種,使用精簡指令集,早期的蘋果電腦曾經擁護 PowerPC 很長一段時間,工作時脈為 266MHz,應該不會有人以為只有 x86 系列才叫做 CPU 吧?左上角那一顆是 DRAM,ELPIDA 的記憶體也算是名牌。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-db12daba90d74d37a237c198ebcb3816.jpg)
上方 USB 插槽的右邊黑黑的是網路線接頭,中間那個台達的 IC 是網路轉換模組。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-01019acaed874df50d66c6c5bae94af4.jpg)
這顆 AMTEL 的晶片小弟認為在玄箱中扮演的重要性僅次於上面講的 MPC8241,這晶片本身就是一個單晶片,負責玄箱所有的燈號與按鍵的控制,玄箱的電源開機與關機,也是由這晶片來負責,也有看門狗計時器,隨時監控玄箱的狀態,風扇的轉速也由他控制,MPC8241 內建兩組 UART,其中一組就專門與這晶片進行溝通。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-e749ad00ff927e8b32c2c103ecc42d14.jpg)
這個是 IDE 控制晶片,當然就是接硬碟用的,不過資料手冊中並沒有描述支援硬碟容量的上限。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-3ff7383be1fc9c51912e6995e672ca0f.jpg)
這是機板的背面。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-ba047b9892b3a361fe987c2f08b566dc.jpg)
右上方那個大家應該都很熟啦,就是俗稱的螃蟹卡,支援到 giga 速度。左下方的是早期號稱最穩定速度最快的 USB 2.0 控制晶片,由 NEC 製造。左上方的是 flash 記憶體,容量為 4MBytes,玄箱的開機程序與基本的 linux 核心都存在這裡。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-72ea9c7eba8d4fc2661c8ccf2fa8f70e.jpg)
各位有沒有看到?機板上寫著大大的 Buffalo 字樣,這還不打緊,原來玄箱跟 LinkStation 都是台灣製造的啊。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-a48f8d02ba3521efd9d8862935a13bbd.jpg)
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-2aaa52cc934bac3ed4538a54111d08fb.jpg)
來介紹另一個給玄箱用的配件。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-44e67bc2f2f7c906a3efd5531e5e8029.jpg)
這東西叫 Kuro-SATA,就是可以讓玄箱也可以安裝目前一般 SATA 硬碟的轉接卡。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-e27eb1a724bee0bfecdef19edf240f16.jpg)
因為玄箱已經行之有年,所以設計是使用 IDE 規格的硬碟,但現在幾乎是 SATA 硬碟的天下,同樣價錢下,SATA 硬碟可以買到 IDE 兩倍容量,所以才推出這樣的轉卡。如果不想這樣轉接的話,就得採購更高階的 Kuro Box Pro,就是內建 SATA 介面,但價位不討喜。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-f1d31e2014ebcc7394b23621dfad1afe.jpg)
裡面的手冊就一張紙,主要就是說明如何安裝。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-a8b1ae5e89fd757ae276e18a8ee154ea.jpg)
轉卡本體,相信市面上找不到如此設計的轉接卡。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-9fdf4813ff36d68372e87aa6f42dbc6c.jpg)
因為玄箱就這麼小一台,內部空間更是幾乎設計得剛剛好,市面上所有轉卡應該都不適用於玄箱。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-2c0d13c2c03449033a192e04e69b439c.jpg)
SATA 接頭與 IDE 接頭跟我們一般常見到的轉卡方向是不一致的。另外有沒有發現,連轉卡都是台灣製造的。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-81a2e788994465d8f9fd0dbb12561ef5.jpg)
這個晶片就是專門負責 IDE 與 SATA 轉換,SATA 可支援 1.5G 與 3G SATA 規格,同樣地,晶片的技術資料都沒有說明可支援的硬碟容量上限。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-c66c263b19ce5d73076d1521bb95d347.jpg)
這是另一個順便入手的東西,Hitachi SATA 1TB 硬碟。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-ed3411c02d22bdbd3f4833c41c50b9fb.jpg)
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-efea16cfbdb13e94aac16819360e5602.jpg)
製造日期為今年四月,上面也提到此硬碟的耗電量為 10.5W,算省電的硬碟。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-44e6d2bf1e52fee7c823612df742ef06.jpg)
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-838b1a452201c6724018e27179104c16.jpg)
再來就要把這顆 Hitachi 1TB 的硬碟安裝到玄箱裡了。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-aba6b6fd03e41695ef6a37605892d44a.jpg)
SATA 端的接頭先安裝至硬碟。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-03e1753dacf0fb5e0c2e7b80fb1bd2fe.jpg)
其實要先把硬碟鎖在硬碟架上啦。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-0406b22c7a343ca38c073d803fdb6ab5.jpg)
當大家看到這篇文時,小弟已經把這顆硬碟給退貨了,因為這顆硬碟裝在玄箱中,運轉時玄箱會整台轟轟叫,震動很大,連 ADDA 的散熱風扇都比硬碟小聲。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-8a164cddb3e29e84c4d76e7a6009f074.jpg)
看到的應該是像這樣子。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-b10c6aac7715ca87d339dedda849f88e.jpg)
把硬碟架裝到玄箱中。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-31d3f963618fc09fa7047727b3757116.jpg)
硬碟電源線的部份。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-ec1109cbf0fc8d7c64049c79b3a64ea2.jpg)
看到這張,應該就可以知道為何這張轉卡的設計是兩種不同介面以 90 度方式呈現。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-17068f4358bdb2a6c005af34a072208a.jpg)
小弟最後是把排線折成這個樣子,是不是都設計地剛剛好?
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-f3e2dec8e3f584f417094780f9bae650.jpg)
這是機板電源部分,風扇與硬碟的電源都是從這裡分接出去的。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-d543f1c68701b411bf8fd4ade8baf634.jpg)
這是開機的樣子,LINK/ACT 亮藍燈表示目前是 giga 的速度。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-5ee029566eb84c0b87180761601766a4.jpg)
亮綠燈表示 100Mb 的速度。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-91a89239a52af164a5dd786e20bbf986.jpg)
亮紅燈就是最遜的,10Mb 的速度。
接下來小弟要來製作 jtag 線,有玩 ARM 或是其他內嵌系統的,應該都聽過 jtag 這個東西,jtag 這個介面已經有快二十年歷史了,主要是應用於晶片本身(晶片外部裝置也可以)的 debug 與監控晶片狀態,現在的應用也越來越多,包括下面會提到的 flash 燒錄。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-7b24185631eedeea84332b5348847a48.jpg)
要製作 jtag 線,只需要這幾個零件即可,會用烙鐵的人應該都可以很順利完成。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-9c5a363c7f170e011b0ba46de08dd084.jpg)
小弟用烙鐵的技巧很兩光,所以焊成這副德性。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-8a37f0be1c37f7e98f7d30e5b2515810.jpg)
不知道有沒有人想過,jtag 本身已經是個介面了,那為何最後是做成並列埠的樣子?原因很簡單,因為既省錢又可以達到目的,小弟認為並列埠可衍生出的應用並不會比串列埠要少,並列埠一組 8-bit 的 data bus,與其他一些控制點,所以就可以很容易藉由軟體寫作的技巧,自行把並列埠規劃成相容其他標準介面。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-aeb911efa14b6c32b0a9877aa368a35d.jpg)
這是最後完成的樣子,有蓋子蓋起來,別人就不知道裡面焊得有多爛。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-6610e0985fc49e0591f79fa2184cba24.jpg)
在玄箱的機板上,要焊上 2x8 的接腳,R67 這個點也要給他短路,這樣才可以從這個介面提供 3.3v 的電源給剛做好的線材。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-600ab40df1da4c0c7fd519a605b3052b.jpg)
線接上去的樣子,並列埠就接到桌機上,執行 jtag tool,並搭配玄箱適合的 bootloader 或 linux 核心,燒錄完後玄箱就有如換血一般。使用玄箱的過程中會接觸到 jtag,大都是想自行在 linux 系統中更新軔體不幸失敗,就如同我們桌機更新 bios 失敗一樣,電腦是開不了機的。
小弟目前是有自行更新了較新版的 U-Boot 與 kernel,那麼用這個 jtag 燒錄 flash 速度如何呢?小弟只能說,不是有夠慢而已,是慢到想殺人,讀取 flash 的速度大約是 312bytes/sec,寫入 flash 的速度大約是 36.14bytes/sec,各位沒有看錯,單位是「bytes」,所以小弟更新一個約 2.6MB 的 kernel 要多久?光是燒錄的時間就要 21 個小時左右,而且燒錄完還要做 verify 的動作,這個部分要兩個半小時左右,所以燒錄個新核心,總共需要 23.5 個小時,要命吶!
市面上當然有較高速的 USB jtag 介面可購買,但價錢也是不討喜,如果只是為了要燒錄玄箱的 flash 買一組也是根本划不來,所以只能使用低成本的 Parallel jtag 來達到同樣的目的。
上面說的使用 Kuro-SATA 搭配 Hitachi 1TB 的硬碟,玄箱當然是可以抓到全部的容量,若不是這顆硬碟的震動太大,不然也不會想退貨。
下一次小弟會加入 serial port 的心得,讓玄箱可以不藉由網路連入方式,使用 console 的方式來直接與玄箱做溝通,當然要先測試成功啦。
2009/6/15 新增
下面要介紹的是讓玄箱可以用「本機登入」的方式來操作玄箱,什麼叫「本機登入」?大家每天使用個人電腦的習慣就是一種本機操作的作法,互動式設備(泛指螢幕、鍵盤、滑鼠等設備)就直接連結在電腦主機上,透過鍵盤與滑鼠輸入裝置,主機經過一些運算的結果,就會由螢幕輸出。
當在使用玄箱時,不管是在 EM mode 或是進入已安裝好的系統,都要先等 Power 燈號不再閃爍,表示玄箱已開機完成,再由另一台電腦,通常是以網路連線的方式,telnet 或 ssh 登入至玄箱中,這種方式就稱為「遠端登入」,也可以說遠端控制、遠端遙控之類的。
如果玄箱的系統本身是沒有問題的,當然就不用去在意到底是要「本機登入」還是「遠端登入」,因為結果都是一樣可以用的。
有安裝過 linux 的朋友(不管哪一家的),應該都會發現,在開機程序時,螢幕是全文字畫面,然後會顯示一大堆看不懂的英文,最後才出現提示輸入帳號與密碼的文字。
重點就是在於那些看不懂的訊息,這些訊息包含了 linux 載入核心的過程、驅動了那些硬體裝置、mount 了那些磁碟、啟動了那些服務,甚至在進入系統後,網路的連線有異動或是有 usb 裝置熱插拔,系統都會自動顯示相關訊息,因為玄箱也是 linux 系統,所以當然也會有這些資訊,多數人都是使用遠端連線的方式登入玄箱操作,自然就不曾看到這些訊息。
這下有個問題來了,我們每天在用的個人電腦,會接上螢幕滑鼠鍵盤,一直都認為這是很天經地義的事情,但玄箱能夠與外界溝通的,就只有一個網路接頭,玄箱又沒辦法像個人電腦一樣接上螢幕滑鼠鍵盤,哪有可能做到本機登入這回事您說是吧?要是哪一天玄箱的系統出了問題,進不了系統,就沒辦法遠端連線,我們使用者就會跟瞎了眼一樣,玄箱的狀態完全無法得知,然後最後通常都會有一個結論,就是「玄箱壞了」,但其實這個結論還下的太早。
玄箱提供了一個 console 連線,其實正確地來說應該是玄箱的 bootloader 在啟動時就會同時驅動 MPC8241 的 UART0,以 RS-232 的傳輸協定,可以將玄箱的所有狀態,藉由 UART0 傳輸出去,如果另一台電腦有執行終端機程式,這時這個終端機程式就可視為玄箱的螢幕與鍵盤了,也同等於本機操作的效果。
要把玄箱的 console 接出來,還要先製作一些電路才可使用,請各位接著看下去。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-b61bc4b5e527cd3b4e787835e05e2a72.jpg)
這是一個很基本 RS-232 訊號的轉換電路,網路上隨便都可以找到一狗票相關的電路圖,使用的 IC 是 MAX3232,跟 MAX232 是一樣的東西,只是差別在 MAX3232 本身使用 3.3v 的電壓就可以驅動。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-5a5f0eea6de5eadd42a13004fda58454.jpg)
這是背面的樣子,左邊的接頭將會接到玄箱的機板上,右邊的接頭會延伸成 RS-232 的接頭。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-e53b0cf6cc651867c3e5cfb38809f725.jpg)
這是另一個版本的板子,主要差別就是這個是使用電解電容,上面那個是使用陶瓷電容,結果可想而知,電解電容這麼大顆,根本無法塞進玄箱裡。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-c089f870425aeb013c183b6c046393b6.jpg)
MAX3232 的手冊裡是說,要使用有極性的電解電容,但實際上使用無極性的陶瓷電容也可以。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-227f4a532991422dc219fe2adf2873d5.jpg)
這是 RS-232 的接頭,從轉接板接出來。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-150e94d21e4d6827b714cc76b60f2242.jpg)
先與轉接板合體一下。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-10059e0401819f2460cb197f2d5c16a0.jpg)
這時出現了電鑽與銼刀,話說這兩樣原本是小弟做鋼普拉用的工具,沒想到現在會派上用場。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-771e75a6dbda441cdbc2aa2484528ec7.jpg)
為的就是要把玄箱的背板開一個大洞。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-abe2713c7f85a468a3d097ca9c8888fb.jpg)
剛好沒有把網路卡號給破壞。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-cc0ac79ba2c580fb38fbd35ddd083d90.jpg)
目的就是為了把 RS-232 的接頭給固定住。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-45f778d5d595a0219dd20bd001dce49e.jpg)
背面鎖上去的樣子。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-a17880b67510d3ae9fd0593c3882a8e7.jpg)
背板正面的樣子,看起來還挺像一回事的對吧?
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-fc3874de8d5265296724d1e8f0d8fbfc.jpg)
再來就要看看機板了,要自己焊上這四支腳的針座,這四根就是 console 的引出線路,R76 要給他短路,這樣才可以在終端機程式裡使用鍵盤輸入,如果 R76 沒有短路也是可以看到玄箱的狀態,但就只能看不能輸入。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-61d4c852aed4bf84d156d288b6693bbd.jpg)
最後全部接起來會像這個樣子,因為這個端子其中有一個針腳就有提供 3.3v 的電壓,這也是為什麼轉換 IC 要用 MAX3232。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-9c62861d694559aaf7b357b19d0fa596.jpg)
確定 RS-232 背面的每一個線路都不會跟下面的電源供應器有接觸到的機會,不然的話就精采了。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-1fd391a84413f8a16e733468d3d3cce1.jpg)
玄箱的外觀看起來沒什麼改變。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-d5da40777c9ad68dba5cd6e65e4e6d07.jpg)
後面多了個 RS-232 的接頭,不知道為何看起來還滿屌的。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-659a19af0688528c21b3e581a0a98201.jpg)
再來要準備一條 RS-232 的傳輸線(要跳線),右邊的是 USB 轉 232 的線,因小弟都使用筆記型電腦,所以會需要,一般桌機就免了。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-a67084e36b635a70824417f7db1d86cb.jpg)
最後全部連線起來的樣子。
在前面有提過,MPC8241 這個 CPU 已經有內建兩組 UART,其中 UART0 就是拿來作 console 用途,另外一個 UART1 則是拿來與 AVR 晶片(就是上面有介紹過那顆 Amtel 的晶片)作溝通。
到這邊,只不過是要讓玄箱可以 console 連線的事前工作罷了,原先就是把線都從玄箱的縫隙拉出來,用是可以用,就線路會拉的亂七八糟,所以最後才決定乾脆在背板開一個洞,直接把 RS-232 接頭給鎖上去。
好,事前工作都好了,各位應該都還是很好奇,玄箱拉 console 到底能幹些什麼事情,小弟下面會貼一些裁圖,作些簡單的說明,使用遠端連線的都是看不到的喔。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-79d0549dcd9417f6b7669501e334615c.png)
各位看到的這個畫面,小弟已經將玄箱的 bootloader 更改為 U-Boot,這個就是玄箱的開機畫面,U-Boot 的功能相當多,小弟在此先不介紹 U-Boot,在畫面下方則是 U-Boot 提供的一個功能,可以中止玄箱的開機程序。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-c20998eb5892faf85e652345a92792af.png)
這個則是正常的開機程序,第一行 Booting image at ffc00000,這個 0xffc00000,對於 CPU 來講,表示的就是一個記憶體位置,而這個記憶體位置,指的就是已經在 flash 記憶體內的 linux 核心。如果 bootloader 還是使用玄箱裡預設內建的,就不會有上一個畫面,而是直接從這個畫面開始。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-b7205b50437ddfb333f98df61fc8e8c5.png)
這樣的畫面對於 linux 的使用者來說再熟悉不過了,硬碟的狀態,網路的狀態都一覽無遺。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-b3d30934cad95955ac1b72198386326e.png)
這個畫面有一個重點,小弟在硬碟裡安裝的是 2.6.25.1 核心,但是玄箱本身 flash 的是 2.4.17_mv121 核心,上面也有提到,玄箱是從記憶體位置 0xffc00000 開機的,照理來說,開機後應該是 2.4.17_mv121 的核心,這個部分就是 2.4.17_mv121 核心的功能,原先的開機程序即將完成時,卻發現在硬碟中有 vmlinux.bin 這個檔,這時就會重新導向改由這個核心重新開機,最後開機完成,就是 2.6.25.1 的核心,所以玄箱開機會變成兩倍時間,由 console 就可以得知為什麼了。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-e074319375d970014e22499b874c94f7.png)
通常較新版的核心,都會提供較多的功能,所以開機過程的訊息比舊核心還要多。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-13a8fe6af2ca822cc512af09550544c3.png)
這個畫面就表示已開機完成,中間的部份 Starting 開頭的就是啟動了那些服務。最下方的 ttyS0 就表示現在是要本機登入了。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-289fc720f6ff3a0e0e5ee70c6fdd4e53.png)
這是用 PieTTY 連線的畫面,用 ps 指令看一下狀態,TTY 那一欄顯示 pts 就表示現在是以遠端連線方式。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-c656d52040a0ec57dabb80ff744be881.png)
不信的話再到終端機程式看一看,TTY 那一欄顯示 ttyS0 就表示本機登入。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-5fcebe560ebacaeb98422b3922c54ee3.png)
如果同時本機登入與遠端登入呢?那就是會同時顯示 tty 與 pts。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-1acbfda85460389b04ea66448b412a03.png)
這是稍微惡搞,同時開啟了五個遠端連線,所以會顯示 pts0 ~ pts4 的編號。
看到這邊,不知道各位是否可以感受到使用 console 所帶來的好處,小弟再舉一個例子,在作玄箱的網路設定時,大家應該都有過這樣的經驗,把玄箱的 ip 設定好了,可是卻忘記在 /etc/hosts.allow 作開放的動作,這時就會做出自己的玄箱自己卻無法遠端登入的蠢事,就要重新進入 EM mode,手動編輯 hosts.allow,接下來,啥?!vi 不會用怎麼辦?只好把 hda1 重新格式化,重新把別人做好的 debian 給解 tar,一切重新來過。
小弟在本文一開始時,提到升級至 2.6 版的核心會造成玄箱掛掉的情況,小弟也藉由 console 顯示的訊息,看到了玄箱掛掉的那一行訊息,雖然不是很瞭解為什麼會發生,但總是有個訊息可以參考。
下一次,小弟會分享已經升級成功的 debian etch,核心升級的問題,過去已經困擾小弟很久,現在已經解決了大部分問題,目前小弟正快樂使用 2.6.25.1 的核心,小弟一直很想使用的 nfs 服務也已經正常掛載使用中。
2009/6/21 新增
這一次小弟要分享的是在玄箱上使用 debian 作業系統與核心版本會碰到的一些問題,小弟必須要再強調一下,小弟是 linux 白痴,很多資料都是從網路上找來的,所以觀念上小弟自知並不紮實,如果有小弟說錯的部份,歡迎大家指正。要不是希望把玄箱利用得好一點,小弟這輩子大概也不會這麼認真去學習 linux 了。
雖然本文主要還是介紹玄箱,現在這個第三部分的介紹卻要講作業系統,小弟相信接下來所講的並不一定只適用於玄箱,只要是使用 linux 的環境,很多觀念應該都可以通用,就請各位斟酌情況了。
大家都知道,在玄箱上使用的作業系統是 debian,小弟現在不討論為什麼玄箱使用 debian,而不用其他的 linux 作業系統?而是要來討論 debian 使用上會碰到的一些問題。
多數的玄箱使用者,只要會使用 apt-get 這個指令,就幾乎可以把自己所需要的套件給安裝好,讓玄箱發揮最大功能。但為何很經常聽到有人說原本好好的系統,現在想要更新卻不行了,很多套件都不能用了,甚至有的一更新後,玄箱就掛了?其實這麼多的問題,大都只有一個原因,就是「來源名單」已經不能使用了。
所謂的「來源名單」指的是 apt 的 sources.list 這個檔,裡面就是描述系統中需要的檔案放在那些網站,當指令下 apt-get install 或 apt-get update 時,系統就會依照名單裡所設定的伺服器去尋找套件來安裝或更新,那為什麼原本可以更新,現在卻不能更新?接下來我們就要先了解 debian 的版本。
就如同 windows 一樣,debian 也是有發行過很多版本的,目前最新的 windows 是 windows 7,debian 目前最新的是 6.0,下面的表先看一下:
發行狀況 | 代號 | 版本 |
woody | 3.0 | |
sarge | 3.1 | |
oldstable | etch | 4.0 |
stable | lenny | 5.0 |
testing | squeeze | 6.0 |
就像 windows vista,其實就是 windows nt 6.0 的意思,debian 也有為每個版本取名,所以當有人跟你說他使用 debian lenny,這時你應該就要馬上反應其實 lenny 就等於 5.0 版的意思,比較重要的是發行狀況的那個地方,是用一個比較籠統的名詞來代替真正的版本,像目前的「穩定版」,是等於 lenny,但目前「舊的穩定版」是 etch。在過去,etch 也曾是「穩定版」,sarge 也曾經是「穩定版」,就像大部分的軟體公司一樣,軟體隔一段時間就要改版,當然 debian 也不例外。
假設今天您的 sources.list 裡面寫著:
deb ftp://ftp.dti.ad.jp/pub/Linux/debian stable main contrib
那麼,裡面寫的 stable 到底是指 debian 的哪一個版本?答案是,看目前 debian 發行的「穩定版」是哪一版,如果是今天(指 2009/6/21),stable 就是 lenny,也就是 debian 5.0。如果是在去年,stable 就有可能是 etch,也就是 debian 4.0,在未來的不知道什麼時候,stable 指的就會是 squeeze 了。
所以這樣就會發生一個狀況,如果你的玄箱是好幾年前安裝設定好的,那個時候的穩定版是 woody,然後你在今天心血來潮想要更新一下系統的套件,也許下 apt-get update 時是會成功的,但是在更新套件時卻出現一堆的錯誤訊息,或者是更新後玄箱重開機就掛了,這是因為,以今天的日期來講,穩定版指的是 lenny,已不再是往年的 woody,所以就造成了你在舊版的作業系統上安裝了過於新版的套件,系統就會出現不穩定的情形,接下來會發生什麼事,也沒人說得準。
那如果說,把 sources.list 改成這樣:
deb ftp://ftp.dti.ad.jp/pub/Linux/debian woody main contrib
這樣子寫,當然是對的,我不希望我的系統一不小心就自動升級,所以我強制永遠使用 woody 這個版本,但是還要考慮到另一個問題,woody 這個版本已經太舊了啦,舊到所有的 mirror 都下線了,所以會發生當你下了 apt-get update 時,會顯示路徑找不到的錯誤訊息。
那這樣子怎麼辦?升級了系統有可能會掛掉,不升級我將來想安裝系統中沒有的套件也會變成無法安裝,這樣就變得兩難,升不升級,都會有問題。
先提供一下堅持不想升級作業系統的作法,雖然全世界的 mirror 網站都只保留比較最近的版本,真的要使用舊版本,還是可以的,因為還有這個網站可以使用:
http://archive.debian.org/
並把 sources.list 改為:
deb http://archive.debian.org/debian woody main contrib
這時你的玄箱又可以像以往一樣,可隨時更新,可隨時安裝套件了,只不過 archive 的網站數量很少,頻寬相對也較低,下載的速度比較慢,小弟是用比較暴力的作法,把 archive.debian.org 這個站 woody 的版本,powerpc 平台的套件給他全部下載回來,所有的套件都直接放在玄箱的硬碟中,sources.list 用這樣的寫法:
deb file:/mnt2/debs_woody/debian woody main contrib non-free
apt 的來源不限定是網站,也可以是本機的硬碟,這樣子,玄箱就永遠變成一台 woody 版本的作業系統,所有 apt-get 相關的指令也都可以正常使用,唯一的不同,就是網路連線變成本機檔案,所有的套件也都有,以後就不用再擔心版本升級的問題。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-751f2d6917f222dc0af49ec0310b86aa.png)
最後一行的 apt-get upgrade 零錯誤訊息應該是大家的夢想吧。
另外一個是升級作業系統的作法,網路上還可以下載到日本人做好的 sarge image,解開來玄箱就直接變成 sarge 作業系統,但是,sarge 版本也已經太舊了,各 mirror 站也都已經下線,安裝新套件肯定也是會出問題的,所以還是得想辦法升級到 etch 版本。
小弟從 sarge 升級至 etch 的方法如下(大家都用過玄箱,詳細步驟就沒寫了):
1. 從 http://www.genbako.com/ 下載 sarge 版的 source,直接解 tar,並重新開機。
2. 這一步可做可不做,從 http://www.genbako.com/ 下載最新的核心,並解開至對應的路徑中。
3. 把 sources.list 改成:
deb http://security.debian.org/ oldstable/updates main contrib non-free
deb ftp://opensource.nchc.org.tw/debian/ oldstable main contrib non-free
deb ftp://debian.linux.org.tw/debian/ oldstable main contrib non-free
deb-src ftp://opensource.nchc.org.tw/debian/ oldstable main contrib non-free
deb-src ftp://debian.linux.org.tw/debian/ oldstable main contrib non-free
4. 進行 update、upgrade、dist-upgrade,重開機後,你的玄箱就變成了 etch 作業系統,小弟試過,成功率 100%。
以上是小弟最後整理出來最簡易的步驟,小弟也順道提供了自行製作的 etch image,直接在玄箱中解開即可,玄箱重新開機就是 etch 作業系統。
http://renz.myweb.hinet.net/kurobox/debian-etch-2.6.25.1-kuroHG-20090621.tgz
其實重點還是在 sources.list,因為在今天時 oldstable 就是 etch 版,所以還可以順利升級成功(debian 的系統升級好像要一版一版升,小弟不確定,但實務上好像是要這樣子做才會成功),如果哪一天 squeeze 變成了穩定版,etch 就會被踢掉了,你的來源名單也就跟著失效了。
好,既然都可以升級到 etch,那就乾脆給他升級到 lenny 好了,不過很不幸地,小弟套用上面的作法是不會成功的,原因不明,而且玄箱就會變成開不了機,用 console 去看是會停在這個畫面:
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-7ea6d148940b1a2dd53770bb29f73b2b.png)
有個日本人成功在玄箱上安裝 lenny,網址在這裡:
http://www.revulo.com/kuro-box/Debian/lenny.html
步驟也滿簡單,小弟跟著做一次就成功,不過作法上有點不一樣的是,他是先用 2.4.17 的核心,再改成用 hda3 來開機,所以分割區要做成四塊,這個比較像過去 linkstation 大家建議的作法。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-ef80a36db89139b49528b12a79fbf5aa.png)
然後小弟也嘗試著繼續升級至 squeeze,也順利成功了,就直接把來源名單裡寫成 testing 就可以了。
![[分享] 老調重彈 - 玄箱(追加 console 連線心得、追加作業系統使用心得)](http://attach.mobile01.com/attach/200906/mobile01-071143b9f09e54281af2033b19c0ca2b.png)
如果只是想把玄箱當成很基本的檔案伺服器,其實用 woody 就好了,該有的套件也沒少,當然新版的作業系統提供的套件數量是更多的,版本也較新,但這接下來會跟核心的升級有關了。
玄箱內建的是 2.4 版的核心,另外還有一個 2.6 版的核心,其實 2.4 跟 2.6 兩者並不是前後版本的關係,而是兩個同時並行的計畫,小弟的建議是,可以用 2.6 的核心是較好的,因為在多工處理機制上 2.6 是較優於 2.4 的,而且 debian 好像從 etch 開始(還是 sarge?),一些內建的套件就必須要配合 2.6 版的核心才能運作。
所以小弟一開始在本文提到的,玄箱一升級,玄箱就掛點,猜想有八成原因就是不小心安裝了新套件,結果核心沒有跟著升級,所以在開機階段就停住了。
目前最新的核心是 2.6.30,但小弟想嘗試自行編譯核心,結果編譯完後無法使用,不過也沒差,網路上下載的 2.6.25.1 版本也挺好用的,安裝 squeeze 也可以用。
到這邊小弟的玄箱心得就先告一段落,一篇文用超過半個月的時間更新也是挺累人的,以目前來講,玄箱在小弟的眼裡仍然是個好物,當然在之前使用時也是像多數人一樣困難重重,雖不致於把玄箱給砸了,但心中就是有點疙瘩,所以花了點時間做了一點功課(小弟這段時間已經開始感受到 linux 的威力了),總算可以對事情有些交代,要把玄箱給正常使用好,並沒這麼難。
小弟前幾天又把玄箱的背板給開了個洞,裝了一個 AC 電源開關,這樣方便多了,要不然每次一把玄箱弄掛,就要把插頭拔掉,挺麻煩的。