2009年3月21日

PXA270實驗筆記(四)

#nano -w /usr/local/fstest/target/usr/etc/rc.local //修改file system中的程序起始檔

加上內容(包在做好的root_tmp.cramfs):
/bin/mount -t ex2 /dev/ide/host0/bus0/target0/lun0/part1 /tmp/cf_card
/sbin/ifconfig eth0 192.168.1.12 up
/sbin/ifconfig eth1 192.168.141.131 up
/bin/route add default gw 192.168.141.254 eth1

重新以mkcramfs包裝為root_tmp.cramfs,並重新燒錄。

!注意! 重新燒錄時請在u-boot命令列先執行protect off all與erase all清除flash

[x86] 編譯GNU classpath,Jikes及Jam VM過程:
-tmp
|-cf_card
|-jamvm
|-jamvm-1.5.1.tar.gz
|-classpath-0.97.2.tar.gz
|-jikes-1.22.tar.bz2
|-classpath
|-jikes

GNU classpath
#apt-get install gconf2 libgconf2-dev zlib-bin zlib1g-dev libgcj8-1-awt
#mkdir /tmp/cf_card/jamvm
#cd /tmp/cf_card/jamvm
#tar zxvf jamvm-1.5.1.tar.gz
#tar zxvf classpath-0.97.2.tar.gz
#tar jxvf jikes-1.22.tar.bz2
#cd classpath-0.97.2
#./configure --prefix=/tmp/cf_card/jamvm/classpath --disable-plugin
#make
#make install

Jikes
#./configure --prefix=/tmp/cf_card/jamvm/jikes
#make; make install

Jam VM
#cd /tmp/cf_card/jamvm/jamvm-1.5.1
#./configure --prefix=/tmp/cf_card/jamvm --with-classpath-install-dir=/tmp/cf_card/jamvm/classpath #make
#make install

#rm -rf /tmp/cf_card/jamvm/jamvm-1.5.1.tar.gz
#rm -rf /tmp/cf_card/jamvm/classpath-0.97.2.tar.gz
#rm -rf /tmp/cf_card/jamvm/jikes-1.22.tar.bz2

[arm] 編譯GNU classpath及Jam VM過程:
-tmp
---|-cf_card
---------|-jamvm
---------------|-jamvm-1.5.1.tar.gz
---------------|-classpath-0.97.2.tar.gz
---------------|-classpath

GNU classpath
#apt-get install gconf2 libgconf2-dev zlib-bin zlib1g-dev libgcj8-1-awt //安裝需要套件
#mkdir /tmp/cf_card/jamvm
#cd /tmp/cf_card/jamvm
#tar zxvf jamvm-1.5.1.tar.gz
#tar zxvf classpath-0.97.2.tar.gz
#tar jxvf jikes-1.22.tar.bz2
#cd classpath-0.97.2
#./configure --host=arm-linux --target=arm-linux --prefix=/tmp/cf_card/jamvm/classpath --disable-plugin --disable-gtk-peer --disable-gconf-peer --enable-Werror --enable-local-sockets
--disable-plugin 關閉Mozilla Plugin Support
--disable-gtk-peer 關閉gtk支援
--disable-gconf-peer 關閉gconf支援
--enable-jni 支援jni ( 重要,要加上 )
--enable-static library庫連結方式為static

#make
#make install

Jam VM
#cd /tmp/cf_card/jamvm/jamvm-1.5.1
#CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc ./configure --host=arm-linux --target=arm-linux --prefix=/tmp/cf_card/jamvm --with-classpath-install-dir=/tmp/cf_card/jamvm/classpath --disable-zip

--with-classpath-install-dir 引用的GNU classpath路徑
--disable-zip 關閉使用zlib壓縮/解壓縮支援

#make
#make install

把jamvm/classpath/share/classpath/glibj.zip解壓縮在所在目錄
#cd /tmp/cf_card/jamvm/classpath/share/classpath/
#unzip glibj.zip //原因為需要抓取lib檔但是無法解析zip格式

#rm -rf /tmp/cf_card/jamvm/jamvm-1.5.1.tar.gz
#rm -rf /tmp/cf_card/jamvm/classpath-0.97.2.tar.gz

將完成的jamvm資料夾利用網路或USB隨身碟複製到PXA270上的/tmp/cf_card之下,或是打包為tar檔再重送到板子上解開

1 則留言:

hungchein 提到...

您好,我最近也有在研究怎們樣編譯JVM到
嵌入式板子上,還是新手有很多還是不懂,請問一下我cross compiler好後,丟到版子上執行.jar的檔案,他告訴我要設Bootclasspath,打jamvm的指令有反應,但似乎沒有去抓到classpath的lib,把整個資料夾都port上去時,之後除了把jamvm設到環境變數,還需要去設定其他環境變數,弄了一個月了都沒辦法跑,請高手解答一下