分享
分销 收藏 举报 申诉 / 9
播放页_导航下方通栏广告

类型Linux下移植步骤-qt.docx

  • 上传人:仙人****88
  • 文档编号:12005023
  • 上传时间:2025-08-26
  • 格式:DOCX
  • 页数:9
  • 大小:68.93KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Linux 移植 步骤 qt
    资源描述:
    Fedora14移植步骤 一、 交叉编译环境 1.安装arm交叉工具,解压arm-linux-gcc-4.4.3-20100728.tar.gz到根目录 tar –vxzf arm-linux-gcc-4.4.3-20100728.tar.gz -C / 2.配置arm交叉工具环境变量:使用root用户修改/etc/profile文件,添加 export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH source /etc/profile 二、 U-boot编译与移植 1.解压u-boot源码: tar -vxf u-boot-2009.11.tar.bz2 2.编译u-boot :进入u-boot所在目录 配置u-boot:make mini2440_config 编译u-boot:make 3.使用dnw将u-boot.bin烧写到nand flash里面 4.配置u-boot的ip地址,服务器地址,子网掩码,网关 5.配置u-boot的环境变量:setenv bootargs “noinitrd init=/linuxrc console=ttySAC0 root=/dev/nfs rw nfsroot=192.168.1.200:/opt/studyarm/rootfs ip=192.168.1.201:192.168.1.200:192.168.1.254:255.255.255.0”(具体参数值参考qt移植文档),注意,要启动,需要等到根文件系统做完。 setenv bootcmd “nand read 30008000 80000 500000;bootm 30008000” 三、 配置nfs服务器和tftp服务器: nfs: 1.安装:yum install nfs* 2.配置:编辑/etc/exports,写入:/opt/studyarm/ 192.168.1.*(rw,sync,no_root_squash) 3.重启nfs服务:service nfs restart tftp: 1.关闭SELinux:打开“系统”->管理->SELinux,应用模式:disable 2.安装xinetd-2.3.14-32.fc14.i686.rpm, tftp-server-0.49-6.fc14.i686.rpm(注意,必须先安装xinetd,再安装tftp-server,双击即可安装); 3.配置tftp:修改/etc/xinetd.d/tftp文件, 4.重启tftp服务:/etc/init.d/xinetd restart 验证安装成功:netstat -a | grep tftp showmount -e 127.0.0.1 四、 内核编译与移植 1.解压内核源码:tar –vxf linux-2.6.32.2.tar.gz 2.进入内核源码目录,配置内核环境:make menuconfig(运行后,保存退出,将内核目录中config_mini2440_t35拷贝为.config 3.编译内核:make zImage 4.使用编译u-boot时产生的 mkimage工具(在u-boot路径下的tools文件夹下)制作u-boot专用的映像文件 uImage. mkimage -n 'linux-2.6.32-arm2440' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage uImage (''是单引号。)。并将uImage拷贝到/home/User/tftp/目录下。 5.将开发板nand flash启动,在u-boot命令行执行: tftp 30008000 uImage; 6.烧写nand flash nand erase 8000 size nand write 30008000 80000 size 备注:TFTP下载内核映像时传输的数据总量会在完成时显示(down_size),而烧写 nand_flash时数据大小必须是2k对齐的,所以我们要对下载的数据大小做一点小小的改变以适应nand_flash,如果down_size百位>8,则size = down_size+1000 后把低3位清零;如果down_size百位<8,则size = down_size低3位清零+800。比如 down_size **a967,则size = **b000;down_size **a567,则size = **a800。 五、 根文件系统制作和移植: 1.根文件目录中,各个文件目录的作用: 目录 内容 bin 存放所有用户都可以使用的、基本的命令。 sbin 存放的是基本的系统命令,它们用于启动系统、修复系统等。 usr 里面存放的是共享、只读的程序和数据。 proc 这是个空目录,常作为proc文件系统的挂载点。 dev 该目录存放设备文件和其它特殊文件。 etc 存放系统配置文件,包括启动文件。 lib 存放共享库和可加载块(即驱动程序),共享库用于启动系统、运行根文件系统中的可执行程序。 boot 引导加载程序使用的静态文件 home 用户主目录,包括供服务账号锁使用的主目录,如FTP mnt 用于临时挂接某个文件系统的挂接点,通常是空目录。也可以在里面创建空的子目录。 opt 给主机额外安装软件所摆放的目录。 root root用户的主目录 tmp 存放临时文件,通常是空目录。 var 存放可变的数据。 2. 建立根文件系统目录 :创建/opt/studyarm目录,并进入 新建建立根文件系统目录的脚本文件create_rootfs_bash,使用命令chmod +x create_rootfs_bash改变文件的可执行权限,./create_rootfs_bash运行脚本,就完成了根文件系统目录的创建。 #!/bin/sh echo "------Create rootfs directons start...--------" mkdir rootfs cd rootfs echo "--------Create root,dev....----------" mkdir root dev etc boot tmp var sys proc lib mnt home usr mkdir etc/init.d etc/rc.d etc/sysconfig mkdir usr/sbin usr/bin usr/lib usr/modules echo "make node in dev/console dev/null" mknod -m 600 dev/console c 5 1 mknod -m 600 dev/null c 1 3 mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp mkdir var/lib var/lock var/run var/tmp chmod 1777 tmp chmod 1777 var/tmp echo "-------make direction done---------" 3. 交叉编译Bosybox Bosybox是一个遵循GPL v2协议的开源项目,它在编写过程总对文件大小进行优化,并考虑了系统资源有限(比如内存等)的情况,它是个轻型的linux命令工具集,使用Busybox可以自动生成根文件系统所需的各种命令和linuxrc文件。 a) 解压busybox: tar –zxvf busybox-1.13.3.tar.tgz –C /opt/studyarm b) 修改Makefile文件: CROSS_COMPILE ?=arm-none-linux-gnueabi- //第164行 ARCH ?=arm //第189行 去掉421行前面的config 去掉1269行前面的/ c) 配置busybox:输入make menuconfig进行配置 (1)、Busybox Settings---> Build Options---> [*] Build BusyBox as a static binary(no shared libs) [*] Build with Large File Support(for accessing files>2GB) Installation Options-> []Don’t use /usr Applets links (as soft-links) ---> (./_install) BusyBox installation prefix Busybox Library Tuning ---> (6)Minimum password legth (2)MD5:Trade Bytes for Speed [*]Fsater /proc scanning code(+100bytes) [*]Command line editing (1024)Maximum length of input [*] vi-style line editing commands (15) History size [*] History saving [*] Tab completion [*]Fancy shell prompts (4) Copy buffer size ,in kilobytes [*]Use ioctl names rather than hex values in error messages [*]Support infiniband HW Linux System Utilities ---> [*]Support /etc/mdev.conf [*]Support command execution at device addition/removal d) 编译busybox到指定目录:make CONFIG_PREFIX=/opt/studyarm/rootfs install e) 建立etc目录下的配置文件 1、etc/mdev.conf文件,内容为空。 2、拷贝主机etc目录下的passwd、group、shadow文件到rootfs/etc目录下。 3、etc/sysconfig目录下新建文件HOSTNAME,内容为”H3-Studio”。 4、etc/inittab文件: #etc/inittab ::sysinit:/etc/init.d/rcS s3c2410_serial0::askfirst:-/bin/sh ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a –r 5. etc/init.d/rcS文件: #!/bin/sh ifconfig eth0 192.168.1.201 PATH=/sbin:/bin:/usr/sbin:/usr/bin runlevel=S prevlevel=N umask 022 export PATH runlevel prevlevel echo "----------mount all----------------" mount -a echo /sbin/mdev>/proc/sys/kernel/hotplug mdev -s echo "***********************************************" echo "****************Studying ARM*********************" echo "Kernel version:linux-2.6.32" echo "Techer:Mr Wan” echo "Date:2011.12" echo "***********************************************" /bin/hostname -F /etc/sysconfig/HOSTNAME 修改文件权限:chmod +x rcS 6. etc/fstab文件: #device mount-point type option dump fsck order proc /proc proc defaults 0 0 none /tmp ramfs defaults 0 0 sysfs /sys sysfs defaults 0 0 mdev /dev ramfs defaults 0 0 7. etc/profile文件: #Ash profile #vim:syntax=sh #No core file by defaults #ulimit -S -c 0>/dev/null 2>&1 USER="id -un" LOGNAME=$USER PS1='[\u@\h=W]#' PATH=$PATH HOSTNAME='/bin/hostname' export USER LOGNAME PS1 PATH 8.将交叉编译工具中目录为/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib下的库拷贝到lib下:cp /opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib/* lib/ -d(其中lib为制作根文件系统中的lib) 9. 制作根文件系统映像文件(可选,如果需要烧写到nandflash中则操作,否则boot) 使用以下命令安装好yaffs文件系统制作工具: tar –zxvf mkyaffs2image.tgz –C / 在/opt/studyarm目录下,使用命令mkyaffs2image-128M rootfs rootfs.img生成根文件系统映像文件。 tftp 30008000 rootfs.img nand erase 580000 size1 nand write.yaffs 30008000 580000 size2 备注: size1 要做处理(处理方法和内核移植的移植) size2 不做处理,mkyaffs2image-128m打包根文件系统使已经把文件大小针对nand_flash和yaffs文件系统做了变换,烧写时直接使用tftp下载后显示的文件大小 六、Tslib移植(Tslib是触摸屏校准库,qt要用到,否则点屏幕qt没反应。前提是将*/arm-none-linux-gnueabi/lib下的文件拷贝到rootfs/lib目录下). 1. 解压tslib-1.4.tar.gz:tar -zxvf tslib-1.4.tar.gz 2. 执行tslib-1.4目录下的autogen.sh: ./autogen.sh 3. echo "ac_cv_func_malloc_0_nonnull=yes" >$ARCH-linux.cache 4. ./configure --host=arm-linux --prefix=/opt/studyarm/rootfs/mytslib --cache-file=$ARCH-linux.cache 5.make 6.make install 7.配置mytslib下的etc目录中ts.conf文件 在终端上设置一下环境变量: 在/etc/profile 中加入 export TSLIB_ROOT=/mytslib export TSLIB_TSDEVICE=/dev/event0 export LD_LIBRARY_PATH=/mytslib/lib:$LD_LIBRARY_PATH export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_PLUGINDIR=/mytslib/lib/ts export TSLIB_CONSOLEDEVICE=none export TSLIB_CONFFILE=/mytslib/etc/ts.conf export POINTERCAL_FILE=/etc/pointercal export TSLIB_CALIBFILE=/etc/pointercal export QWS_SIZE=320x240 export QWS_MOUSE_PROTO="Tslib:/dev/event0 IntelliMouse:/dev/mice" export QWS_DISPLAY="LinuxFB:/dev/fb0" export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0" export TSLIB_TSEVENTTYYPE=H3600 8.执行mytslib/bin目录中的ts_calibrate文件,对屏幕进行校准(程序运行时,需要根据屏幕上的提示,点击出现的点)。 七、Qt移植: 1.解压qt-everywhere-opensource-src-4.6.2.tar.gz源码包(方法同上)。 2.配置qt:./configure \ -prefix /opt/arm-qt4 \ -opensource -confirm-license \ -release -shared \ -embedded arm \ -xplatform qws/linux-arm-g++ \ -depths 16,18,24 \ -fast \ -optimized-qmake \ -pch \ -qt-sql-sqlite \ -qt-libjpeg \ -qt-zlib \ -qt-libpng \ -qt-freetype \ -little-endian -host-little-endian \ -no-qt3support \ -no-libtiff -no-libmng \ -no-opengl \ -no-mmx -no-sse -no-sse2 \ -no-3dnow \ -no-openssl \ -no-webkit \ -no-qvfb \ -no-phonon \ -no-nis \ -no-opengl \ -no-cups \ -no-glib \ -no-xcursor -no-xfixes -no-xrandr -no-xrender \ -no-separate-debug-info \ -nomake examples -nomake tools -nomake docs -nomake demos \ -qt-mouse-pc \ -qt-mouse-tslib -I/opt/mytslib/include -L/opt/mytslib/lib 3.编译qt : gmake 4.安装qt: gmake install 5.在文件/etc/profile中添加export PATH=/opt/arm-qt4/bin:$PATH 然后source /etc/profile 6.将/opt/arm-qt4/lib中的所有链接库拷到*/rootfs/lib/目录下 7. 使用qmake编译qt程序 qmake *.pro(*为工程名) make 8.将生成的可执行文件拷到*/rootfs/mnt/program/目录中,若没有此目录,则新建一个。 9.由minicom 启动到开发板根目录中,找到要执行的程序,执行 ./文件名 -qws
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:Linux下移植步骤-qt.docx
    链接地址:https://www.zixin.com.cn/doc/12005023.html
    页脚通栏广告

    Copyright ©2010-2025   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork