1 引言
由于一般嵌入式开发系统存储容量有限,在裁减和定制Linux,运用于嵌入式系统前,通常需要在PC机上建立一个用于目标机的交叉编译环境,也就是将各种二进制工具程序集成为工具链,其中包括如GNU的链接器(ld)、GNU的汇编器(as)、ar(产生修改和解开一个存档文件)、C编译器(gcc)以及C链接库(glibc)。本文以在Linux系统上针对目标机arm为例,介绍了跨平台开发工具链的建立过程。
2 基本概念
2.1 什么是交叉编译?
简单地说,交叉编译就是在一个平台上生成在另一个平台上执行的代码。这里的平台包括体系结构(Architecture)和操作系统(OS)。同一个体系结构可以运行不同的操作系统,同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,x86 Linux平台是Intel x86 体系结构和Linux for x86操作系统的统称。
2.2 为什么要用交叉编译?
原因有两个。一是目标平台所需要的bootloader以及OS核心还没有建立时,需要作交叉编译。二是目标机设备不具备一定的处理器能力和存储空间,即单独在目标板上无法完成程序开发,所以只好求助宿主机。这样可以在宿主机上对即将在目标机上运行的应用程序进行编译,生成可以在目标机上运行的代码格式,然后移植到目标板上,也就是目前嵌入式程序开发的Host/Target模式。
2.3 对于i386的理解
如果单纯说i386、i686,就是指平时所说的CPU类型。从Linux内核设计上讲,i386是架构,i486/586/686这些CPU的架构都是i386,所以很多linux方面的设计都是基于i386。简单地说,i386跟ppc,alpha,arm等放在一起时就是指架构,跟i586,i686放在一起指处理器型号,一个是横向的,一个是纵向的。
3 建立过程
3.1 选定软件版本
要想选用适当的版本,以保证建立的工具链可用,就必须找到适合主机和目标板的组合。这些可以自己测试,也可以从网上寻找已经测试过的版本组合,即binutils、gcc、glibc的版本组合。我用的宿主机为redhat-9.0,目标机arm,选择的版本如下:
--------------------------------------------------------------------------------
binutils-2.11.2.tar.gz 包含有ld、ar、as等一些产生或者处理二进制文件的工具。
gcc-core-2.95.3.tar.gz 包含GCC的主体部分。
gcc-g++2.95.3.tar.gz 可以使GCC编译C++程序。
glibc-2.2.4.tar.gz libc是很多用户层应用都要用到的库,即C链接库。
glibc-linuxthreads-2.2.4.tar.gz libc用于支持Posix线程单独发布的压缩包。
linux-2.4.21.tar.gz+rmk1 Linux的内核及其支持ARM的补丁包。
--------------------------------------------------------------------------------
你可以尝试选定更新的版本,编译无法通过时,依次使用较旧的版本。即时发现新版本组合能够编译成功,仍然需要测试建立的工具链是否可以使用。
你可以从FTP网ftp://ftp.gnu.org/gnu/或者任何其他的镜像网站下载GNU工具链的各个组件:binutils包位于binutils目录,gcc包位于gcc目录,而glibc包与glibc-linuxthreads包放在glibc目录。下面给出上面选用的各个版本的下载路径。
--------------------------------------------------------------------------------
binutils-2.11.2.tar.gz
ftp://ftp.gnu.org/gnu/binutils/binutils-2.11.2.tar.gz
gcc-core-2.95.3.tar.gz
ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-core-2.95.3.tar.gz
gcc-g++2.95.3.tar.gz
ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-g++-2.95.3.tar.gz
glibc-2.2.4.tar.gz
ftp://ftp.gnu.org/gnu/glibc/glibc-2.2.4.tar.gz
glibc-linuxthreads-2.2.4.tar.gz
ftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.2.4.tar.gz
linux-2.4.21.tar.gz+rmk1
ftp://ftp.kernle.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.gz
ftp://ftp.arm.linux.org.uk/pub/linux/arm/kernel/v2.4/patch-2.4.21-rmk1.gz
--------------------------------------------------------------------------------
3.2 建立工作目录
我的用户名为lqm,所以所有的工作都在/home/lqm下面建立完成。
************************************************************
$cd /home/lqm 进入工作目录
$pwd 查看当前目录
/home/lqm
$mkdir embedded-system 创建工具链文件夹
$ls 查看/home/lqm建立的所有文件
embedded-system
************************************************************
现在已经建立了顶层文件夹embedded-system,下面在此文件夹下建立如下几个目录:
--------------------------------------------------------------------------------
setup-dir 存放下载的压缩包
src-dir 存放binutils、gcc、glibc解压之后的源文件
kernel 存放内核文件,对内核的配置和编译工作也在此完成
build-dir 编译src-dir下面的源文件。这是GNU推荐的源文件目录与编译目录分离的做法。
tool-chain 交叉编译工具链的安装位置
program 存放编写程序
doc 说明文档和脚本文件
--------------------------------------------------------------------------------
下面建立目录,并且下载源文件。
************************************************************
$pwd
/home/lqm/
$cd embedded-system
$mkdir setup-dir src-dir kernel build-dir tool-chain program doc
$ls
build-dir doc kernel program setup-dir src-dir tool-chain
$cd setup-dir
$wgetftp://ftp.gnu.org/gnu/binutils/binutils-2.11.2.tar.gz 下载源文件
$wgetftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-core-2.95.3.tar.gz
$wgetftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3/gcc-g++-2.95.3.tar.gz
$wgetftp://ftp.gnu.org/gnu/glibc/glibc-2.2.4.tar.gz
$wgetftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.2.4.tar.gz
$wgetftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.21.tar.gz
$wgetftp://ftp.arm.linux.org.uk/pub/linux/arm/kernel/v2.4/ patch-2.4.21-rmk1.gz
$ls
binutils-2.11.2.tar.gz gcc-g++-2.95.3.tar.gz glibc-linuxthreads-2.2.4.tar.gz
patch-2.4.21-rmk1.gz gcc-core-2.95.3.tar.gz glibc-2.2.4.tar.gz linux-2.4.21.tar.gz
$cd ../build-dir
$mkdir build-binutils build-gcc build-glibc 建立编译目录
************************************************************
3.3 输出环境变量
在建立与使用某些工具程序时,可能会用到这些目录的路径,如果设计一个简短的命令脚本,设定适当的环境变量,则可以简化操作过程。下面就建立命令脚本hjbl:
************************************************************
$pwd
/home/lqm/embedded-system/build-dir
$cd ../doc
$mkdir scripts
$cd scripts
$emacs hjbl 用文本编辑器emacs编译环境变量脚本
--------------------------------------------------------------------------------
在随后打开的emacs编辑窗口中输入下面内容(如果在命令行界面下,则必须要用到vi文本编辑器,emacs则不可以):
export PRJROOT=/home/lqm/embedded-system
export TARGET=arm-linux
export PREFIX=$PRJROOT/tool-chain
export TARGET_PREFIX=$PREFIX/$TARGET
export PATH=$PREFIX/bin:$PATH
保存后关闭emacs窗口,如果要在目前的窗口中执行此脚本,即让环境变量生效,还需要执行下面的语句:
--------------------------------------------------------------------------------
$. hjbl(注意:在点和hjbl之间有一个空格)
$cd $PRJROOT 验证环境变量是否生效
$ls
build-dir doc kernel program setup-dir src-dir tool-chain
************************************************************
该环境变量的作用时间仅仅在Terminal当前窗口,如果将窗口关闭,开启一个新的窗口,则环境变量实效,需要重新执行下面的命令:
$. /home/lqm/embedded-system/doc/scripts/hjbl
说明:
TARGET变量用来定义目标板的类型,以后会根据此目标板的类型来建立工具链。参看表1。目标板的定义与主机的类型是没有关系的,但是如果更改TARGET的值,GNU工具链必须重新建立一次。
PREFIX变量提供了指针,指向目标板工具程序将被安装的目录。
TARGET_PREFIX变量指向与目标板相关的头文件和链接库将被安装的目录。
PATH变量指向二进制文件(可执行文件)将被安装的目录。
表1 TARGET变量值
实际的目标板 TARGET变量值
[table=200][tr][td] PowerPC [/td][td] powerpc- linux
[/td][/tr][tr][td] ARM
[/td][td] arm-linux
[/td][/tr][tr][td] MIPS(bigendian)
[/td][td] mips-linux
[/td][/tr][tr][td] MIPS(littleendian)
[/td][td] mipsel-linux
[/td][/tr][tr][td] SuperH 4
[/td][td] sh4-linux[/td][/tr][/table]
3.4 内核头文件的配置
内核头文件的配置是建立工具链的第一步。它与后面将要执行的其他步骤有着类似性,大多需要执行下面几步操作:
1、 解压缩包
2、 为跨平台开发设定包的配置
3、 建立包
4、 安装包
************************************************************
$pwd
/home/lqm/embedded-system/
$cd kernel
$tar xvzf ../setup-dir/ linux-2.4.21.tar.gz 解压缩
$gunzip ../setup-dir/ patch-2.4.21-rmk1.gz
$cd linux-2.4.21
$patch -p1 < ../../setup-dir/patch-2.4.21-rmk1 给Linux内核打补丁
$make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig 配置
$make dep
--------------------------------------------------------------------------------
变量ARCH和CROSS_COMPILE的值与目标板的架构类型有关。如果使用PPC目标板,则ARCH=ppc CROSS_COMPILE=ppc-linux-。如果使用i386目标板,则ARCH=i386 CROSS_COMPILE=i386-linux-。
make menuconfig是以文本菜单方式配置。
make xconfig是以图形界面方式配置。
make config是纯文本方式界面配置。
一般选择make menuconfig,注意在选项System Types中选择正确的硬件类型。配置完退出并保存,检查一下的内核目录中的 kernel/linux-2.4.21/include/linux/version.h 和autoconf.h 文件是不是生成了,这是编译glibc是要用到。version.h 和 autoconf.h 文件的存在,说明你生成了正确的头文件。
然后,建立工具链需要的include目录,并将内核头文件复制过去。
--------------------------------------------------------------------------------
$cd include
$ln -s asm-arm asm #可以查看一下,经过编译可以自动生成。如果已经生成连接,则不必写
$cd asm
$ln -s arch-epxa arch #同上说明
$ln -s proc-armv proc #同上说明
#这些是针对makefile文件作出的修改
$mkdir -p $TARGET_PREFIX/include
$cp -r $PRJROOT/kernel/linux-2.4.21/include/linux $TARGET_PREFIX/include
$cp -r $PRJROOT/kernrl/linux-2.4.21/include/asm-arm $TARGET_PREFIX/include/asm
************************************************************
注意:
1、不必再每次重新设定内核配置之后重建工具链,除非你变更了处理器或系统的类型。工具链只需要一组可供目标板使用的有效头文件即可,这些头文件在前面的程序中早就已经提供了。
2、asm-linux文件夹放到目标文件夹$TARGET_PREFIX/include/时要更改名称为asm,因为配置文件的include包含都是
--------------------------------------------------------------------------------
.........
done
_udivsi3
_divsi3
_umodsi3
_modsi3
_dwmd_lnx
libgcc1.s:438:asm/unistd.h:No such file or directory
make [1] *** [libgcc1-asm.a] error 1
--------------------------------------------------------------------------------
3.5 binutils(二进制工具程序)的设置
binutils包中的工具常用来操作二进制目标文件。该包中最重要的两个工具就是GNU汇编器as和链接器ld。
************************************************************
$cd $PRJROOT/src-dir
$tar xvzf ../setup-dir/binutils-2.11.2.tar.gz
$cd $PRJROOT/build-dir/build-binutils
$../../src-dir/binutils-2.11.2/configure --target=$TARGET --prefix=$PREFIX
$make
$make install
$ls $PREFIX/bin 验证安装的结果是否正确
arm-linux-addr2line arm-linux-ld arm-linux-readelf
arm-linux-ar arm-linux-nm arm-linux-size
arm-linux-as arm-linux-objcopy arm-linux-strings
arm-linux-c++filt arm-linux-objdump arm-linux-strip
arm-linux-gasp arm-linux-ranlib
************************************************************
注意:每个工具的文件名的前缀都是前面为TARGET变量设定的值。如果目标板是i386-linux,那么这些工具的文件名前缀就会是i386-linux-。这样就可以根据目标板类型找到正确的工具程序。
3.6 初始编译器的建立
开始只能建立支持C语言的引导编译器,因为缺少C链接库(glibc)的支持。等到glibc编译好之后,可以重新编译gcc并提供完整的C++支持。
************************************************************
$cd $PRJROOT/setup-dir
$mv gcc-core-2.95.3.tar.gz gcc-2.95.3.tar.gz #重命名
$cd $PRJROOT/src-dir
$tar xvzf ../setup-dir/gcc-2.95.3.tar.gz
$cd $PRJROOT/build-dir/build-gcc
$../../src-dir/gcc-2.95.3/configure --target=$TARGET --prefix=$PREFIX --without-headers
--enable-languages=c
--------------------------------------------------------------------------------
因为是交叉编译器,还不需要目标板的系统头文件,所以需要使用 --without-headers这个选项。--enable-language=c用来告诉配置脚本,需要产生的编译器支持何种语言,现在只能支持C语言。--disable-threads是因为threads需要glibc的支持。
准备好了Makefile文件,进行编译之前,需要修改src-dir/gcc-2.95.3/gcc/config/arm/t-linux文件,在TARGET_LIBGCC2_CFLAGS中添加两个定义:-Dinhibit_libc -D__gthr_posix_h,否则会报错。
--------------------------------------------------------------------------------
$make
$make install
************************************************************
3.7 建立C库(glibc)
这一步是最为繁琐的过程。目标板必须靠它来执行或者是开发大部分的应用程序。glibc套件常被称为C链接库,但是glibc实际产生很多链接库,其中之一是C链接库libc。因为嵌入式系统的限制,标准GNU C链接库显得太大,不适合应用在目标板上。所以需要寻找C链接库的替代品,比如uClibc。在这里,现以标准GNU C为例建立工具链。
************************************************************
$cd $PRJROOT/src-dir
$tar xvzf ../setup-dir/glibc-2.2.4.tar.gz
$tar xvzf ../setup-dir/glibc-linuxthreads-2.2.4.tar.gz --directory=glibc-2.2.4
$cd $PRJROOT/build-dir/build-glibc
$CC=arm-linux-gcc ../../src-dir/glibc-2.2.4/configure --host=$TARGET --prefix=”/usr”
--enable-add-ons --with-headers=$TARGET_PREFIX/include
$make
$make install_root=$TARGET_PREFIX prefix=”” install
--------------------------------------------------------------------------------
在这里设定了install_root变量,指向链接库组件目前所要安装的目录。这样可以让链接库及其头文件安装到通过TARGET_PREFIX指定的与目标板有关的目录,而不是建立系统本身的/usr目录。因为之前使用--prefix选项来设定prefix变量的值,而且prefix的值会被附加到install_root的值之后,成为链接库组件的安装目录,所以需要重新设定prefix的值。这样所有的glibc组件将会安装到$TARGET_PREFIX指定的目录下。
--------------------------------------------------------------------------------
$cd $TARGET_PREFIX/lib
$cp ./libc.so ./libc.so.orig
--------------------------------------------------------------------------------
编辑文件libc.so,更改如下:
/* GNU ld script
Use the shared library,but some functions are only in
the static library,so try that secondarily.*/
GROUP(libc.so.6 libc_nonshared.a)
--------------------------------------------------------------------------------
************************************************************
3.8 完整编译器的设置
现在可以为目标板安装支持C和C++的完整编译器了。这个步骤相对于前面来建立过程要简单一些。
************************************************************
$cd $PRJROOT/build-dir/build-gcc
$../../src-dir/gcc-2.95.3/configure --target=$TARGET --prefix=$PREFIX
--enable-languages=c,c++
$make all
$make install
************************************************************
3.9 完成工具链的设置
************************************************************
$cd $TARGET_PREFIX/bin
$file as ar gcc ld nm ranlib strip 查看文件是否为二进制文件
$arm-linux-gcc -print-search-dirs 查看缺省的搜寻路径
$mv as ar gcc ld nm ranlib strip $PREFIX/lib/gcc-lib/arm-linux/2.95.3 转移文件
$for file in as ar gcc ld nm ranlib strip
>do
>ln -s $PREFIX/lib/gcc-lib/arm-linux/2.95.3/$file
>done
************************************************************
3.10 使用工具链
下面编写一个简单的C程序,使用建立的工具链。、
************************************************************
$cd $PRJROOT/program
$emacs hello.c
--------------------------------------------------------------------------------
在文本编辑器emacs中编写:
#include
int main()
{
int i;
for(i=1;i<9;i++)
printf(“Hello World %d times!\n”,i);
}
保存退出
--------------------------------------------------------------------------------
$gcc -g hello.c -o hello
$gdb
(gdb)file hello
(gdb)l
#include
int main()
{
int i;
for(i=1;i<9;i++)
printf(“Hello World %d times!\n”,i);
}
(gdb)r
(gdb)q
$arm-linux-gcc -g hello.c -o hello-linux
$file hello-linux
hello-linux:ELF 32-bit LSB executable,ARM,version 1(ARM),for GNU/Linux 2.0.0,dynamically linked(uses shared libs),not stripped
************************************************************
上面的输出说明你编译了一个能在 arm 体系结构下运行的 hello-linux,证明你的编译工具做成功了。
4 总结
通过上面的操作,已经能够建立全功能的跨平台开发工具链,在以后的嵌入式开发中将会经常用到。
说明:-----之间为说明文字
***之间为源程序
72.232.250.* 于 2007-03-14 21:52:22发表:
Well done!
free slot machine | no deposit online casinos | no limit texas hold em | free online video slots | free sims slots | free online texas hold em | poker games free | download free poker | omaha poker | online free poker
72.232.63.* 于 2007-03-14 21:52:18发表:
Great work!
online games | slot machine games | slots of fun | free poker | poker game online | play texas holdem online | free games on line | online strip blackjack | aussie slots | gambling online
72.232.63.* 于 2007-03-14 21:51:55发表:
Well done!
free slot machine | no deposit online casinos | no limit texas hold em | free online video slots | free sims slots | free online texas hold em | poker games free | download free poker | omaha poker | online free poker
72.232.63.* 于 2007-03-14 21:49:55发表:
Nice site!
stud poker | play bingo online | free slots machines | online casino | poker usa | blackjack games | online bingo games | black jack game | no deposit bonuses | video slot machines
65.110.43.* 于 2007-03-14 21:49:04发表:
Nice site!
free casino slot games | games download | strip blackjack free | black jack | flash casinos | play casino games | absolute poker | slot game | world series of poker | poker online
65.110.43.* 于 2007-03-14 21:48:50发表:
Good design!
joker poker | games slots | video slot machine | play slots for free | free fun slots | free online slot machine games | free online casino | free casino online | free online bingo | texas holdem free
0.0.0.* 于 2007-03-14 03:54:12发表:
I read this as kind of boilerplate "Americans are dumb" Euro-speak.
take surveys and get paid
paid to fill in surveys
paid survey australia
paid surveys for kids
paid for surveys directory
express paid surveys
payed surveys
take surveys and earn money
survey cash
paid to take a survey
http://study.haifa.ac.il/~akarakra/paid-surveys/express-paid-survey.html
http://study.haifa.ac.il/~akarakra/paid-surveys/online-survey-get-paid.html
http://study.haifa.ac.il/~akarakra/paid-surveys/is-it-safe-to-get-paid-to-do-surveys-online.html
http://study.haifa.ac.il/~akarakra/paid-surveys/get-paid-for-doing-surveys.html
http://study.haifa.ac.il/~akarakra/paid-surveys/paid-survey-at-home-com.html
http://study.haifa.ac.il/~akarakra/paid-surveys/surveys-and-get-paid.html
http://study.haifa.ac.il/~akarakra/paid-surveys/which-are-the-best-paid-online-surveys.html
http://study.haifa.ac.il/~akarakra/paid-surveys/paid-online-surveys-for-real.html
http://study.haifa.ac.il/~akarakra/paid-surveys/taking-consumer-surveys-for-money.html
http://study.haifa.ac.il/~akarakra/paid-surveys/money-for-surveys-paid-survey.html
72.232.250.* 于 2007-03-14 03:11:09发表:
Nice site!
casino slot games | aussie slots | russian roulette games | no deposit bonus casinos | free slots games | casino free | no deposit casino bonuses | slim slots | free money casinos | free online texas holdem
72.232.250.* 于 2007-03-14 03:10:41发表:
Thank you!
play roulette | sims free slots | games on line | video poker | no deposit bingo | paradise poker | free poker download | free poker websites | free money casino | free slot machine games online
65.110.43.* 于 2007-03-14 03:10:02发表:
Good design!
free joker poker | black jack download | download free poker games | free online bingo | casino poker | free texas hold em online | play free slots online | free no deposit casino | free poker money | video slot
65.110.43.* 于 2007-03-14 03:09:38发表:
Great work!
internet gambling | free slim slots | free three card poker | slot games | poker stars download | monopoly slots | online casino games | virtual poker | noble poker | online slots
72.232.63.* 于 2007-03-14 03:09:18发表:
Well done!
free download poker | free roulette online | roulette online | black jack game | free poker game download | poker usa | free slots | cleopatra slots | blackjack free games | 3 card poker
65.110.43.* 于 2007-03-12 18:03:31发表:
Great work!
free blackjack game | free bingo | free casino cash | cleopatra slots | free online casino | internet bingo | keno online | play black jack | play bingo online | casino bonuses
72.232.63.* 于 2007-03-12 18:03:15发表:
Thank you!
play blackjack online | online black jack | sims slots | free texas hold em | cleopatra slot | poker stars | roulette online | free blackjack | video slots free | poker free download
65.110.43.* 于 2007-03-12 18:02:32发表:
Well done!
online roulette free | casino bonus | pai gow poker | no deposit online casinos | free texas hold em | flash casinos | slot game | empire poker | play casino games | free video slot games
72.232.250.* 于 2007-03-12 18:02:11发表:
Good design!
play free slot machines | free online slot machines | world series of poker | free online roulette | video slots | poker web sites | texas hold em | free slots | poker for fun | casino online
65.110.43.* 于 2007-03-12 18:01:54发表:
Good design!
black jack online | poker usa | free money no deposit casinos | poker stars download | online texas hold em | us poker sites | free internet poker | absolute poker | casino slot games | free slots game
0.0.0.* 于 2007-03-12 11:57:15发表:
I just don't have much to say lately. I've pretty much been doing nothing to speak of, but that's how it is. Eh. Nothing seems worth thinking about, but I don't care. Today was a loss. Oh well.
http://study.haifa.ac.il/~akarakra/paid-surveys/sitemap.html
Paid Surveys Directory
http://study.haifa.ac.il/~akarakra/paid-surveys/index.html
Paid Surveys
http://study.haifa.ac.il/~akarakra/paid-surveys/get-paid-to-take-survey.html
http://study.haifa.ac.il/~akarakra/paid-surveys/surveys-for-cash.html
http://study.haifa.ac.il/~akarakra/paid-surveys/about-paid-surveys.html
http://study.haifa.ac.il/~akarakra/paid-surveys/best-get-paid-to-fill-survey.html
http://study.haifa.ac.il/~akarakra/paid-surveys/www-paid-surveys.html
72.232.250.* 于 2007-03-11 19:43:31发表:
Good design!
free slot play | free casino online | on line gambling | play free slots online | free video poker | games online | free casino cash | online texas holdem | planet poker | no deposit bonus
65.110.43.* 于 2007-03-11 19:42:44发表:
Nice site!
online bingo games | poker game download | online roulette free | play texas holdem free | casino games free | slots online | poker machines | aussie slots | black jack games | poker for free
72.232.250.* 于 2007-03-11 19:42:11发表:
Thank you!
casino bonuses | new no deposit online casinos | free poker | online blackjack | free slots for fun | games download | 3 card poker | free casino | free slot machine games | free online poker games
72.232.63.* 于 2007-03-11 19:41:49发表:
Great work!
internet gambling | free monopoly online | star poker | online bingo | poker free | roulette free | free casino games online | cleopatra slot machine | new online casinos | free play slots
72.232.63.* 于 2007-03-11 19:41:32发表:
Well done!
black jack online | free texas hold em | free online blackjack | free online poker | hold em poker | free slot | free poker money | free slot machines online | video slot games | download free poker
0.0.0.* 于 2007-03-11 14:31:55发表:
I've more or less been doing nothing to speak of. I just don't have much to say these days, not that it matters. Basically not much noteworthy going on worth mentioning. So it goes.
cam free sex
cams sex
free sex cams
live cam girls
live sex web cam
cam girls
shower cams
live cams sex
free sex cams
free adult web cam
http://www.planetnana.co.il/zalupka/free-live-cams.html
http://www.desiurl.com/2ff26
http://people.clarkson.edu/~crameram/tc442/perl/uploads/free-chat-sex.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/live-cam-free.html
http://www.desiurl.com/869a2
http://study.haifa.ac.il/~lbonfis/1/weight-loss-programs.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/adult-cam.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/porn-cam.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/live-sex-cam.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/web-cam-girls.html
0.0.0.* 于 2007-03-10 23:32:21发表:
There are a few men in opera who don't mind doing beefcake. Friends and I used to joke that Samuel Ramey had a clause in his contracts mandating him baring his furry chest at some point.
live cams sex
free live sex cams
sex webcam
web cam sex
web cam girl
sex web cams
cam girls
sex video chat
teen cams
live sex webcam
http://people.clarkson.edu/~crameram/tc442/perl/uploads/web-cam-porn.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/sex-web-cam.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/adult-webcam.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/cam-free-sex.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/cam-girls.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/sex-cam.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/cam-sex.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/live-sex-webcam.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/video-chat-sex.html
http://people.clarkson.edu/~crameram/tc442/perl/uploads/free-adult-cams.html
72.232.250.* 于 2007-03-10 20:14:13发表:
Well done!
internet poker | play texas hold em | russian roulette game | free slots on line | casino no deposit | free online casinos | new no deposit casinos | free slot machines | slot machines | online bingo games
72.232.250.* 于 2007-03-10 20:14:13发表:
Well done!
video poker free | online casinos | texas holdem free | new no deposit online casinos | black jack free | no limit texas hold em | casino free | free three card poker | roulette | roulette free
72.232.250.* 于 2007-03-10 20:14:13发表:
Great work!
blackjack free | free poker money | online free roulette | play casino games | poker online free | poker game | free poker | free blackjack | no download slots | video slots free
72.232.250.* 于 2007-03-10 20:14:12发表:
Great work!
blackjack free | free poker money | online free roulette | play casino games | poker online free | poker game | free poker | free blackjack | no download slots | video slots free
65.110.43.* 于 2007-03-10 20:13:15发表:
Well done!
video poker free | online casinos | texas holdem free | new no deposit online casinos | black jack free | no limit texas hold em | casino free | free three card poker | roulette | roulette free
65.110.43.* 于 2007-03-10 20:13:14发表:
Good design!
gambling machines | pokerstars download | blackjack for free | video slots | free online poker games | games on line | play slots for free | free poker software | download poker game | free slots downloads
65.110.43.* 于 2007-03-10 20:12:48发表:
Great work!
blackjack free | free poker money | online free roulette | play casino games | poker online free | poker game | free poker | free blackjack | no download slots | video slots free
65.110.43.* 于 2007-03-10 20:12:45发表:
Well done!
internet poker | play texas hold em | russian roulette game | free slots on line | casino no deposit | free online casinos | new no deposit casinos | free slot machines | slot machines | online bingo games
65.110.43.* 于 2007-03-10 20:11:55发表:
Good design!
free games online | free casino slots | strip blackjack online | black jack | free blackjack online | play free slot machines | free poker download | holdem poker | online poker free | free roulette
0.0.0.* 于 2007-03-10 08:48:17发表:
I've just been staying at home not getting anything done. Pfft. Eh. I feel like a fog. I've pretty much been doing nothing.
http://study.haifa.ac.il/~lbonfis/1/sitemap.html
weight loss resource
http://study.haifa.ac.il/~lbonfis/1/index.html
weight loss programs
diet news
enjoying weight loss
best weight loss products
atkins weight loss
weight loss tickers
http://study.haifa.ac.il/~lbonfis/1/drastic-weight-loss.html
http://study.haifa.ac.il/~lbonfis/1/best-proven-weight-loss-pills.html
http://study.haifa.ac.il/~lbonfis/1/military-diet.html
http://study.haifa.ac.il/~lbonfis/1/walking-for-weight-loss.html
http://study.haifa.ac.il/~lbonfis/1/weight-loss-ephedrine.html
65.110.43.* 于 2007-03-09 18:41:09发表:
Well done!
No download casino | Video Slots | Paradise Poker | Slot Machines | Blackjack Online | Online Texas Holdem | Full Tilt Poker | Play roulette online | Joker poker | Poker game download
65.110.43.* 于 2007-03-09 18:40:16发表:
Well done!
Online roulette free | Russian Roulette | Blackjack Download | Caribbean Poker | Caribbean poker | New Free Money Online Casinos | New online casinos | No deposit casino bonus | Roulette download | Poker Software
72.232.250.* 于 2007-03-09 18:39:49发表:
Well done!
Video Slot Games | New casinos | Slot Machines Games | Free casino slot games | Slots Download | Poker usa | Absolute Poker | Poker Websites | Free Online Slot Machine | Casino free games
72.232.250.* 于 2007-03-09 18:39:32发表:
Great work!
Russian roulette game | Poker Free | Free Blackjack Online | Strip Black Jack | Play Free Slot Machines | Free Poker Money | Play roulette | Online poker game | Free Casino Online | Poker Online Free
72.232.63.* 于 2007-03-09 18:39:20发表:
Good design!
Slots For Free | Video poker download | Play Texas Holdem | Online Poker Sites | Online roulette | Strip Blackjack | Play Poker For Free | Free Poker Games Online | Black Jack | Poker on line