如何搭建嵌入式开发的基础环境?

摘要:采用的Linux是Debian6,虚拟机采用VirtualBox。 用VirtualBox安装Debian的方法,可以参见我的另一篇博客http:www.cnblogs.compengdonglin137p3343135.html
采用的Linux是Debian6,虚拟机采用VirtualBox。 用VirtualBox安装Debian的方法,可以参见我的另一篇博客http://www.cnblogs.com/pengdonglin137/p/3343135.html,这里仅补充说明一下。 1、修改VirtualBox的虚拟机存放路径,这样的好处是:因为Debian的虚拟机默认存在C盘下,当重装系统的时候会将虚拟机删掉。所以需要修改,修改后,新建的虚拟硬盘的保存路径也跟着变为相应虚拟机的路径,这样便于管理。修改方法如下: 2、分区方案如下: 建立两块虚拟硬盘,分别存放/home,/。 给/home分50GB,给/分30GB。 3、在安装的时候应该把网线断开 4、当开启虚拟后发现主机的声音好像变小了,解决方法: 5、安装好后,将光盘镜像退出 6、为了提高软件的安装速度,可以将虚拟机的的eth0设置为桥接,并修改interface文件。(也可以用默认的NAT) 将来在设置虚拟网卡时需要注意:最好将设置成NAT的虚拟网卡放在设置成Host-Only网卡的前面,否则如果将来虚拟机要联网的话,需要将Host-Only虚拟网卡先关闭。 一般我是:利用桥接的虚拟网卡实现与开发板通信,利用NAT的虚拟网卡实现虚拟机的上网功能,利用Host-Only实现虚拟机和主机的双向通信(将来要使用samba实现双向通信,不管是Windows装Linux的虚拟机,还是Linux装windows的虚拟机,都可以在Linux上安装samba服务实现双向通信)。 由于debian6安装好后,没有sudo命令,修改interface文件需要先切换到root用户。 修改成如下内容(如果选择的是NAT方式,也可以修改成如下内容) 7、更新软件源 手动输入如下内容(将原来的内容删除,或者将sources.list备份一下): debhttp://mirrors.163.com/debiansqueeze main non-free contrib debhttp://mirrors.163.com/debiansqueeze-proposed-updates main contrib non-free debhttp://mirrors.163.com/debian-securitysqueeze/updates main contrib non-free deb-srchttp://mirrors.163.com/debiansqueeze main non-free contrib deb-srchttp://mirrors.163.com/debiansqueeze-proposed-updates main contrib non-free deb-srchttp://mirrors.163.com/debian-securitysqueeze/updates main contrib non-free 重新启动网络 更新软件源 8、安装VirtualBox增强工具 执行如下命令(以root身份): apt-get install build-essential apt-get install dkms apt-get install virtualbox-guest-dkms apt-get installlinux-headers-`uname -r` mount /dev/cdrom /mnt cd /mnt ./VBoxLinuxAdditions.run 然后关闭虚拟机:shutdown –h now 9、退出光盘镜像 10、设置共享剪贴板和拖放 启动虚拟机,设置共享剪贴板和拖放 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下映射网络驱动器的时候输的名字。 然后执行如下命令 即可。 关闭虚拟机,我们来设置网络: 目前先进行如下设置,(以后可以再根据需要进行设置) 将eth0设置成桥接,将eth1设置成Host-Only连接方式。 在windows下的网络管理中可以看到: 看一下VirtualBox Host-Only Network的参数: 可以看到它的ip是192.168.56.1,我们可以将它设置的更特殊一些,如设置成88.88.88.88,只需要将eth1的网段与他设置在一个网段即可。(建议:最好使用默认值,即192.168.56.1,用88.88.88.88在某些时候会出现问题,而且使用中发现使用默认值,在用SSH连接虚拟机时,速度比较快) eth0: eth1: 启动虚拟机,修改interface文件,修改成如下内容(也可以将eth0也设置成静态IP): 建议:使用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下映射一下网络驱动器。 输入地址,其中的share就是上面谈到的home。 注意:如果无法连接,在主机或者虚拟机中ping对方,如果ping失败,就是Win7的防火墙的问题,需要先关闭Win7的防火墙 输入用户名和密码 在windows下可以看到已经映射成功的网络驱动器,双击可以打开。 可以看到其中就是/home/pengdl下的内容。(为什么是/home/pengdl,因为在samba配置文件中path选项就是该值。) 13、下面就可以安装常用的软件包了,可以参见: http://www.cnblogs.com/pengdonglin137/p/3248204.html https://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 选择88.88.88.66,然后点击connect,开始连接 连接成功!! 15、当基本的环境配置好之后就可以对虚拟机进行备份了,在备份的时候最好关闭虚拟机。 完!!!