一年一度的OSDC.TW又要來了。
去年OSDC.TW 2007我有去參加,覺得主辦人[hcchien]相當用心,而且可以看到很多很厲害的OpenSource高手的"真面目",而且可以見識到現在很多新技術和想法,個人覺得OSDC.TW真的是不錯的Conference...
今年的[議程],也很令人期待,想報名的人請到[報名],要快哦!!不然很快就滿了><"
Reference: [OSDC.TW]
2008年2月20日 星期三
空閒時間看Linux kernel原始碼
看Linux kernel的原始碼是一種很有趣的事情,可以看到很多用C寫奇怪的作法,真很有趣,如jserv所提到的[C 語言的 trigraph/digraph]一文。
只是因為只有空閒時間才能看,所以都只能看片段,沒辦法一層一層的往下找"真相",只有大約知道API怎麼CALL、用什麼樣的結構和演算法等等。
不過令人驚訝的是Linux kernel有超完整的架構,讓我這個初學者超佩服的,這時才知道自己的渺小。
未來,我會找時間來整理一些自己看kernel的想法...
只是因為只有空閒時間才能看,所以都只能看片段,沒辦法一層一層的往下找"真相",只有大約知道API怎麼CALL、用什麼樣的結構和演算法等等。
不過令人驚訝的是Linux kernel有超完整的架構,讓我這個初學者超佩服的,這時才知道自己的渺小。
未來,我會找時間來整理一些自己看kernel的想法...
2007年11月27日 星期二
2007年11月18日 星期日
2007年11月14日 星期三
Easy to build toolchain, cross-ng
因DIMM-PC只有32 MByte Flash Disk,
所以用glibc會太大,
因此改用jserv前輩所建議crosstool next generation[cross-ng],
這個crosstool可以編glibc和uclibc,
且介面跟編kernel很類似喔!!
真的方便超多的...^^
1. install
$ wget -c http://ymorin.is-a-geek.org/download/crosstool-ng/
crosstool-ng-0.3.2.tar.bz2
$ tar -jxvf crosstool-ng-0.3.2.tar.bz2
$ cd crosstool-ng-0.3.2
$ ./configure --prefix=/opt/cross-ng
$ make
# make install
2. using cross-ng
$ export PATH="${PATH}:/opt/cross-ng/bin"
$ mkdir toolchain-dev && cd ./toolchain-dev
$ ct-ng menuconfig
需要提供uclibc的設定檔路徑

$ ct-ng build
...
[INFO ] ===============================
[INFO ] Installing C library headers
[INFO ] Installing C library headers: done in 27.63s
[INFO ] ===============================
[INFO ] Core C compiler, pass 2
[INFO ] =============================
[INFO ] Installing static core C compiler
[INFO ] Installing static core C compiler: done in 316.46s
[INFO ] Core C compiler, pass 2: done in 316.50s
[INFO ] ===============================
[INFO ] Installing C library
[INFO ] Installing C library: done in 124.55s
[INFO ] ===============================
[INFO ] Installing final compiler
[INFO ] Installing final compiler: done in 737.85s
[INFO ] ===============================
[INFO ] Installing cross-gdb
[INFO ] Installing cross-gdb: done in 316.19s
[INFO ] ===============================
[INFO ] Installing gdbserver
[INFO ] Installing gdbserver: done in 11.50s
[INFO ] Build completed at 20071114.012858
[INFO ] (elapsed: 28:28.51)
成功囉!!
toolchain的路徑在$HOME/i386-DIMMPC-linux-uclibc
所以用glibc會太大,
因此改用jserv前輩所建議crosstool next generation[cross-ng],
這個crosstool可以編glibc和uclibc,
且介面跟編kernel很類似喔!!
真的方便超多的...^^
1. install
$ wget -c http://ymorin.is-a-geek.org/download/crosstool-ng/
crosstool-ng-0.3.2.tar.bz2
$ tar -jxvf crosstool-ng-0.3.2.tar.bz2
$ cd crosstool-ng-0.3.2
$ ./configure --prefix=/opt/cross-ng
$ make
# make install
2. using cross-ng
$ export PATH="${PATH}:/opt/cross-ng/bin"
$ mkdir toolchain-dev && cd ./toolchain-dev
$ ct-ng menuconfig
$ ct-ng build
...
[INFO ] ===============================
[INFO ] Installing C library headers
[INFO ] Installing C library headers: done in 27.63s
[INFO ] ===============================
[INFO ] Core C compiler, pass 2
[INFO ] =============================
[INFO ] Installing static core C compiler
[INFO ] Installing static core C compiler: done in 316.46s
[INFO ] Core C compiler, pass 2: done in 316.50s
[INFO ] ===============================
[INFO ] Installing C library
[INFO ] Installing C library: done in 124.55s
[INFO ] ===============================
[INFO ] Installing final compiler
[INFO ] Installing final compiler: done in 737.85s
[INFO ] ===============================
[INFO ] Installing cross-gdb
[INFO ] Installing cross-gdb: done in 316.19s
[INFO ] ===============================
[INFO ] Installing gdbserver
[INFO ] Installing gdbserver: done in 11.50s
[INFO ] Build completed at 20071114.012858
[INFO ] (elapsed: 28:28.51)
成功囉!!
toolchain的路徑在$HOME/i386-DIMMPC-linux-uclibc
2007年11月11日 星期日
ToolChain for DIMM-PC
由於x86的toolchain建立的文件相當少,
於是使用[crosstool]來建立toolchain可說是相當方便...
[更新]
$ svn co http://crosstool.googlecode.com/svn/trunk/src crosstool
$ cd crosstool
$ cp demo-i686.sh demo-i386.sh
$ vi demo-i386.sh
將eval `cat i686.dat gcc-4.1.0-glibc-2.3.6-tls.dat` sh all.sh --notest
修改成#eval `cat i686.dat gcc-4.1.0-glibc-2.3.6-tls.dat` sh all.sh --notest
將eval `cat i686.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh --notest
修改成#eval `cat i386.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh --notest
$ vi i386.dat
TARGET=i486-dimmpc-linux-gnu
TARGET_CFLAGS="-O"
$ sudo mkdir /opt/crosstool
$ sudo chown $USER /opt/crosstool
$ sh demo-i386.sh
...
Cross-toolchain build complete. Result in /opt/crosstool/gcc-4.1.0-glibc-2.3.6/i486-dimmpc-linux-gnu.
+ exit 0
+ cd /home/shulong/crosstool
+ sh testhello.sh
+ cd /opt/crosstool/gcc-4.1.0-glibc-2.3.6/i486-dimmpc-linux-gnu
+ test '!' -d tmp
+ mkdir tmp
+ cd tmp
+ test x '!=' x
+ cat
...
+ echo testhello: C compiler can in fact build a trivial program.
testhello: C compiler can in fact build a trivial program.
+ test '' = 1
+ test '' = 1
+ test '' = 1
+ test 1 = ''
+ echo Done.
Done.
看到這個msg就代表成功啦!!
toolchain的路徑在:
/opt/crosstool/gcc-4.1.0-glibc-2.3.6/i486-dimmpc-linux-gnu/
感謝jserv大提供的方向...
於是使用[crosstool]來建立toolchain可說是相當方便...
[更新]
$ svn co http://crosstool.googlecode.com/svn/trunk/src crosstool
$ cd crosstool
$ cp demo-i686.sh demo-i386.sh
$ vi demo-i386.sh
將eval `cat i686.dat gcc-4.1.0-glibc-2.3.6-tls.dat` sh all.sh --notest
修改成#eval `cat i686.dat gcc-4.1.0-glibc-2.3.6-tls.dat` sh all.sh --notest
將eval `cat i686.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh --notest
修改成#eval `cat i386.dat gcc-4.1.0-glibc-2.3.6.dat` sh all.sh --notest
$ vi i386.dat
TARGET=i486-dimmpc-linux-gnu
TARGET_CFLAGS="-O"
$ sudo mkdir /opt/crosstool
$ sudo chown $USER /opt/crosstool
$ sh demo-i386.sh
...
Cross-toolchain build complete. Result in /opt/crosstool/gcc-4.1.0-glibc-2.3.6/i486-dimmpc-linux-gnu.
+ exit 0
+ cd /home/shulong/crosstool
+ sh testhello.sh
+ cd /opt/crosstool/gcc-4.1.0-glibc-2.3.6/i486-dimmpc-linux-gnu
+ test '!' -d tmp
+ mkdir tmp
+ cd tmp
+ test x '!=' x
+ cat
...
+ echo testhello: C compiler can in fact build a trivial program.
testhello: C compiler can in fact build a trivial program.
+ test '' = 1
+ test '' = 1
+ test '' = 1
+ test 1 = ''
+ echo Done.
Done.
看到這個msg就代表成功啦!!
toolchain的路徑在:
/opt/crosstool/gcc-4.1.0-glibc-2.3.6/i486-dimmpc-linux-gnu/
感謝jserv大提供的方向...
2007年10月5日 星期五
COSCUP 2007
傳統商業軟體的開發者(coders)和使用者(users)很少交流,是大家都接受的事實。你的軟體用起來有問題?請打技術支援電話,由客服人員為你服務,他或許已經儘其所能,但未必能解決你的問題。如果問題是軟體的臭蟲,你只好痴痴地等待不知幾年後才開賣的下一版。而你當初之所以選用A軟體而不是B軟體,常常是聽信銷售員(sales)的一面之詞或同儕的推薦。在這個行為模式下,users 面對的是銷售員和客服,coders 面對的還是銷售員和客服,users 遇到的問題要間接地才能反應到 coders 手上,中間還可能會被過濾掉。
Open source 這個在 1998 年出現的名詞,大家早已耳熟能詳。這種在網路上已經進行二三十年的軟體開發模式之所以能成功,有許多原因,其中一個極為關鍵的因素,就是 coder-user 的直接接觸。無屏障的交流形成了問題的快速回報和修補機制,而當這個機制被網路效應放大到極限時,Linus 定律就出現了:《臭蟲難逃眾人法眼》(With enough eyeballs, all bugs are shallow),軟體品質因此顯著提昇。在 open source 的模式中,coders 和 users 中間的人不再是銷售員或客服,而是讓軟體更容易被 users 接受的推廣者(promoters),他們打包套件讓軟體更好裝、寫說明文件讓軟體更易學、辦推廣活動讓軟體被更多人接觸到、在網路上回答問題解決使用者的疑惑,而且不會把 coders 藏在背後產生資訊的不對稱。
Coders、users 和 promoters 是讓 open source 軟體發光發熱的支柱,所以我們的 open source 研討會是專為這三種人舉辦的。你可以是 A 軟體的 coder、B 軟體的 promoter、C 軟體的 user。不論你是已經踏入 open source 領域,還是一直站在門口不知如何入門,歡迎你來參加 COSCUP - Conference for Open Source Coders, Users and Promoters!
今年的 COSCUP 最大的改變,是由各台灣本地社群共同舉辦,也希望能透過這樣的合作,增加社群同好的參與度,正如 COSCUP 的精神,在這個研討會當中,你同時是與會者,推廣者,也參與了大會的運作。
* 時間:2007 年 11 月 3 日(六)- 11 月 4 日(日)
* 地點:台北市和平東路 2 段 106 號 科技大樓 二樓
* 誰應該參加:寫 open source 軟體的開發者、熱衷 open source 軟體的推廣者、熟悉 open source 軟體的使用者、想瞭解 open source 軟體的新手。
網址:http://coscup.org/2007/
Open source 這個在 1998 年出現的名詞,大家早已耳熟能詳。這種在網路上已經進行二三十年的軟體開發模式之所以能成功,有許多原因,其中一個極為關鍵的因素,就是 coder-user 的直接接觸。無屏障的交流形成了問題的快速回報和修補機制,而當這個機制被網路效應放大到極限時,Linus 定律就出現了:《臭蟲難逃眾人法眼》(With enough eyeballs, all bugs are shallow),軟體品質因此顯著提昇。在 open source 的模式中,coders 和 users 中間的人不再是銷售員或客服,而是讓軟體更容易被 users 接受的推廣者(promoters),他們打包套件讓軟體更好裝、寫說明文件讓軟體更易學、辦推廣活動讓軟體被更多人接觸到、在網路上回答問題解決使用者的疑惑,而且不會把 coders 藏在背後產生資訊的不對稱。
Coders、users 和 promoters 是讓 open source 軟體發光發熱的支柱,所以我們的 open source 研討會是專為這三種人舉辦的。你可以是 A 軟體的 coder、B 軟體的 promoter、C 軟體的 user。不論你是已經踏入 open source 領域,還是一直站在門口不知如何入門,歡迎你來參加 COSCUP - Conference for Open Source Coders, Users and Promoters!
今年的 COSCUP 最大的改變,是由各台灣本地社群共同舉辦,也希望能透過這樣的合作,增加社群同好的參與度,正如 COSCUP 的精神,在這個研討會當中,你同時是與會者,推廣者,也參與了大會的運作。
* 時間:2007 年 11 月 3 日(六)- 11 月 4 日(日)
* 地點:台北市和平東路 2 段 106 號 科技大樓 二樓
* 誰應該參加:寫 open source 軟體的開發者、熱衷 open source 軟體的推廣者、熟悉 open source 軟體的使用者、想瞭解 open source 軟體的新手。
網址:http://coscup.org/2007/
訂閱:
文章 (Atom)