2007年11月27日 星期二

Poring Linux Kernel 2.6 for DIMMPC 520i (Part 1)

最近終於找到時間來Porting板子囉!!

測試完IDE介面,發現可以接硬碟和光碟機...


於是很有趣的將之前收到的ubuntu 7.10放進去跑跑看,結果:

天啊,有畫面也可以跑耶!!但...

kernel還是跑不起來,也只好乖乖porting了...><"

2007年11月18日 星期日

小筆電裝Ubuntu 7.10

今天終於跟裝了兩年多的gentoo說byebye了,
一直都想要換,畢竟我的小筆電速度不夠快,
總不能每裝一套package就一直compiler...吧!!

也剛好昨天回家,
收到數天前到[ShipIt]所申請的光碟片,
超cool的,還有貼紙...

安裝上真的比gentoo方便太多,
在加上用[lazybuntu]來安裝想要的軟體,真的不到一小時就全部裝完囉...

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

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大提供的方向...