發表文章

Coreboot (LinuxBIOS) 研究報告

圖片
簡介: Coreboot前身為LinuxBIOS,目的是要提供一個基於Linux廣大Open Source來開發的BIOS Project,可以提供更快、更穩定、更透明也更好除錯跟維護的免費BIOS,不只能用來啟動Linux,也能啟動本機磁碟的、Windows、FreeBSD或者PXE遠端開機,這也是更名Coreboot的原因,免得大家誤解說它只能拿來開Linux 相關連結: 專案首頁: Coreboot 支援的 主機板 跟 晶片組 討論區: Coreboot Maillist 研發進度: 目前出到V2版本,官網有提到V3版本,不過就像是Linux的偶數版本跟奇數版本,V3算是beta實驗版本,新開發的功能都會移植回V2,所以抓V2回來用就好 Build System 基本背景介紹完之後,開始說點技術性的東東,要Build出一個BIOS Binary有三種方法,abuild(用於自動驗證系統)、target-build(建議使用)跟make-build(利用Kernel的Kconfig技術,但是問題很多) abuild:(util/abuild) abuild不加參數就會把全部主機板設定都build一次,一個型號大概要一分鐘,全部build完大概要一個多小時吧!這就是用來當作上傳程式碼之前的驗證動作,確定新的更動不會影響其他板子 ./abuild -t intel/d945gclf 加上 -t 參數表示指定要build的目標,本例是編譯intel的d945gclf,是採用Atom跟945的組合 target-build:(target) ./buildtarget intel/d945gclf 這邊一定要指定build目標,本例一樣選擇intel的d945gclf make-build: make config 或 make menuconfig 或 make xconfig 然後make 這邊的操作比較直覺,就像編kernel一樣,只是Makefile編寫尚未完備,很多板子都不能順利build出來 深入頗析target-build Coreboot的設計團隊應用python跟yapps 2.0打造出一個全動態、分散式、自動化的build tree generater 透過在各地分散的config....

教你三招突破網管封鎖

上班族的一大煩惱就是上班時很多網站不能上, 尤其最近Facebook當紅,一邊上班還要一邊偷菜, 或者要開餐廳、開農場、養黑幫等, 遜的網管如公家機關,只會寫寫公文勸告同仁 厲害的公司就會讓你連網頁都打不開,這時候怎麼辦呢? 以下幫大家整理三招秘訣出來,脫離公司的羈絆.... 第一:SSH Tunnel 優點:頻寬要多大就多大 缺點:安裝設定複雜,需額外電腦 設定方法: http://riverhippo.blogspot.com/2009/11/ssh-tunnel.html 心得:這招已經可以應付一票公司了,不過很無奈的,敝公司防火牆過濾能力達到OSI Layer7 設定到PORT 80一樣被檔,所以對我來說沒有用,只好另覓他途,也就有了第二點跟第三點的誕生 第二:匿名代理 優點:安裝簡單 缺點:頻寬受限、連線不穩 設定方法: 匿名網路系統 - (2) JAP (JonDo Anonymous Proxy) 心得:已知有三種匿名代理可以使用,TOR、JAP跟GAppProxy,TOR的連線速度很慢,不堪用:JAP連線速度還可以:GAppProxy速度最快,但是會限制最大傳輸檔案不得超過1MB,同時有安全顧慮,用在機密敏感系統可能導致外洩 第三:Termviewer 優點:不需安裝 缺點:免費版本有使用限制,還會造成內部網站暴露,需額外電腦 設定方法: TeamViewer 4 讓遠端遙控變簡單 心得:直接穿牆不成,就繞過去吧!利用遠端遙控的原理,連線到家中的電腦再出去也是種解法,而且只要告知編號跟密碼就好了,非常簡單,也可作為遠端教學救援之用,不過根據MIS朋友的說法,開啟程式之後會在內部系統開個後門,容易造成公司資料損害,使用時請節制 以上,有其他好招也請跟大家分享喔!

似懂非懂的ssh tunnel

先說好處好了,tunnel不是什麼奇怪的東西, 他只是可以幫助你突破網管的限制跟封鎖,想連到哪就連到哪, 原理是透過一台中介的電腦,假裝連到那台中介的電腦瀏覽網頁, 但是傳送的資料是紮紮實實、亂七八糟、無奇不有的網路資料, 這樣說太籠統,像MSN、MIS封鎖的網站、無法使用的網路服務(如BBS), 通通可以包裝在偽裝的網頁封包裡面,大大方方的走出大門。 廢話說完了,來講設定步驟, 假設電腦A叫做PCHOME,有條連外的ADSL,IP是A.B.C.D 假設公司的電腦叫做PCOFFICE,可以上網 要做的事情就是在PCHOME安裝中介軟體 FREESSHD 在PCOFFICE裝偽裝軟體 PUTTY 如果要跟其他同事分享,再裝上PROXY服務 POLIPO 就醬 詳細步驟,請參考延伸閱讀: Jamyy大大的 FreeSSHd & Polipo 操作備忘 Vexed大大的 用 PuTTY 的 SSH Tunnel 瀏覽網頁 %務必要看這段% Jamyy大大寫得很清楚,但是在putty的命令行有一點要修正 本來是 putty -ssh -p 80 -D 1080 your_name@your.home-ip.or.ddns 要改成 putty -ssh - P 80 -D 1080 your_name@your.home-ip.or.ddns 就醬,祝大家都能得到自由

Nvidia ION 平台 Ubuntu 作業系統 實做 VDPAU 備忘

環境: Ubuntu 9.04 (9.10的sata偵測不到內建的HDD) Kernel: 2.6.28-16 (apt-get更新到最新版) NV Driver:190.42 ( NV官網下載連結 ) Mplayer:終端機下輸入Mplayer不帶任何參數 2.1.0~rc3+svn20090904-0jaunty2 r29643( Launchpad最新版本載點 ) 平台設定: 加入i8042.noaux=1到/boot/grub/menu.lst以避免開機偵測的冗長等待 到System->Preferences->Appearence裡面,把Visual Effects關掉 驗證安裝: NV Driver:主選單 Sysyem->Preferences->NVIDIA X Server Setting Mplayer VDPAU: 輸入以下終端指令播放XXX.mpg,同時觀察cpu 使用狀態 mplayer -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau,ffwmv3vdpau,ffvc1vdpau, XXX.mpg 為何不使用SMplayer、Gnome-Mplayer或者Mplayer的圖形模式: SMplayer(版本0.6.6-0ubuntu1)跟Mplayer(版本r29643)不合,開啟VDPAU硬解功能後無法順利播放影像, 造成問題的參數: -wid 50331663 -vf-add screenshot Gnome-Player(版本)可以順利開啟硬解,但是播放時會有畫面偶爾有切斷的狀況 Mplayer GUI,可以開啟硬解,但是會跳出錯誤訊息"[AO_ALSA] unable to open simple control PCM",妨礙播放 解決辦法: 已知mplayer新版可以支援NV VDPAU硬解,但是GUI frontend無法產生正確的參數, 所以自己寫一個shell script達成使用硬解播放的功能,原始碼如下: my-player內文: #!/bin/sh /usr/bin/mplayer -cache 2000 -vo vdpau -ao alsa:device=hw=0.3 -vc ffmpeg...

eCos 開發相關資源

安裝 http://ecos.sourceware.org/getstart.html 取得cvs更新 http://ecos.sourceware.org/anoncvs.html eCos 文件 http://ecos.sourceware.org/docs-3.0/user-guide/ecos-user-guide.html RedBoot使用手冊 http://ecos.sourceware.org/docs-3.0/redboot-guide/redboot-guide.html 討論區 http://ecos.sourceware.org/ml/ecos-discuss/ 使用技巧; 這兩天嘗試的結果,發現直接從GUI的configtool創立專案,很容易有編譯錯誤, 像是多重定義這種東西 如果改用ecosconfig直接從命令列創造專案,反而容易許多

用Ubuntu打造多媒體平台(未完成)

認真想想其實自己家裡的桌機 每天在用的功能也只有抓檔案(emule)、看影片(Kmplayer)、上網(Chromeplus)、聽音樂(TTPlayer) 何不用親切又免費的Ubuntu來打造了,於是開始今天的計畫 1 下載Ubuntu 9.10 RC光碟:採用9.10的原因是新的init非常迅速,可以在十秒內開到桌面,雖然還有一週才要轉正式版,不過就直接裝這一版吧! 2 安裝Ubuntu:這個不多說,就給他裝完就好 3 跑一次系統更新 4 中文化:如果安裝的時候語系直接選擇繁體中文,那介面的語言問題就解決了 再來是輸入法的部分,請參考 這一篇 5.0 抓Libstdc+5: Ubuntu預設是Libstdc++6但是w32codec需要舊版的 所以請到 這裡下載 deb自行手動安裝 5 解碼器:跟Windows平台一樣,要開啟多媒體檔案一樣要裝解碼器, Linux版本的叫做w32codec,安裝過程請參考 這一篇 6.0 修正音效問題 如果你沒有遇到音效問題,請跳過這一段 ubuntu8開始加入pulse的支援,加上本來的alsa變成兩套聲音管理套件 這次安裝就遇到打架的問題,聲音會變速播放 解決方法如 這篇文章 6 裝播放器: 我採用的是Mplayer,安裝方式如上文章所示 要不要重新編譯就看個人 7 撥放器設定技巧:Linux預設是UTF-8,直接拿Windows的過來會變成亂碼 要再偏好設定裡面把編碼換成BIG5 8 Wine:這套程式可以模擬Windows的環境,補足Linux不足的部分 安裝方法請參考 這篇 9 鬼打牆之ttf-mscorefonts-installer 或許會或許不會遇到這個問題,就是在裝WIne的過程中會順便帶入Windows的字體套件ttf-mscorefonts-installer 但是好死不死的是ttf-mscorefonts-installer常常會下載失敗,很可能就困在這邊幾個小時<<我就是 後來找到解決的辦法了,雖然有點複雜 @@" 首先是手動到 這裡 ,把the fonts的檔案全部下載 重新編譯DEB檔案, 重新編譯的方法可以 參考這篇 , 不過不需要照他的改法,因為改了還是得碰運氣 >>>另外,如...

isolinux, syslinux unetbookin小筆記

標題下的有點糟糕,不是很能表達我的意思,各位不小心進來的客倌就加減看吧! 會研究這個題目是因為最近用了很多prebuild的Linux Live CD 總不能整天一直燒CD,不環保又浪費時間 這時候用USB大拇哥替代就是很好的選擇 但是要怎麼把映像檔弄到大拇哥上面呢? 只要使用 unetbootin 這套程式,指定來源ISO跟目的大拇哥 幾個按鍵就可以弄一支可以開機的USB出來了 不過怎麼做到就是另外一回事,後面再聊 接著深入研究使用CD跟USB載入Linux這個題目 發現主流採用的套件有syslinux跟isolinux 前者用於用一般硬碟開機,後者用於光碟開機 至於unetbootin不在此列,因為它像是syslinux的前端GUI介面 實際上做出來的東西也是把syslinux塞進去 要搞懂 syslinux 跟 isolinux 的原理不難 都是把啟動碼塞到開機磁區,然後設定cfg設定檔就好 不過讓我比較疑惑的是unetbooin這套程式 它有提供自動下載跟載入ISO的功能, 如果是Linux安裝或者Live光碟就沒什麼疑問 直接把光碟中isolinux的設定檔更名成為syslinux的設定檔即可 那~~如果是其他的ISO像是Windows PE或者是他不認識的系統, 不知道它是怎麼做的?還是單純的不支援? TBD