




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
配置tftp配置tftp服务的步骤:1、安装相关软件包:tftpd(服务端),tftp(客户端),xinetdsudo apt-get install tftpd tftp xinetd 2、建立配置文件在/etc/xinetd.d/下建立一个配置文件tftpsudo vi tftp在文件中输入以下内容:service tftpsocket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /tftpbootdisable = noper_source = 11cps = 100 2flags = IPv4保存退出3、建立tftp服务文件目录(上传文件与下载文件的位置),并且更改其权限sudo mkdir /tftpbootsudo chmod 777 /tftpboot -R4、重新启动服务sudo /etc/init.d/xinetd restart至此tftp服务已经安装完成了,下面可以对其进行一下测试。(假设在当前目录下有一个测试文件test.txt)$tftp tftp put test.txtSent 1018 bytes in 0.0 secondstftp get test.txtReceived 1018 bytes in 0.1 secondstftp quit$通过get命令,可以把当前目录下的test.txt文件,通过tftp上传到它的服务文件目录。这时,在/tftpboot下面会出现test.txt文件。通过put命令,可以从/tftpboot下,下载test.txt文件。这样就验证了tftp服务配置的正确性。当文件上传与下载结束后,可以通过quit命令退出。严格按照以上步骤配置tftp服务,一般都可以成功。如果出现无法get或者put的时候,可以查看一下防火墙是否关闭。配置nfs服务器在ubuntu下安装、配置nfs服务的步骤如下:1、安装nfsUbuntu上默认是没有安装nfs服务器的,因此我们首先安装nfs服务器端:$sudo apt-get install nfs-kernel-server在一些文档中,提出还需要使用apt-get来手动安装nfs的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动为我们把它们安装好。2、配置/etc/exportsnfs允许挂载的目录及权限在文件/etc/exports中进行了定义。例如,我们要将根目录下的rootfs目录共享出来,那么我们需要在/etc/exports文件末尾添加如下一行:/rootfs *(rw,sync,no_root_squash)其中:/rootfs是要共享的目录,*代表允许所有的网络段访问,rw是可读写权限,sync是资料同步写入内存和硬盘,no_root_squash是nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。其它nfs常用的参数有:ro 只读访问rw 读写访问sync 所有数据在请求时写入共享async nfs在写入数据前可以响应请求secure nfs通过1024以下的安全TCP/IP端口发送insecure nfs通过1024以上的端口发送wdelay 如果多个用户要写入nfs目录,则归组写入(默认)no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。hide 在nfs共享目录中不共享其子目录no_hide 共享nfs目录的子目录subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)no_subtree_check 和上面相对,不检查父目录权限all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。no_all_squash 保留共享文件的UID和GID(默认)root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)no_root_squas root用户具有根目录的完全管理访问权限anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UIDanongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID3、重启服务$sudo /etc/init.d/portmap restart$sudo /etc/init.d/nfs-kernel-server restart4、测试nfs此时可以运行以下命令来显示一下共享出来的目录:$showmount -e或者可以使用以下命令把它挂载在本地磁盘上,例如将/rootfs挂载到/mnt下:$ sudo mount -t nfs localhost:/rootfs /mnt可以运行df命令查看是否挂载成功。查看后可以使用以下命令卸载:$ sudo umount /mntQT4向s3c2410平台移植1.开发平台:ubuntu 8.10,交叉编译器版本3.4.5(arm-linux-gcc),qt-embedded-linux-opensource-src-4.4.3.tar.gz。2.目标平台:s3c2410,320*240触摸屏 ,linux-,u-boot-1.3.43.移植步骤如下:(1)首先配置linux内核,支持LCD驱动,然后点亮你的屏,并且支持framebuffer,具体的内核配置如下: Device Drivers - Graphics support - Support for frame buffer devices - S3C2410 LCD framebuffer support 当然里面还涉及一些细节,这里就不一一说了,如果大家这块有问题,可以提出来!(2)如果你想支持USB鼠标和USB键盘,只需配置内核既可: Device Drivers - * HID Devices - USB Human Interface Device (full HID) support (3)编译内核进行测试。(4)接下来我们在以上工作的基础上开始移植QT4。首先下载源码:ftp:/ftp.trolltech.no/qt/source/qt-embedded-linux-opensource-src-4.4.3.tar.gz,放在你普通用户的一个目录,比如/home/yoyoili/qt4_port.解压.(5)进入解压好的目录。(6)然后就是很关键的配置,QT4的移植是通过配置来是否支持某种特性,比如openssl等等。那么根据你自己的需求呢进行相应的配置就可以了,这里参考网站的一篇文章进行了配置,具体如下:./configure -prefix /home/yoyoili/qt4_port/qt/build /指定安装的目录,与开发板上运行的目录一致 -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g+ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb -confirm-license -no-armfpa这里我没有去实现触摸屏的校准,由于时间的问题,以后陆续补充完整,如果支持触摸屏在加一个:-qt-mouse-tslib。这个过程如果涉及很多问题,一般都是你的系统缺少了某些库的问题,我的ubuntu 8.10相应的库都安装的比较齐全,没有错误,如果你是fedroa,只需要完全安装,就不会有什么问题,这个是验证过的!(7)然后就是make & make install,编译和安装了,如果好的话,就会在你的安装目录,也就是 /home/yoyoili/qt4_port/qt/build 有相应的如下目录:bin include lib mkspecs plugins translations,大家可以看看里面的内容。这里我们关心的是一个lib,就是库文件,以后交叉编译好的程序在板子上跑起来以后都需要这些库。把所需要的库拷贝到开发板的相应的目录即可,这里比如:cp /home/yoyoili/qt4_port/qt/build/lib/libQt* /home/yoyoili/source/rootfs/home/qt/build/lib,当然有的库你可以不需要拷贝的。(8)然后拷贝显示中文的文泉驿字体,这里比如:cp /home/yoyoili/qt4_port/qt/build/lib/fonts/wenquanyi_160_75.qpf /home/yoyoili/source/rootfs/home/qt/build/fonts (前面的路径就是编译并安装以后的目录,这个字体就是这个目录的lib/fonts下面 ,当然后面就是我们开发板根文件系统的目录)(9)测试,我们用源码自带的程序来进行测试,比如在源码的example里有很多,你只需qmake & make就可以了,然后把可执行文件拷贝开发板上用的根文件系统。(10)设置相应的环境变量,这个环境变量是给开发板使用的,不是给你的PC机!具体如下: export QTDIR=/home/qt/build export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH /(否则找不到库) export PATH=$QTDIR/bin:$PATH export QT_QWS_FONTDIR=/home/qt/build/fonts / (否则字体无法显示) 当然如果你用触摸屏还有相关的设置,你也需要在这里添加!(11)运行我们的程序: ./test -qws -fn /home/qt/build/fonts/wenquanyi_160_75.qpf然后你的屏上就有了显示。(12)然后你可以在开发板上插上你的USB鼠标就可以来操作这个小QT程序了。(13)如果你想玩键盘:设置你的console=tty0既可以操作你的开发板了,你就可以玩命令了,那么这个console的参数的指定有两种方法,一个可以通过u-boot传递,这里比如:setenv bootargs root=/dev/nfs nfsroot=10:/home/yoyoili/source/rootfs ip=20 init=/linuxrc console=tty0,另一个就是通过内核,你只需配置内核既可以:具体如下: Boot options - (root=/dev/nfs nfsroot=:/home/yoyoili/source/rootfs ip= init=/linuxrc console=tty0)!(14)这里说一下可能出现的问题: 1.在编译你的QT程序的时候会有一个collect错误,应该是连接的qt4的库不是arm交叉编译工具编译的,两者连接有冲突。在中去掉对qt4库的连接即可,增加一行CONFIG -= qt,即可去掉。 2.如果出现这个问题:/lib/libQtCore.so: undefined reference to clock_gettim解决的办法就是在Makefile里的LFAGS后添加一个 -lrt就可以。 3.有的人用的交叉编译器是用的arm-softfloat-linux
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论