设为首页 收藏本站
查看: 1072|回复: 0

[经验分享] 虚拟机WMWare12.5中安装Ubuntu14.04LTS并建立嵌入式Linux开发环境

[复制链接]

尚未签到

发表于 2017-6-23 08:57:12 | 显示全部楼层 |阅读模式
  1、在Win10中安装VMWare12.5;

2、在VMWare12.5中安装32位Ubuntu 14.04 LTS;
3、安装VMWare Tools;
     客户操作系统Ubuntu安装完成之后,在VMWare下点击VM->Install VMWare tools,然后Ubuntu中就会将VMWare Tools的iso文件载入到虚拟光驱中,将其中的tar文件拷贝到~/tmp目录下,解压之,并运行:sudo ./vmware-install.pl,然后一路回车即可。
     安装好VMWare Tools之后,即可从host操作系统之中拷贝文件到guest操作系统,虚拟机全屏后,分辨率也可以自动传递。

4、安装完成后,进入Ubuntu,安装g++;
     按Ctrl+Alt+T,出现终端,输入:#sudo apt-get install g++,即可安装g++。

5. 安装QT Creator
     在Ubuntu 14.04 LTS的软件中心中搜寻QT Creator,并安装;
   
    注意点:
      最好不要升级Ubuntu,有时会出现系统崩溃的现象;
      此QT Creator只是用来对整个工程进行组织、浏览、UI设计、编码,不进行编译;
      编译从NDT工程所使用的是嵌入式Linux的编译器版本;

6、安装搜狗输入法
     从搜狗输入法网站中下载x64的搜狗输入法deb安装包,双击,即可安装Ubuntu中的搜狗输入法;
     此输入法在QT Creator中不能使用,因为QT Creator使用fcitx输入法框架,而Ubuntu默认安装的是ibus输入法框架,所以需要运行如下命令:
     #sudo apt-get install fcitx-frontend-qt5
     安装后即可在QT Creator中使用基于fcitx输入法框架的搜狗输入法;

7、拷贝已经做好的根文件系统
     在其他系统中,已经做好的根文件系统,可以拷贝到其他linux中使用。
     但是rootfs不能直接拷贝,其中有一些设备节点,直接拷贝不能成功。
     先用tar打包:
     $ tar -czvf rootfs.tar.gz ~/rootfs
     然后在需要拷贝到的操作系统中,转到/home/administrator目录中:
     $ cd /home/administrator
     先提升权限为root用户:
     $ sudo su
     然后解压:
     $ tar -xzvf rootfs.tar.gz
     这样即可将其他系统系统中做好的rootfs拷贝到本系统中。

7、Nfs服务器安装及配置
      (1)Ubuntu默认是没有安装Ubuntu nfs服务器的,因此首先安装Ubuntu nfs服务器端:   
              #sudo apt-get install nfs-kernel-server
      (2)Ubuntu nfs允许挂载的目录及权限在文件/etc/exports中进行了定义。
               例如,我们要将根目录下的rootfs目录共享出来,那么我们需要在/etc/exports文件末尾添加如下一行:/home/administrator/rootfs *(rw,sync,no_root_squash)。
               其中:/home/administrator/rootfs是要共享的目录,也是我们将来要作为S5PV210的根文件系统的共享目录。
                       *代表允许所有的网络段访问,
                       rw是可读写权限,
                       sync是资料同步写入内存和硬盘,
                       no_root_squash是Ubuntu nfs客户端分享目录使用者的权限,
                       如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。

                       要注意*和后面()之间没有空格     (3)配置完之后重启nfs服务器。
              $sudo /etc/init.d/nfs-kernel-server restart
      (4)测试nfs服务。例如将/rootfs挂载到/mnt下:
              $ sudo mount -t nfs localhost:/home/administrator/rootfs /mnt
             可以运行df命令查看是否挂载成功。查看后可以使用以下命令卸载:
              $ sudo umount /mnt


8、 安装tftp
      (1)  #sudo apt-get install tftp-hpa tftpd-hpa       前者为客户程序,后者为服务程序.
      (2)  #sudo mkdir ~/tftp
                #sudo chmod 777 ~/tftp
      (3) #cd ~/tftp
      (4)  #gedit test1.txt
                随便输入数据保存并退出
      (5)  #cd ~
      (6)  #gedit test2.txt
                随便输入数据保存并退出
      (7)  #sudo gedit /etc/default/tftpd-hpa
                TFTP_USERNAME="tftp"
                TFTP_DIRECTORY="/home/administrator/tftp"
               //这里是你的tftpd-hpa的服务目录,这个想建立在哪里都行
               TFTP_ADDRESS="0.0.0.0:69"
               TFTP_OPTIONS="-l -c -s"
               //这里是选项,-c是可以上传文件的参数,-s是指定tftpd-hpa服务目录,上面已经指定
      (8) #sudo service tftpd-hpa restart启动服务
      (9)测试
               #tftp localhost
               tftp>get test1.txt
               tftp>put test2.txt
               tftp>quit               #ls
              会看见test1.txt
             #cd tftp
              #ls
              test1.txt,test2.txt都存在。
              如果成功,会没有任何提示,而且基本上看不见任何延时。注意严格按照以上操作,不要动xinetd的配置。只需要修改/etc/default/tftpd-hpa即可。

9、安装交叉编译工具链
      (1)方法选择
              我们使用的是 arm-linux-gcc-4.5.1(和 Mini6410相同),它在编译内核时会自动采用 armv7指令集,支持硬浮点运算,下面是安装它的详细步骤。
               拷贝友善光盘中的如下文件到虚拟机:
              arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz
      (4) 安装权限和安装目录
                    使用上面下载的文件进行安装,安装需要使用root权限.
                    默认是安装在/opt目录下的,一般的Ubuntu安装完成之后都会在根目录下有一个opt目录,如果没有就创建一个新的目录:# mkdir -p /opt
      (5)  解压源文件
                参考TI的安装,安装路径为/opt目录,解压源文件到/opt目录下。
               #sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz –C /
     (6)  设置环境变量
                # sudo gedit ~/.bashrc
                在.bashrc文件的末尾最后添加一行,来增加一个环境变量
                 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin
      (7)  使得刚才的设置生效
                 # source ~/.bashrc
      (8)  查看linux的环境变量
                #echo $PATH
                或者
                # printenv
      (9)  测试安装结果
                输入
                # arm-linux-gcc
                提示NO input file,表明安装成功。

10、安装mktools工具链
     要把目标文件系统全部写入开发板中,一般还需要先把目标文件系统目录制作成单个的映像文件以便烧写或者复制, Linux内核启动时,一般会根据命令行参数挂在不同格式的系统,比如 yaffs2, ubifs, ext2等。在此需要使用 mkyaffs2image-128Mmkyaffs2image-mlc2这两个工具。
mkyaffs2image-128M工具适用于 SLC NAND flash,而mkyaffs2image-mlc2工具适用于 MLC NAND flash,它们都用来压制 yaffs2格式的映像文件。
     先将光盘中的 mktools-YYYYMMDD.tar.gz文件拷贝到 home目录下,执行以下命令安装 mktools工具链: #tar xvzf mktools-20120518.tar.gz–C / ( 注:YYYYMMDD 替换为实际的日期 ) 将会在 /usr/sbin目录下创建生成相应的工具集。 注意:C是大写的, C后面有个空格,C是改变解压安装目录的意思
     说明:如果你以前安装过 mini2440或者 mini6410使用的 mkyaffs2image系列工具,它们将会被覆盖,请不必担心,它们功能都是相同的。

10、 安装必要的工具软件tmake
         该软件下载地址为:http://www.embeddedlinux.org.cn/emblinuxappdev/80.html
       (1)#cd linuxtools
       (2)#tar -vxjf tmake-2.12.tar.bz2
       (3)#sudo gedit ~/.bashrc 修改~/.bashrc文件,在后面添加如下内容
                export TMAKEPATH=“/home/administrator/linuxtools/tmake/lib/linux-g++”
               export PATH=”$PATH:/home/administrator/linuxtools/tmake/bin“
               此处的tmake根据个人解压缩包的名字,我的为tmake-2.12,所以上边要在
                ~/.bashrc后面添加的内容为
                export TMAKEPATH=“/home/administrator/linuxtools/tmake-2.12/lib/linux-g++”
               export PATH=”$PATH:/home/administrator/linuxtools/tmake-2.12/bin“


11、  安装jpeg-6b
      (1) #cd linuxtools/jpeg-6b
      (2)  #./configure
      (3)  #make
      (4)  #make test
12、  安装zlib
      (1)  #cd linuxtools/zlib-1.2.3
      (2)  #./configure
      (3)  #make
      (4)  #sudo make install
13、  安装libpng-1.2.14   
      (1)  #cd linuxtools/libpng-1.2.14
      (2)  #./configure –prefix=/home/administrator/linuxtools/armqt
     (3)  #make
      (4)  #sudo make install

14、  安装qt-embedded-linux-opensource-4.5.3
      (1) #cd linuxtools
      (2)  #tar -xzvf qt-embedded-linux-opensource-src-4.5.3.tar.gz
      (3)  #cd qt-embedded-linux-opensource-4.5.3/mkspecs/qws/linux-arm-g++
      (4)  #cd ~/linuxtools/qt-embedded-opensource-4.5.3
      (5)  #./configure --prefix=/home/administrator/linuxtools/armqt -opensource -fast -no-largefile -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 -no-armfpa -little-endian -host-little-endian -nomake demo -nomake examples -nomake tools -nomake docs -depths 8,16,18,24 -no-glib -qt-kbd-usb -qt-kbd-usb -qt-kbd-tty -qt-mouse-pc -no-glib
     注意:
           --prefix=/home/administrator/linuxtools/armqt指定了该嵌入式版本QT的安装路径
          如果要清除上述配置,需要#make confclean
      (7)  #make
      (8)  #sudo make install


15、  编译NDT工程
      (1) 拷贝NDT工程至~/NDT/目录下,并解压;
      (2)  进入该目录下
            #cd ~/NDT/NDT_app
      (3)  首先允许qmake产生嵌入式版本编译所需要的Makefile
            #~/linuxtools/armqt/bin/qmake NDT.pro
            ~/linuxtools/armqt/bin/qmake为嵌入式版本的QT的qmake的绝对路径,此qmake处理NDT的工程文件NDT.pro,生成Makefile
      (4)  编译NDT工程
           #make
           编译后将生产NDT可执行文件,此文件将拷贝到~/rootfs路径下作为NFS挂载到ARM板上,供运行、调试。
          #cp ./NDT ~/rootfs


16、安装Minicom,实现调试  (1)首先需要安装minicom,在Ubuntu下执行如下命令:
  #sudoapt-getinstallminicom
  (2)然后,插入USB转串口的线,这里我们使用的USB转串口芯片是英国FTDI公司的FT232。Linux内核自带驱动,线插上后,驱动就装好了。
  (3)看一下usb情况,命令如下:
  #lsusb
  此时会看到系统上连接的USB设备的情况,应该会看到FTDI的芯片的相关信息。
  (4)接下来看一下串口的情况,命令如下:
  #dmesg|grepttyUSB
  可以看到USB转串口设备已经连接。
  (5)输入sudo minicom–s配置minicom:
  +----[configuration]----+
  |Filenamesandpaths      |
  |Filetransferprotocols  |
  |Serialportsetup        |
  |Modemanddialing        |
  |Screenandkeyboard      |
  |Savesetupasdfl         |
  |Savesetupas..          |
  |Exit                   |
  |ExitfromMinicom        |
  +-----------------------+
  选择进入Serialportsetup,按照之前查看的信息进行配置
  
  一定要把硬件流关掉,否则无法连接,这个和windows下面是一致的,只是容易忽略。enter推出,选择Savesetupasdfl 保存为默认配置,注意需要root权限,这样就配置好了。
  (6)然后打开minicom,用USB转串口线和双母头串口线连接开发板,打开开发板电源,会看到minicom中相应的输出信息。板子的启动过程为ROMboot->Superboot->Kernel,从minicom中可以其依次启动的过程。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-387093-1-1.html 上篇帖子: hadoop-2.6.0-cdh5.4.5.tar.gz(CDH)的3节点集群搭建(含zookeeper集群安装) 下篇帖子: 虚拟机无法使用网卡桥接模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表