您的位置:首页 > 运维架构 > Linux

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

2010-07-02 09:56 627 查看
 

一   构建常用环境

参考《快速设置指南(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

" 更改缺省配色方案为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 =
16182
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
apt
get
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


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息