在Ubuntu上搭建嵌入式Linux开发环境

2019-07-13 00:35发布

  一   构建常用环境 参考《快速设置指南(Edgy 6.10)版》 1  修改源
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
sudo gedit /etc/apt/sources.list
# 把文件的内容替换为:
deb http://ubuntu.cn99.com/ubuntu/ edgy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-proposed main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ edgy-backports main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ edgy main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ edgy-security main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ edgy-updates main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ edgy-proposed main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ edgy-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ edgy main restricted universe multiverse # 保存编辑好的文件,执行以下命令更新。
sudo apt-get update
sudo apt-get dist-upgrade 2  设置中文支持环境
点击 最上面菜单 的 系统 -> 系统管理 -> 语言支持 [如果是英文菜单则是 System -> Administration -> Language Support] 在列表中的 Chinese 条目 打勾。 同时将默认语言修改为 Chinese(中国) ,按确定关闭设置程序。 配置一下字体
sudo fontconfig-voodoo -f -s zh_CN 3  安装fcitx输入法
sudo apt-get install  im-switch libapt-pkg-perl fcitx
sudo im-switch -s fcitx 4 安装最新的文泉驿字体
sudo apt-get install xfonts-wqy 5 安装JAVA环境
sudo apt-get install sun-java5-jdk 设置当前默认的java解释器
sudo update-alternatives --config java
执行后会出现类似如下的画面: 
      There are 4 alternatives which provide `java'.
        Selection    Alternative
      -----------------------------------------------
      *+    1        /usr/lib/jvm/java-gcj/jre/bin/java
            2        /usr/bin/gij-wrapper-4.1
            3        /usr/bin/gij-wrapper-4.0
            4        /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
      Press enter to keep the default[*], or type selection number:
输入 有包含 "sun" 的行的前面的数字。如上面显示,则输入 4,然后回车确定。 6  安装英汉辞典
如果出现需要输入[Y/n] 或 [y/N] 一律输入 y 并 回车
sudo apt-get install stardict stardict-common stardict-cdict-gb stardict-cedict-gb stardict-hanzim stardict-langdao-ce-gb stardict-langdao-ec-gb stardict-oxford-gb stardict-xdict-ce-gb stardict-xdict-ec-gb 7 安装浏览器的Flash支持
sudo apt-get install flashplugin-nonfree 8  PDF浏览器
sudo apt-get install acroread  
二  构建Ubuntu下的开发环境 1 安裝C/C++的Man手冊,這樣你就可以隨時的查看一些你不太瞭解的函式的原型,具体參數說明等;還可以查看一些include檔案的具体說明。
sudo apt-get install manpages-dev 2 安裝gcc,g++,make等
sudo apt-get install build-essential 3 安裝头文件和库
sudo apt-get install libc6-dev libstdc++6-4.0-dev 4 安装libncurses5-dev
sudo apt-get install libncurses5-dev 5 安装gdb 调试器
sudo apt-get install gdb 6 安装安装图形界面ddd 调试器
sudo apt-get install ddd 7  安装automake工具
sudo apt-get install automake 
sudo apt-get install autoconf
sudo apt-get install autogen autoconf是一个用于生成可以自动地配置软件源代码包以适应多种UNIX类系统的shell脚本的工具。
automake是一个从文件Makefile.am自动生成Makefile.in的工具。 8  安装indent
sudo apt-get install indent      调整C原始代码文件的格式。 sudo apt-get install libtool
GNU libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一、可移植的接口中。 9  安装文档
sudo apt-get install binutils-doc cpp-doc gcc-4.0-doc gcc-doc glibc-doc libstdc++6-4.0-doc stl-manual cpp-4.0-doc 10  安装编辑器
sudo apt-get install emacs21 11  重新安装make
   a 修改更新源
      把源改为Breezy (5.10) 版本
     apt-get update
   b apt-get remove make
     apt-get install make 12  安装tftp服务器
    apt-get install tftpd-hpa tftp-hpa
    gedit /etc/default/tftpd-hap
/*************************************************** 
安装tftpd-hpa和tftpd-hpa
配置一下 /etc/default/tftpd-hpa,就可以了
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /home/ttk/tftpboot"
***************************************************/ 13 安装gvim编辑器
   apt-get install vim-gtk
   在冒号命令行下:
       set encoding=utf-8  ;设置编辑字体是utf-8
   gvim /etc/vim/.vimrc
/*************************************************************  
以下是一个带基本配置的.vimrc文件. 请注意以"字符开头的行为注释. 
" 在行前显示行号.关闭显示请用"set nonu" 
set nu 
" 启用语法高亮
syntax on " 根据文件类型启用缩进
filetype indent on
set autoindent " 查找时忽略大小些
set ic " 查找文本高亮
set hls " Wrap text instead of being on one line
set lbr " 更改缺省配 {MOD}方案为delek
colorscheme delek
*****************************************************/     三   设置nfs共享(linux之间的共享) 1   安装NFS
Debian/Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序:
$ sudo apt-get install nfs-kernel-server
(安装nfs-kernel-server时,apt会自动安装nfs-common和portmap) 2   配置/etc/exports
NFS挂载目录及权限由/etc/exports文件定义
将我的home目录中的/home/wendy/target目录让所有的IP共享, 则在该文件末尾添加下列语句:
/home/wendy/target   *(rw,sync,no_root_squash)
运行 $ sudo exportfs -r 更新 3  运行 $ sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务 4  测试NFS
可以尝试一下挂载本地磁盘(假设本地主机IP地址为:192.128.2.1,将/home/zp/share挂载到/mnt)
$ sudo mount -t nfs localhost:/home/zp/share /mnt
运行 $ df 看看结果
$ sudo umount /mnt
 可以使用一定的参数:
mount -o nolock,rsize=1024,wsize=1024,timeo=15 192.168.2.130:/tmp/ /tmp/ 5  客户端挂载远程共享
mount -t nfs 192.168.0.***:/home/***/share /mnt/share   四   windows与Linux之间共享--samba 1  安装samba
sudo apt-get install samba 2  创建和配置共享文件夹
mkdir /home/***/share
chmod 777 /home/***/share 备份并编辑smb.conf允许网络用户访问
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf 找到
; security = user
替换为
#  security = user
security = user
username map = /etc/samba/smbusers
 
找到
workgroup = MSHOME 
替换为
   workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936 在最后添加: [winshare]
comment = Shared Folder with username and password
path = /home/shijian/winshare
public = yes
writable = yes
valid users = network
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes 4 添加network这个网络访问帐户
代码:
sudo useradd network
sudo smbpasswd -a network
sudo gedit /etc/samba/smbusers
添加:
system_username = “shijian”
network = "network" 5  重启samba
sudo /etc/init.d/samba restart 这样就可以在其他windows PC下访问本机ubuntu的共享了 6 ubuntu访问其他windows的方法
使用快捷键ALT+F2.
输入"smb://IP地址",回车 
成功访问windows    .安装配置minicom Minicomlinux下串口通信的软件,通过它可以方便的操纵开发板,使开发变的便利快捷。以前一直以为在虚拟机中不能使用minicom,后来在网上搜集资料发现时可以的,如果能使用虚拟机的minicom,将会为以后的开发带来很大的帮助。 1)设置VMware,添加对串口的支持。 虚拟机在安装时时默认不带串口的,所以这个需要通过设置添加。先关闭Ubuntu,然后在虚拟机上选择VM-->settings-->Hardware-->Serial Port添加串口,记住要选择项选择“使用位于主机上的物理串行端口”,下一步中选择使用相应的串口。到这里就完成了虚拟机对串口的支持。 2Ubuntu下安装minicom软件。 sudo aptget install minicom 3)设置minicom a.sudo minicom –s,进入minicom的设置模式。 b.选择串口:在选择菜单中的“Serial port setup”,按回车,再按“A”以设置 “Serial Device”/dev/ttyS0按回车返回。    c.设置波特率:按“E”键进入设置“bps/par/Bits”(波特率)界面,设置波特率为115200,按回车返回。 d. 数据流控制:按“F”键设置“Hardware Flow Control”为“NO”. 其它的选用缺省设置即可,然后按回车到串口设置主菜单,选择“Save setup as df1”,按回车键保存刚才的设置。最后退出设置菜单就可以使用minicom与开发板通讯了。     .安装配置tftp TFTP是用来下载远程文件的最简单网络协议,它是基于UDP协议而 现。嵌入式linuxtftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。如果开发板的BootLoader上实现了对tftp-client的支持,就能很方便的通过tftp协议下载程序到开发板。 1)安装与tftp相关的软件。       sudo apt-get install tftpd (服务端)         sudo apt-get install tftp (客户端)          sudo   apt-get install xinetd     2)在linux根目录下建立tftpboot目录    cd /
   sudo mkdir -m 777 tftpboot
  3)修改/etc/inetd.conf     sudo vim /etc/inetd.conf
    
然后将inetd.conf内容修改为下面内容:
    tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
  4)建立配置文件
    cd /etc/xinetd.d/
    vi tftp
    
输入
    service tftp
    {
            socket_type = dgram
            protocol = udp
            wait = yes
            user = root
           
server = /usr/sbin/in.tftpd
            server_args = -s /tftpboot
            disable = no

            per_source = 11
            cps = 100 2
            flags = IPv4
    }

   
存盘退出

      
5)重启tftp服务
       /etc/init.d/xinetd restart
接着,使用命令“netstat -au”以确认tftp服务是否已经开启,命令如下: sudo netstat -au | grep tftp 到此配置完成,可以在开发板上通过tftp命令(如:tftp 0x30008000 zImage)把/tftpboot下的文件下 载到SDRAM中。     .配置nfs网络 通过nsf网络协议,可以把PC机的硬盘mount到开发板上,方便开发和调试, 1)安装nfs服务 sudo apt-get install nfs-kernel-server portmap 2)修改配置文件/etc/exports为 以下内容 /home/wendy/target *(rw, sync, no_root_squash) 这样就可以在开发板上通过mount命令将PC机上的/home/wendy/target目录挂在到开发板上了。 配置文件格式如:[共享目录] [客户端主机名或IP]([参数1, 参数2...]) 常见参数有: rw 可读写的权限 ro 只读的权限 sync 资料同步写入到内存与磁盘中 async 资料会先暂存于内存中,而非直接写入磁盘 no_root_squash 客户端分享目录使用者的权限 3)重启nfs服务。 sudo /etc/init.d/portmap restart sudo /etc/init.d/nfs-kernel-server restart 到此配置完成
4)安装chkconfig sudo apt-get install chkconfig 若希望NFS服务在每次系统引导时自动开启,可使用以下命令。 sudo /sbin/chkconfig nfs-kernel-server on