2008年8月31日 星期日

Setting up Linux on ARM platform

1. booting from tftp
a. install atftp, configure conf.d/atftp(Root mode = 777)
b. setting uboot.
bootcmd = tftpboot 0x7fc0 uImage ; bootm

2. NFSRoot
a. download full_cramfs from ARM office website
http://www.arm.com/products/os/linux_download.html
b. mount -t cramfs -o loop "filename" /mnt
c. copy "bin, dev, etc, lib, root, sbin, usr, var" to ARMRoot
d. creating "home, proc, opt, sys, tmp"
e. configure nfs server
/etc/exports: /home/armroot 192.169.77.0/24(rw, no_root_sqush, subtree_check)
f. setting uboot.
bootargs = root=/dev/nfs rw,iocharset=cp950 nfsroot=serverip:/home/armroot ip=localip(can be dhcp)
mem=128M console=ttyAMA0

3. developing driver
a. download kernel source and patch from above website.
b. build it.

P.S.
rebuild linux kernel --
http://www.arm.com/support/faqdev/14409.html

2008年7月29日 星期二

Gentoo linux on PS3

想用來練習parallel programming及研究SPUFS,
灌的方式非常簡單, 這都要感謝已經很多人的努力 (這些人真的很厲害ㄋㄟ) :^.^
http://overlays.gentoo.org/proj/cell

由於office的螢幕還沒來, 所以要先灌完在拿過去; 又由於office只有DHCP, DHCP下不能設兩個ip...
Darling就在local.start裡面設定我要的static ip就解決沒螢幕連進去的問題哩!!
local.start是開機程序裡最後執行的檔案~~~

灌的過程中也學習到原來有很多分支gentoo portage......叫做Overlay..

安裝Cell的SDK(multi-core acceleration)

toolchain都包成rpm形式 (有binary也有source):
http://www.bsc.es/projects/deepcomputing/linuxoncell/

而在 alphawork中經過認證下載的.iso裡面主要是example跟寫好的一些library
http://www-128.ibm.com/developerworks/power/cell/pkgdownloads.html

2008年2月14日 星期四

linux直立螢幕該怎麼設定

分成兩個部份:
1.xorg
看driver有沒有支援。nvidia有支援,所以很好設,可以man nv得到說明。
2.console
設定framebuffer,kernel要編,nvidia的是nvidiafb。
在menu.lst上設定成
kernel /boot/vmlinuz root=/dev/hda2 video=nvidiafb:1280x1024 fbcon=rotate:3
解析度目前設定不成功,但rotate有成功。

2008年1月16日 星期三

Deadlock的問題

面試很愛的問題之ㄧ~
之前都不會回答 , 實在是沒什麼感覺 :P

直到前幾天, 我可愛的minix 一值hang在某各位置, 看assembly發現它schedule到idle,
這表示qeueue裡面沒有東西可以跑了, 表示大家都跑去睡覺了........表示Deadlock了!!

pg->tty->pg(睡覺中).....tty也去睡覺....然後deadlock....

2008年1月13日 星期日

performance update

100000 times fork(241):
15.68 1.00 7.93
15.41 1.35 7.78
15.51 1.06 8.08
15.63 1.16 7.95
15.75 1.33 7.85
==============================
重新安裝minix,全部重測
(3.1.2a):
fork:
10.26 real 0.11 user 8.38 sys 33.45 0.43 27.63
10.30 real 0.20 user 8.40 sys 33.40 0.46 27.70
10.28 real 0.13 user 8.53 sys 33.46 0.53 27.66
10.30 real 0.13 user 8.56 sys 33.28 0.75 26.96
10.31 real 0.13 user 8.45 sys 33.28 0.48 27.98
10.30 real 0.15 user 8.28 sys
10.31 real 0.13 user 8.48 sys
matrix:
33.43 real 33.33 user 0.10 sys
33.41 real 33.40 user 0.01 sys
33.66 real 33.60 user 0.06 sys
33.65 real 33.61 user 0.03 sys
(v170 3.1.2ar0):
fork:
11.33 real 0.26 user 8.81 sys 38.46 0.83 31.26
11.31 real 0.21 user 9.00 sys 38.61 0.68 31.21
11.28 real 0.26 user 8.86 sys 38.36 0.68 30.98
11.28 real 0.18 user 9.13 sys 38.40 0.95 31.11
11.31 real 0.16 user 8.98 sys 38.40 0.63 31.56
matrix:
33.58 real 33.55 user 0.03 sys
33.56 real 33.55 user 0.01 sys
33.56 real 33.53 user 0.03 sys
(v182 3.1.2ar1)
fork:
12.73 real 0.45 user 10.36 sys 42.40 1.61 34.31
12.73 real 0.40 user 10.18 sys 42.41 1.31 34.31
12.75 real 0.36 user 10.25 sys 42.45 1.75 34.35
12.75 real 0.40 user 10.33 sys 42.46 1.26 35.40
12.76 real 0.38 user 10.18 sys 42.51 1.13 34.75
matrix
33.35 real 33.35
33.36 33.36
33.41 33.41
(nophys 3.1.2ar2) (nophys 3.1.2ar216)
fork: 100000 times:
4.63 real 0.30 user 2.48 sys
4.65 real 0.30 user 2.30 sys
4.66 real 0.26 user 2.45 sys
4.56 real 0.33 user 2.28 sys
4.65 real 0.30 user 2.06 sys
matrix
33.86 real 33.75 user 0.11 sys
33.86 real 33.81 user 0.05 sys
33.86 real 33.76 user 0.10 sys

==========================================================
今天發現wbinvd跟page內部的cache disable在我的程式中都是不必要的存在><"
拿掉wbinvd(release/3.1.2ar88 ,把大部分copy都交給pg做....)
30000 times fork()
real user sys
4.91 0.36 2.51
5.00 0.40 2.60
4.90 0.25 2.75
4.91 0.38 2.38
4.93 0.25 2.56
matrix
real user sys
33.35 33.18 0.15
33.43 33.36 0.06
33.45 33.40 0.05
33.51 33.26 025

===================================================
30000 times fork
pager+MM server:
1:17.76 5.81 41.81

matrix
36.03 34.03 1.96

2008年1月11日 星期五

svn上版本好亂...><"

svn://server170/test170 -->沒有page, 只有把mm移出來的stable版本
svn://server170/test174 version 182-->有page 的stable版本
svn://server170/test174 version 192-->加了linear copy 的stable版本, 但stack加大仍會爛的版本