linux嵌入式编程高手历程系列2-安装debian并建立嵌入式编译环境

来源:互联网 发布:it行业的现状 编辑:程序博客网 时间:2024/05/22 05:01

         debian是linux著名的发行套件。在接触debian之前,我对linux的了解非常有限,仅仅知道redhat。具体的行为是买过一张redhat7.2的安装光盘。安装的时候一路回车,进入图形窗口以后无所事事,后来就搁置了。工作的时候,也与linux打过交道。具体来说,就是别人用samba搭好了网络环境,我进入共享目录操作一下文件。总之,非常有限。可以说,我的linux从debian开始。

       项目的解决方案使用了debian环境。开始我有点不解,甚至于到现在,大家的公共服务器还是使用的redhat。从我想在自己的机子上做一个虚拟机下的linux环境开始,我开始了解了debian的好处。

     安装debian编程环境,有两种方式。一,大家公用一台多用户的linux服务器,提供samba网络共享服务,开发成员都在自己的home目录下面进行编译和调试。优点是单纯的linux环境编译比较快,缺点是移动性不好。二,在虚拟机环境下安装,优点是减少对环境的依赖,在家或者用户现场都可以开工干活,确定是比较耗系统资源,运行比较慢。项目开始的时候,我有幸配置了一台比较好的笔记本电脑,因此,安装虚拟机环境就是一个比较好的选择了。

     下面,为了大家更好的理解虚拟机下面的开发环境的搭建过程,先介绍vmware虚拟机。

 一.安装vmware

       vmware版本:vmware workstation 5.5.0 build-18463。

    具体在xp下面的安装过程不再赘述。如果是合适的版本,安装成功不会有太大的问题。主要的问题会出现在vmware的网络设置上。

二.vmware网络环境介绍

    vmware有三种网络模式:1.bridge模式 2.host模式 3.nat模式。

    有一篇比较好的介绍文章:

  

三.vmware网络设置

     比较三种模式后,我选择了nat模式。主要原因:隔绝自己的开发网络,避免对外部产生影响。

    具体网络设置步骤:1.vmware菜单vm->settings->hardware->ethernet点击网卡图标,选择nat模式。

    2.xp下面对网络邻居中的本地连接进行配置。右键点击‘网络邻居’,点击‘属性’进入‘网络连接’界面。pc机可能使用多种方式上网,包括无线、pppoe等。具体使用那种连接,就对该连接进行配置。配置方法都是一样的。右键点击当前使用的连接,点击右键菜单上的属性,选择高级标签,对上面的internet共享进行配置。两个选项框都打上勾,在家庭网络连接选择一个专用网络的地方选择vmnet8。注意,nat方式对应的虚拟网卡是vmnet8;host方式对应的是vmnet1。

      在网络连接下面查看vmnet8的连接,确保是自动获取ip地址。在nat模式下,vmnet8启动dhcp服务的时候,只能分配192.168.93.0网段的地址。否则,如果vmnet8手动配置了非192.168.93.0网段的ip地址,在linux配置samba后,因为同虚拟机不是同一网段,pc将无法访问虚拟机的共享目录。

    3.虚拟机装linux的时候,注意要选择dhcp获取ip,这样,安装的时候,linux会自动从vmnet8拿到网络ip地址,并配置好网关,dns等。这样,在pc主机连接internet的情况下,虚拟机的linux安装完毕就可以访问internet了。

四.安装debian

     debian的安装有两种方式,一种是取得完整的安装光盘,本地安装;这种安装方式非常简单,唯一的缺点是安装盘太多,要从网上下很长时间。二是网络安装。网络安装盘比较小,不到一张vcd的大小;而且,网络安装的组件都是最新版本。

     比较之后,我选择网络安装。下面重点介绍网络安装的步骤和相关知识。

 1.获取debian网络安装光盘映像

    直接登陆debian的官方网站http://www.debian.org/ ,即可获取最新的稳定版本。官方网站也是最直接获得帮助文档的地方。它同时也提供apt-get安装包的查询。如果你需要某组件,但是不知道安装包的名称,可以登陆官方网站获取帮助。中文页面:http://www.debian.org/intl/zh/software

debian参考手册:http://www.debian.org/doc/manuals/reference/index.zh-cn.html#contents

     网络安装包的下载地址:

     http://cdimage.debian.org/debian-cd/4.0_r3/i386/iso-cd/ debian-40r3-i386-netinst.iso

    笔者写作此文的时候,debian已经是4.0r3版本。比笔者正在使用的4.0r2又更新了。

2.安装

    将下载的iso刻录成光盘,即可方便的进行debian的网络安装。

    vmware也支持直接从iso光盘印象进行安装。具体设置vm->settings->hardware->CD-ROM,点击光盘图标,在右边选择use iso image,指定iso映像的位置。设置完后,新建虚拟机的时候将从iso映像启动安装。

    安装过程很简单,注意选择使用dhcp获取ip地址。一路使用缺省配置下来即可。   

    在网络安装盘安装debian的时候,选择网络镜像站点之后,可能会出现长时间的搜索网络镜像,导致安装无法进行下去。可能的原因是镜像站点不能提供服务,换一个站点。一般china地区用户,选择debian.cn99.com。

debian 光盘安装后 修改/etc/apt/sources.list

光盘安装好debian后 再安装其他软件包的话 会出现这样的提示:

in the drive '/cdrom/' and press enter
--------------------
做如下修改

nano /etc/apt/sources.list

将 deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Binary-1 20070407-11:29]/ etch contrib main

改成 # deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Binary-1 20070407-11:29]/ etch contrib main

保存退出

3.debian常用命令

    通用的linux命令这里就不介绍了。debian有一套专用的网络安装软件包的机制。操作上使用apt-get命令。使用起来非常方便。

    请参考http://www.91linux.com/html/linux_pub/debian/20061227/31.html 。这位匿名仁兄的文章给了我很大的帮助。

Apt-get 命令:

apt-setup 设置Apt源.可选择列表或者手工导入

apt-get update 系统软件包更新

apt-get upgrade 更新所有软件包并且自动升级成最新

apt-get dist-upgrade 更新软件包并解决软件依赖关系

apt-cache search keyword 查找指定软件包信息

apt-cache show package_name 详细显示指定软件包的信息

apt-get install 安装指定软件包

apt-get remove 移除指定软件包

    一般来讲,apt-get install 是使用最多的。通常用它来进行软件包的安装。

4.配置ip网络

    如果安装时没有选择使用dhcp,也可以手动配置。http://zhidao.baidu.com/question/38770609.html?si=1

Debian命令行下网络参数设置的方法
以eth0为例

4.1. 以DHCP方式配置网卡
编辑文件/etc/network/interfaces:

sudo vi /etc/network/interfaces

并用下面的行来替换有关eth0的行:
# The primary network interface - use DHCP to find our address
auto eth0
iface eth0 inet dhcp

用下面的命令使网络设置生效:
sudo /etc/init.d/networking restart
当然,也可以在命令行下直接输入下面的命令来获取地址
sudo dhclient eth0

4.2. 为网卡配置静态IP地址

编辑文件/etc/network/interfaces:
sudo vi /etc/network/interfaces
并用下面的行来替换有关eth0的行:
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
将上面的ip地址等信息换成你自己就可以了.
用下面的命令使网络设置生效:
sudo /etc/init.d/networking restart
4.3. 设定第二个IP地址(虚拟IP地址)
编辑文件/etc/network/interfaces:
sudo vi /etc/network/interfaces
在该文件中添加如下的行:
auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x
根据你的情况填上所有诸如address,netmask,network,broadcast和gateways等信息.
用下面的命令使网络设置生效:

sudo /etc/init.d/networking restart

4.4. 设置主机名称(hostname)

使用下面的命令来查看当前主机的主机名称:

sudo /bin/hostname

使用下面的命令来设置当前主机的主机名称:

sudo /bin/hostname newname

系统启动时,它会从/etc/hostname来读取主机的名称.

关于设置主机名称的更多信息,请访问这里

4.5. 配置DNS

首先,你可以在/etc/hosts中加入一些主机名称和这些主机名称对应的IP地址,这是简单使用本机的静态查询.

要访问DNS 服务器来进行查询,需要设置/etc/resolv.conf文件.

假设DNS服务器的IP地址是192.168.3.2, 那么/etc/resolv.conf文件的内容应为:

search test.com

nameserver 192.168.3.2

还有这个,相当的全:http://www.debian.org/doc/manuals/reference/ch-edit.zh-cn.html
参考资料:http://blog.chinaunix.net/u1/44388/showart_378037.html

4.6 用samba配置网络共享

     这一步应该是在安装完毕之后进行。网络安装之后,系统并没有samba软件包。需要使用命令                             apt-get install samba   从网络安装。

    安装完毕后,需要给samba添加用户。首先在/etc/samba/目录下面,生成一个文件,名字叫:smbpasswd。命令:touch smbpasswd。  接下来添加用户smbpasswd -a user1;按照提示输入访问密码。

   现在,我们就可以从windows系统访问debian了。

   另外,如果smb.conf中security = share,那么就不需要通过smbpasswd来添加用户。系统的用户可以直接访问samba。

    通过smb.conf还可以设置访问debian时的权限。默认状态是只读的,无法创建文件和目录。在smb.conf的[home]部分,设置writable = yes      create mask = 0775               directory mask = 0775

http://debian.linuxsir.org/book/server/kanaka/smb.html

4.7 安装telnet服务

apt-get install xinetd

apt-get install telnetd

5.安装编译环境

    最权威的参考文献http://www.debian.org/releases/stable/i386/index.html.zh_CN

   从网络安装盘安装完debian后,

       首先,apt-get dist-upgrade 更新系统

  再更新kernel, apt-cache search kernel-image-2.6.18 搜索kernel信息

  选择相应的安装 apt-get install kernel-image-2.6.18-5-686 安装

  更新头文件 apt-cache search linux-kernel-headers 搜索信息

  选择与kernel相应的安装 apt-get install linux-kernel-headers

 

base-config #进入基本系统配置设置.
apt-setup #重新设置APT源文件. 
apt-get install gcc #安装GCC
apt-get install make #安装Make

http://packages.debian.org/etch/build-essential?lang=zh-cn

如果想方便安装开发套装的话就用build-essential就可以一次搞定了。



安装gcc后,编译的时候会提示缺少头文件,这是由于缺少相关的软件包。

apt-get install libc6-dev

//dep: libc6-dev
//GNU C Library: Development Libraries and Header Files

基本上做完这些操作就可以开始编译了,比如编译内核。

 如果make menuconfig出错,提示ncurse 包未安装,那么还需要安装libncurses5 和
libncurses5-dev  

原创粉丝点击