zoukankan      html  css  js  c++  java
  • 嵌入式开发基础环境搭建

    采用的Linux是Debian6,虚拟机采用VirtualBox。

    用VirtualBox安装Debian的方法,可以参见我的另一篇博客http://www.cnblogs.com/pengdonglin137/p/3343135.html,这里仅补充说明一下。

    1、修改VirtualBox的虚拟机存放路径,这样的好处是:因为Debian的虚拟机默认存在C盘下,当重装系统的时候会将虚拟机删掉。所以需要修改,修改后,新建的虚拟硬盘的保存路径也跟着变为相应虚拟机的路径,这样便于管理。修改方法如下:

    image

    image

    image

    2、分区方案如下:

    建立两块虚拟硬盘,分别存放/home,/。

    给/home分50GB,给/分30GB。

    3、在安装的时候应该把网线断开

    image

    image

    image

    4、当开启虚拟后发现主机的声音好像变小了,解决方法:

    image

    image

    image

    5、安装好后,将光盘镜像退出

    image

    6、为了提高软件的安装速度,可以将虚拟机的的eth0设置为桥接,并修改interface文件。(也可以用默认的NAT)

    将来在设置虚拟网卡时需要注意:最好将设置成NAT的虚拟网卡放在设置成Host-Only网卡的前面,否则如果将来虚拟机要联网的话,需要将Host-Only虚拟网卡先关闭。

    一般我是:利用桥接的虚拟网卡实现与开发板通信,利用NAT的虚拟网卡实现虚拟机的上网功能,利用Host-Only实现虚拟机和主机的双向通信(将来要使用samba实现双向通信,不管是Windows装Linux的虚拟机,还是Linux装windows的虚拟机,都可以在Linux上安装samba服务实现双向通信)。

    image

    由于debian6安装好后,没有sudo命令,修改interface文件需要先切换到root用户。

    image

    修改成如下内容(如果选择的是NAT方式,也可以修改成如下内容)

    image

    7、更新软件源

    image

    手动输入如下内容(将原来的内容删除,或者将sources.list备份一下):

    deb http://mirrors.163.com/debian squeeze main non-free contrib 
    deb http://mirrors.163.com/debian squeeze-proposed-updates main contrib non-free 
    deb http://mirrors.163.com/debian-security squeeze/updates main contrib non-free 
    deb-src http://mirrors.163.com/debian squeeze main non-free contrib 
    deb-src http://mirrors.163.com/debian squeeze-proposed-updates main contrib non-free 
    deb-src http://mirrors.163.com/debian-security squeeze/updates main contrib non-free

    重新启动网络

    image

    image

    更新软件源

    image

    8、安装VirtualBox增强工

    image

    执行如下命令(以root身份):

      apt-get install build-essential

      apt-get install dkms

      apt-get install virtualbox-guest-dkms

      apt-get install linux-headers-`uname -r`

      mount  /dev/cdrom  /mnt

      cd /mnt

      ./VBoxLinuxAdditions.run

    然后关闭虚拟机:shutdown –h now

    9、退出光盘镜像

    image

    10、设置共享剪贴板和拖放

    启动虚拟机,设置共享剪贴板和拖放

    image

    image

    11、添加sudo

    apt-get install sudo
    chmod u+w /etc/sudoers //给此文件增加写入权限
    vi /etc/sudoers找到root ALL=(ALL) ALL一行,在下一行添加
    pengdl ALL=(ALL) ALL 将pengdl换成你的用户名
    然后更改文件权限,
    chmod 0440 /etc/sudoers不做这一步你的普通用户就无法使用sudo命令.
    这样你再以普通用户身份使用sudo命令 时候就可以了.

    12、这里我们不设置共享文件夹了,而是采用samba服务器实现虚拟机与主机之间的通信。

            安装samba:apt-get install samba

    在实际开发中,我的做法是:采用samba实现虚拟机和主机的通信,这样需要给虚拟机添加两块虚拟网卡,一块设置成桥接,目的是为了跟开发板通信;另一块设置成Host-Only,目的是为了实现在windows下利用SecureCRT或者Putty登陆虚拟机,这样的效率高一些。关于虚拟机的网络连接方式可以参见:

      http://www.cnblogs.com/pengdonglin137/p/3323663.html   

      http://www.cnblogs.com/pengdonglin137/p/3343077.html

       http://www.cnblogs.com/pengdonglin137/p/3343034.html

    sudo vi /etc/samba/smb.conf

    在最后添加如下代码:

    [home]
            path=/home/pengdl
            browseable=yes
            writeable=yes
            valid user=pengdl

    注: 上面的[]中的内容“home”就是将来在windows下映射网络驱动器的时候输的名字。

    然后执行如下命令
    image

    即可。

    关闭虚拟机,我们来设置网络:

    目前先进行如下设置,(以后可以再根据需要进行设置)

    将eth0设置成桥接,将eth1设置成Host-Only连接方式。

    在windows下的网络管理中可以看到:

    image

    看一下VirtualBox Host-Only Network的参数:

    image

    可以看到它的ip是192.168.56.1,我们可以将它设置的更特殊一些,如设置成88.88.88.88,只需要将eth1的网段与他设置在一个网段即可。(建议:最好使用默认值,即192.168.56.1,用88.88.88.88在某些时候会出现问题,而且使用中发现使用默认值,在用SSH连接虚拟机时,速度比较快)

    image

    eth0:

    image

    eth1:

    image

    启动虚拟机,修改interface文件,修改成如下内容(也可以将eth0也设置成静态IP):

    image

    建议:使用Host-Only连接方式的eth1,最好使用默认的网段,在本例中是56网段,同时建议eth1的网关地址不填写,但是子网掩码是必须填写的。

    重启网络:sudo /etc/init.d/networking restart

    root@debian:/home/pengdl# ifconfig
    eth0      Link encap:Ethernet  HWaddr 08:00:27:f8:fe:e2 
              inet addr:192.168.1.23  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::a00:27ff:fef8:fee2/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:15400 errors:0 dropped:0 overruns:0 frame:0
              TX packets:298 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:1200470 (1.1 MiB)  TX bytes:27880 (27.2 KiB)

    eth1      Link encap:Ethernet  HWaddr 08:00:27:20:09:cc 
              inet addr:88.88.88.66  Bcast:88.88.88.255  Mask:255.255.255.0
              inet6 addr: fe80::a00:27ff:fe20:9cc/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:59 errors:0 dropped:0 overruns:0 frame:0
              TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:8104 (7.9 KiB)  TX bytes:2924 (2.8 KiB)

    lo        Link encap:Local Loopback 
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:8 errors:0 dropped:0 overruns:0 frame:0
              TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

    接下来,我们在windows下映射一下网络驱动器。

    image

    输入地址,其中的share就是上面谈到的home。

    image

     注意:如果无法连接,在主机或者虚拟机中ping对方,如果ping失败,就是Win7的防火墙的问题,需要先关闭Win7的防火墙

    输入用户名和密码

    image

    在windows下可以看到已经映射成功的网络驱动器,双击可以打开。

    image

    可以看到其中就是/home/pengdl下的内容。(为什么是/home/pengdl,因为在samba配置文件中path选项就是该值。)

    image

    13、下面就可以安装常用的软件包了,可以参见:

    http://www.cnblogs.com/pengdonglin137/p/3248204.html

    http://files.cnblogs.com/pengdonglin137/ubuntu-12.04%E5%B5%8C%E5%85%A5%E5%BC%8F%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA.pdf

    14、使用SecureCRT登陆虚拟机

    添加88.88.88.66,即虚拟机的eth1的IP

    image

    选择88.88.88.66,然后点击connect,开始连接

    image

    连接成功!!

    image

    15、当基本的环境配置好之后就可以对虚拟机进行备份了,在备份的时候最好关闭虚拟机。

    image

    image

    image

    完!!!


  • 相关阅读:
    MySQL 8.0.11安装配置
    MySQL open_tables和opened_tables
    MongoDB 主从和Replica Set
    MySQL各类SQL语句的加锁机制
    MySQL锁机制
    MySQL事务隔离级别
    消除Warning: Using a password on the command line interface can be insecure的提示
    Error in Log_event::read_log_event(): 'Event too small', data_len: 0, event_type: 0
    Redis高可用 Sentinel
    PHP 的异步并行和协程 C 扩展 Swoole (附链接)
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/3366765.html
Copyright © 2011-2022 走看看