2009年4月27日星期一

安装显卡驱动 for Dell Vostro 1320

下载 realtek驱动源代码:

rpm -ivh realtek-r8169-8.008.00-0.src.rpm
cd /usr/src/packages/SOURCES/
cd ../SPECS/
rpmbuild -bb realtek-r8169-8.008.00.spec
cd ../RPMS/
cd i586/
rpm -ivh realtek-r8169-kmp-pae-8.008.00_2.6.27.15_2-0.i586.rpm
rpm -qpl realtek-r8169-kmp-pae-8.008.00_2.6.27.15_2-0.i586.rpm
modprobe r8169

2009年3月17日星期二

常用的Linux系统分析和调优命令

1. ldd
查找命令需要的动态连接库
yangguo:~ # ldd /bin/ls
linux-gate.so.1 => (0xffffe000)
librt.so.1 => /lib/librt.so.1 (0xb8068000)
libselinux.so.1 => /lib/libselinux.so.1 (0xb804b000)
libacl.so.1 => /lib/libacl.so.1 (0xb8042000)
libc.so.6 => /lib/libc.so.6 (0xb7ee6000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7ecb000)
/lib/ld-linux.so.2 (0xb8096000)
libdl.so.2 => /lib/libdl.so.2 (0xb7ec6000)
libattr.so.1 => /lib/libattr.so.1 (0xb7ec0000)

2. ltrace
查看进程的库调用
yangguo:~ # ltrace -c find ~

% time seconds usecs/call calls function
------ ----------- ----------- --------- --------------------
92.49 2.245147 12070 186 readdir64
4.72 0.114615 3274 35 __fxstatat64
0.52 0.012696 147 86 memcpy
0.41 0.009919 23 425 __errno_location
0.38 0.009212 9212 1 dcgettext
0.16 0.003963 46 85 __fprintf_chk
0.16 0.003896 19 203 strlen
0.13 0.003162 19 166 free
[.....]
0.00 0.000019 19 1 textdomain
------ ----------- ----------- --------- --------------------
100.00 2.427575 2091 total

3. strace
查看进程运行的系统调用
yangguo:~ # strace -e open ls .bashrc
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/librt.so.1", O_RDONLY) = 3
open("/lib/libselinux.so.1", O_RDONLY) = 3
open("/lib/libacl.so.1", O_RDONLY) = 3
open("/lib/libc.so.6", O_RDONLY) = 3
open("/lib/libpthread.so.0", O_RDONLY) = 3
open("/lib/libdl.so.2", O_RDONLY) = 3
open("/lib/libattr.so.1", O_RDONLY) = 3
open("/dev/urandom", O_RDONLY) = 3


4. file
查看文件类型
yangguo:~ # file /usr/bin/file
/usr/bin/file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), stripped

5. mount
列出文件系统的安装点情况
yangguo:~ # mount
/dev/sda7 on / type ext3 (rw,acl,user_xattr)
/proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sda8 on /home type reiserfs (rw,acl,user_xattr)
/dev/sda1 on /windows/c type fuseblk (rw,noexec,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sda5 on /windows/d type fuseblk (rw,noexec,nosuid,nodev,allow_other,default_permissions,blksize=4096)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
securityfs on /sys/kernel/security type securityfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
gvfs-fuse-daemon on /home/fong/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=fong)

6. df
查看文件系统的使用情况
yangguo:~ # df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda7 15G 7.2G 7.0G 51% /
udev 987M 632K 986M 1% /dev
/dev/sda8 35G 26G 8.9G 75% /home
/dev/sda1 36G 20G 16G 55% /windows/c
/dev/sda5 54G 28G 27G 51% /windows/d

7. du
查看文件目录的大小
yangguo:~ # du -sh /lost+found/
16K /lost+found/

8. readelf
读取elf二进制文件的内容
yangguo:~ # readelf --file-header /bin/ls
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0x8049ba0
Start of program headers: 52 (bytes into file)
Start of section headers: 99276 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 9
Size of section headers: 40 (bytes)
Number of section headers: 32
Section header string table index: 31

9. stat
查看文件属性
yangguo:~ # stat --filesystem /etc/profile
File: "/etc/profile"
ID: 8d9614f821ddde52 Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 3870200 Free: 2007970 Available: 1811375
Inodes: Total: 983040 Free: 667527

10. lspci
查看pci硬件信息, 使用 -v 可以查看详细信息。
yangguo:~ # lspci
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 0c)
00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 0c)
00:19.0 Ethernet controller: Intel Corporation 82566MM Gigabit Network Connection (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HBM (ICH8M-E) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation Quadro NVS 140M (rev a1)
03:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b6)

11. lsusb
查看usb设备信息, 使用 -v 可列出详细信息。
yangguo:~ # lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 04b3:3107 IBM Corp. ThinkPad 800dpi Optical Travel Mouse
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 003 Device 002: ID 0a5c:2110 Broadcom Corp. Bluetooth Controller
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

12. netstat
列出网络连接情况,包括路由(-r),接口(-i), masquerade连接(-M),统计信息(-s),广播信息(-g)和各种协议 TCP (-t), UDP (-u), or raw (-r)
yangguo:~ # netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
147.2.212.0 * 255.255.255.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default 147.2.212.254 0.0.0.0 UG 0 0 0 eth0

13. /proc文件系统
/proc是一个伪文件系统,用来保存总要的内核信息。
13.1 /proc/cpuinfo, 查看cpu信息
yangguo:~ # cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz
stepping : 6
cpu MHz : 800.000
cache size : 3072 KB

/proc/interrupts:使用的中断
/proc/devices: 可用的设备
/proc/modules:装载的内核模块
/proc/cmdline:内核命令行
/proc/meminfo:具体的内存使用情况
/proc/config.gz:正在运行的内核压缩配置文件
/proc/NNN : 具体某个进程的运行情况,其中NNN是PID

14. procinfo
查看/proc文件系统中重要信息的总体情况
yangguo:~ # procinfo
Linux 2.6.27.19-5-pae (geeko@buildhost) (gcc 4.3.2) #1 SMP 2009-02-28 04:40:21 +0100 2CPU [yangguo.]

Memory: Total Used Free Shared Buffers Cached
Mem: 2019620 1816992 202628 0 124348 976736
Swap: 4192924 984 4191940

Bootup: Tue Mar 17 09:56:04 2009 Load average: 2.24 2.28 1.53 3/372 3209

user : 2:21:47.06 27.3% page in : 4737423 disk 1: 299547r 253876w
nice : 0:00:11.15 0.0% page out: 7381544
system: 0:18:04.21 3.5% page act: 923262
IOwait: 0:31:45.83 6.1% page dea: 618072
hw irq: 0:00:23.38 0.1% page flt: 118613486
sw irq: 0:00:17.70 0.0% swap in : 219
idle : 5:36:29.85 64.9% swap out: 326
uptime: 4:19:12.73 context : 39369113

irq 0: 10709293 timer irq 18: 0 uhci_hcd:usb7
irq 1: 20459 i8042 irq 19: 2 ehci_hcd:usb2
irq 8: 1 rtc0 irq 20: 294 uhci_hcd:usb3
irq 9: 17710 acpi irq 21: 0 uhci_hcd:usb4
irq 12: 1275484 i8042 irq 22: 3 ehci_hcd:usb1
irq 14: 150963 ata_piix irq215: 254583 iwlagn
irq 15: 0 ata_piix irq216: 282251 eth0
irq 16: 31118 uhci_hcd:usb5, yenta irq217: 568250 ahci
irq 17: 2030 uhci_hcd:usb6, HDA In


2007年9月26日星期三

Back from OOoCon2007 in Barcelona

Back from OOoCon2007 in Barcelona

Check the mails, so many. skip one by one and answer some of them

complete the Novell 2007 employee engagement survey. begin to do COBE. listen to the training modules. print the copy and prepare to have a look after back home.

my cws cjksp1 resync
* check out the code
*

ooo-build update to m5

plan to blog my work about cjk functions

2007年7月3日星期二

2007年7月3日 星期二

* download oox
** investiage the framework

* zoom factor
** how to set local zoom factor, not global zoom factor

find ZoomFactor in go-oo.org, got:
http://go-oo.org/lxr/source/sw/sw/source/ui/uiview/view.cxx#1485
const SwViewOption* pVOpt = pWrtShell->GetViewOptions();
if ( bGotZoomType && bGotZoomFactor &&
( pVOpt->GetZoom() != nZoomFactor || pVOpt->GetZoomType() != eZoom ) )
SetZoom( eZoom, nZoomFactor, sal_True );
upload file to sf.net
* update the ssh pub key to :https://sourceforge.net/account/editsshkeys.php
* create a module in sf
fong@fong:~/hackweek/uof-filter> export CVS_RSH=ssh
fong@fong:~/hackweek/uof-filter> cvs -z3 -d:ext:odf4all@uof-converter.cvs.sourceforge.net:/cvsroot/uof-converter import -m "uof filter" uoffilter jrandom start


check the patch of font list box:
* backup the files
fong@fong:/local/SRC680_m211> cp psprint/inc/psprint/fontmanager.hxx psprint/inc/psprint/fontmanager.hxx.orig
fong@fong:/local/SRC680_m211> cp psprint/source/fontmanager/fontconfig.cxx psprint/source/fontmanager/fontconfig.cxx.orig
fong@fong:/local/SRC680_m211> vi svtools/inc/ctrlbox.hxx svtools/inc/ctrlbox.hxx.orig
还有 2 个文件等待编辑
fong@fong:/local/SRC680_m211> cp svtools/inc/ctrlbox.hxx svtools/inc/ctrlbox.hxx.orig
fong@fong:/local/SRC680_m211> cp svtools/source/control/ctrlbox.cxx svtools/source/control/ctrlbox.cxx.orig
fong@fong:/local/SRC680_m211> cp svtools/util/makefile.mk svtools/util/makefile.mk.orig
fong@fong:/local/SRC680_m211> cp svx/source/items/textitem.cxx svx/source/items/textitem.cxx.orig
fong@fong:/local/SRC680_m211> cp svx/util/makefile.mk svx/util/makefile.mk.orig

* apply the patch


*

An Introduction to the OpenOffice.org API

http://platform.netbeans.org/tutorials/nbm-open-office.html



ooo-build

/home/fong/ooo-build/build/src680-m216/writerperfect/source/wpgimp/WPGImportFilter.cxx: In member function 'virtual sal_Bool WPGImportFilter::filter(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&)':
/home/fong/ooo-build/build/src680-m216/writerperfect/source/wpgimp/WPGImportFilter.cxx:161: error: cannot declare variable 'exporter' to be of abstract type 'OdgExporter'
/home/fong/ooo-build/build/src680-m216/writerperfect/source/wpgimp/OdgExporter.hxx:38: note: because the following virtual functions are pure within 'OdgExporter':
/home/fong/ooo-build/build/src680-m216/solver/680/unxlngi6.pro/inc/libwpg/WPGPaintInterface.h:45: note: virtual void libwpg::WPGPaintInterface::startGraphics(double, double)
/home/fong/ooo-build/build/src680-m216/solver/680/unxlngi6.pro/inc/libwpg/WPGPaintInterface.h:69: note: virtual void libwpg::WPGPaintInterface::endGraphics()
dmake: Error code 1, while making '../../unxlngi6.pro/slo/WPGImportFilter.obj'

2007年6月25日星期一

Tab browsing for OpenOffice.org

If you can load all the documents ( text, presentation, spreadsheet) in a single OpenOffice.org window, and use tabs to navigate between them, would it be good for you?

I will spend a week to "hack" on this problem and try to see whether I can make a prototype for it.

I think it is not a easy stuff, so your suggestion is very appreciated.

http://www.openoffice.org/issues/show_bug.cgi?id=12686
http://wiki.services.openoffice.org/wiki/Framework/WorkInProgress/Tabbed_Windows_Extension
http://wiki.services.openoffice.org/wiki/Framework/TabBrowse/Development

http://www.openoffice.org/issues/show_bug.cgi?id=54847
check out the code in the cws: gsoc

2007年6月22日星期五

* Investigate how to add a typedetection for OOo
two files should be added, one is for "type", the other is for "filter".
refer to svg-import :http://www.ipd.uka.de/~hauma/svg-import/

* learn Python-uno bridge

* how to use XRayTool
download xraytool and install, but not know how to use it.

* install object inspector

reference:
* Articles about the macro language OpenOffice.org/StarBASIC: http://wiki.services.openoffice.org/wiki/Category:Basic:Tutorials
* IDL and Cpp: http://wiki.services.openoffice.org/wiki/IDL_Files_and_Cpp#Core_reflection_service_and_its_Interfaces
* WEB api: http://api.openoffice.org/docs/common/ref/index-files/index-1.html
* using cpp with the OOo sdk: http://wiki.services.openoffice.org/wiki/Using_Cpp_with_the_OOo_SDK




2007年6月21日星期四

2007年6月21日 星期4

* learn how to write extension in OOo
download some materials
* http://api.openoffice.org/docs/DevelopersGuide/Components/Components.xhtml#1_7_3_Add-Ons
Read this guid

print http://api.openoffice.org/docs/DevelopersGuide/Extensions/Extensions.xhtml#1_Extensions,
read this tonight