嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)

一、安装VMware

1、VMware介绍

(1)虚拟机软件原理介绍
  工作在主机上的一个软件,其借助电脑本身的硬件,运行后可以虚拟出来一台电脑,可以虚拟出Linux,windows,macos等多种操作系统的电脑。

(2)常用虚拟机软件:VMware(收费的,而且还比较贵)和VirtualBox(开源免费)

(3)VMware的版本介绍
Workstation Player:是简化版
Workstation Pro:在Player的基础上功能更加完善

偶数版本为长期支持维护版本(LTS),如16.04、18.04、20.04等等。

(4)高版本的VMware创建的虚拟机文件用低版本的VMware是打不开的,反之则可以。所以创建虚拟机时VMware的版本不要求最新,而你想使用别人创建的虚拟机就必须自己的VMware版本比他的高(至少一样)。我的ubuntu16.04.3_x64是用VMware12.5.7创建的,所以你要使用我提供的ubuntu虚拟机,就必须至少使用VMware12.5.7或者更高版本,我们这里安装的是VMware16.0.0版本。

2、安装VMware16.0.0

参考教程:https://www.jb51.net/softjc/745263.html
官网下载链接:https://download3.vmware.com/software/wkst/file/VMware-workstation-full-16.0.0-16894299.exe
我提供的ubuntu 16.04链接:链接:https://pan.baidu.com/s/10DGcQAZyPVZVG51_ITDP_g 
提取码:d082 
--来自百度网盘超级会员V5的分享
大家也可以去ubuntu官网下载,体验自己建立虚拟机的过程,现在用的比较新的应该是Ubuntu 20.04

(1)安装
不管原来有无安装过VMware,都可以直接双击安装程序exe进行安装,如果原来有装过则会自动检测到并且升级。

(2)激活
激活码可以到网上搜索对应版本,我上面的那个链接中的文档也提供了激活码。仅限于私人开发使用,如果是公司一定要去购买正版,负责会很麻烦,涉及到版权问题。

二、安装ubuntu16.04.3 LTS

1、Ubuntu介绍

(1)Ubuntu是linux众多发行版中的一个,目前在国内比较流行

(2)Ubuntu的版本(16.04 16.10 LTS)
04代表是4月份发布的,10代表10月份

(3)如何选择适合自己的版本
根据自己的需求,电脑的配置(低版本比高版本流畅一点,因为我的电脑配置不是特别高,18.04经常会卡住,16.04会好点),学习的资料那个版本更多一点;最新的版本并不一定是最好的,因为存在的bug比较多。

2、下载安装包iso

  官网页面地址:https://www.ubuntu.com/download/alternative-downloads
选择16.04.3LTS的Desktop 64位的iso版本即可。

  当然如果你想安装其他更新的版本也不是不可以,只不过我这篇文章之后的教程是按照16.04进行讲解的,高版本不一定适用,不同版本之间还是有一定的差异,会导致各种问题,16.04网上参考的教程应该是最多的,18.04也不少,但20.04相对前两个就少点了。

3、安装

(1)硬盘可以稍微给大点,我给了60GB,内存给了4GB(windows物理内存有8GB),其他没特别的,选择一个处理器,四个核心。

(2)我提供的那个默认创建的用户aston,密码root 将来开机后su passwd root给root用户设置密码,也是root

(3)自己创建一个虚拟机的安装步骤:
https://www.jianshu.com/p/faf8bbbdd0f2
在这里插入图片描述
这是我安装好的虚拟机(壁纸是我自己换的)

四、新安装Ubuntu的基本设置

  对于以下的操作,请大家阅读我提供的这份文档,因为比较简单,就不过多赘述了!而且看到这篇文章,说明你应该不是完全的Linux操作小白了,基本的操作和ubuntu系统应该接触过。
链接:https://pan.baidu.com/s/1qw97NvySeUBk7zJRN_FPVw
提取码:rezg
–来自百度网盘超级会员V5的分享
注:本文档的最终版权归朱有鹏老师所有,向朱老师致敬!

1、开机和关机等

(1)初始状态下开机
(2)关闭虚拟机
(3)挂起和恢复虚拟机
(4)快照

2、虚拟机基本设置

(1)更换桌面背景
(2)设置屏幕分辨率
(3)全屏虚拟机的好坏
(4)关闭锁屏
(5)关闭更新

3、控制台Terminal

(1)打开和关闭控制台 Ctrl+Alt+T
(2)以Tab形式打开控制台
(3)设置控制台字体和大小

以上的设置可以直接百度找到教程,若我提供的文档没有,请自己百度查找!

五、ubuntu的root用户

1、ubuntu的多用户体系

(1)分组:特权组和普通组
(2)特权代表:root;普通代表:默认创建的用户aston(自己起的名字)
(3)添加用户用:useradd和adduser,也都有对应的删除用户指令

2、平时使用ubuntu时用户的影响

(1)不安全但方便的使用习惯:直接以root用户登录使用ubuntu
(2)正规使用方式:默认以普通用户登录,需要特权操作时用sudo指令临时获取特权级别来完成操作
(3)为root用户设置密码,默认情况下安装好的ubuntu中root用户是没有密码的,所以我们没法去su root切换到root用户。需要如下的操作方可:

(1)sudo passwd root
输入当前账户的开机密码
(2)输入要设置的root密码
(3)再次输入要设置的root密码
成功!可以使用su来进入root用户了

3、常规使用时的工作目录问题

(1)每个用户有自己的工作目录,一般应该在自己的目录下干活

(2)/opt 目录常被用来临时做工作目录

(3)一般挂载应该挂载在/mnt目录下,还有些挂载有特定目录譬如/media等

(4)/bin /sbin /lib等关键目录操作要慎重,一旦损坏系统可能会瘫痪(一般装完系统并搭建好常用环境好,可以将虚拟机关闭,并打包成压缩包保存,坏了直接解压一份来用)

六、安装vim

1、刚安装的ubuntu默认没有vim,vim用的比较多,所以上网后先会安装vim。

2、上网
这个请自行百度搜索其他教程,不过安装上述提供的虚拟机安装教程,此时你的虚拟机应该是可以上网的!

3、安装vim
当时使用apt-get install安装软件时,发现安装不了,比如安装vim出现如下问题:
在这里插入图片描述
可以使用以下的命令尝试解决:更新数据源,因为其安装软件都是在线安装,访问服务器下载资源。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim

还可以使用aptitude安装软件,当然你需要先安装aptitude:

sudo apt-get install aptitude

安装完后我们在使用其安装vim:

sudo aptitude install vim
根据安装的打印信息进行选择:
选择n,进行降低版本
剩下的都选择Y

安装好后,进行测试;
vi a.c
看是否可以输入,使用标有上下左右箭头按键进行移动光标时,看是否正常,是否可以移动。

七、共享文件夹和VMtools安装

VMtools参考教程:https://blog.csdn.net/qq_21516633/article/details/102623517

安装VMtools成功后:虚拟机ubuntu桌面可以和主机Windows桌面之间相互拖曳移动文件,复制文字粘贴。注意不同版本的ubuntu安装可能会有所区别,若我提供的教程未解决你的问题,请自行百度搜索其他教程,搜索时加上你的ubuntu版本号,eg:ubuntu18.04 安装VMtools。有时也可以加上VMware的版本搜索,这样更加准确些。

先确保VMtools正常工作后再去安装共享文件夹!
共享文件夹安装教程:https://blog.csdn.net/qq_30534935/article/details/95779302

八、搭建samba服务器

3个关键点:
1、安装samba时;
2/etc/samba/smb.conf配置项目问题

安装参考教程:http://www.cnblogs.com/bencakes/p/5541771.html
sudo apt-get install samba

如果使用apt-get进行安装,无法定位软件包,或者有依赖关系未解决,尝试用aptitude去进行
安装,如上边安装vim操作类似。

1、修改配置文件/etc/samba/smb.conf解决只读不能写问题(为了避免出错,可以将该配置文件备份后再去修改,将来操作失误时可以还原)

(1)将sambashare目录改为777,直接测试,还是不行
(2)重启smb服务器后再测试,还是不行
(3)修改配置文件中0775到0777,并重启samba服务器,测试,还是不行
(4)配置文件中添加2行:
writable = yes
available = yes
在这里插入图片描述
  再重启服务器sudo /etc/init.d/sambd restart,测试,解决了。要注意的是有的人该目录下的程序不叫sambd,而是samba(我的就是),如果执行命令提示找不到命令,查看一下该目录下自己的程序名是哪个:
在这里插入图片描述
windows下打开开始–>运行–>输入:\192.168.1.141\share

2、配置文件中的一个坑security=share:
详情阅读参考:http://www.bubuko.com/infodetail-2219037.html

3、配置为带用户访问限制的samba,重启smbd时,报错:
[…] Restarting smbd (via systemctl): smbd.serviceJob for smbd.service failed because the control process exited with error code. See “systemctl status smbd.service” and “journalctl -xe” for details.
failed!
这种报错就表示配置文件中有不对的地方,比如“=”左右两边没有空格之类的。或者注释及其之前的空格是中文空格等等,可以通过删除有用配置信息以外的注释解决。

4、在Windows中创建一个smb共享文件夹的快捷访问,鼠标右键点击此电脑,选择映射网络驱动器:
在这里插入图片描述

九、NAT和桥接

详解:https://blog.csdn.net/zhengqijun_/article/details/69788894

1、原理介绍

(1)NAT
 &enmsp;主要你的主机可以上网,那你的虚拟机就可以上网,你的虚拟机是依赖于你的主机上网的。

(2)桥接
主机和虚拟机是平行关系,拥有一个独立的ip,且二者处于同一个局域网下。

2、VMware菜单设置

参考学习:https://www.cnblogs.com/woms/p/5945575.html
(1)NAT:第一步,VMware软件菜单中选择NAT;第二步,虚拟机ubuntu设置为dhcp方式并重启网卡得到合法的IP地址。

(2)桥接
https://blog.csdn.net/qq_32360995/article/details/90715780

(3)也可同时设置两种模式,可参考如下教程:
https://blog.csdn.net/xuoeigan/article/details/108225578

以上教程对我而言可以,对你却不一定,如果未解决,请自行百度搜索其他的教程!

十、Ubuntu中网络配置

1、修改/etc/network/interfaces文件

(1)静态IP

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto ens33
iface ens33 inet static
address 192.168.1.141
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 8.8.8.8

(2)DHCP

# dhcp
auto ens33
iface ens33 inet dhcp

2、重启网卡

(1)旧版本ubuntu中,最常用的是:sudo /etc/init.d/networking restart
(2)在很多版本中,也可以:sudo service networking restart
(3)在新版本ubuntu中,用:ifdown ens33 然后再ifup ens33

注意:什么情况下用DHCP会成功
(1)NAT方式上网

(2)桥接到电脑的一个网卡上,而这个网卡连接的外部网络中有DHCP服务器。典型的方式就是电脑通过WIFI连接到家里的路由器(dhcp server),ubuntu桥接到无线网卡上,这时dhcp一定能成功

十一、Ubuntu连接开发板的网络设置

1、必须桥接

(1)桥接网络,桥接到有线网卡

(2)开发板运行linux(或uboot),IP地址设置好,网卡驱动没问题 192.168.1.10

(3)ubuntu中设置静态IP到同一网段,重启网卡 192.168.1.141

(4)windows中有线网卡对应的本地连接设置为同一网段静态地址 192.168.1.20
操作教程:https://service.tp-link.com.cn/detail_article_2801.html

2、几个细节

(1)如果开发板是linux,那么开发板和ubuntu可以互相ping通;如果开发板是uboot,那只能从uboot去ping通ubuntu,不能反过来ping通(因为uboot不会反复监测,其本身程序的原因)。

(2)如果开发板能ping通ubuntu但是ping不通windows(不合理),往往是windows的防火墙或者360等安全软件拦截导致的。其实不影响使用,不用理会。

(3)可以从一个路由器引出两根网线,一个接开发板,一个连接自己的电脑,这样可以比较顺利的实现二者间的网络连接,还有一种解决方式,将开发板与电脑使用网线直接相连,将开发板当作一个可以上网的设备,电脑使用有线网卡连接到开发板,不过这种方式问题比较多,不容易成功。因为开发板在启动uboot、内核过程中开发板网卡会初始化两次,出现中断的情况,容易出现问题。

十二、桥接下samba服务器的使用

1、桥接到 有线网卡/WIFI网卡 下使用samba

访问方式和上边相同,只不过相比于上面IP地址改变了,要使用新的ip地址进行访问

2、有线网卡的一个bug

(1)有线网卡本身只有在激活状态下才会工作,samba才能用;而有线网卡如果没有通过一根网线连接到一个可联网的设备(路由器、别的电脑、运行了linux的开发板)时有线网卡默认是不会被激活的。这就是一个bug。

  当桥接到有线网卡,并且开发板没有运行linux时,这时samba服务器是没法用的。在我们正常开发时一般大部分功能开发时开发板上都已经跑起来linux了,这时候不影响。影响的主要是系统移植的开发过程。这个过程中就会遇到samba服务器没法使用的情况。(这是使用网线将电脑和开发板直接连接的情况)

十三、主机Windows和虚拟机ubuntu之间文件共享经验

1、使用共享文件夹技术

(1)本地开发、共享文件夹可用,首选之。
(2)本地开发、共享文件夹不可用,试试重装VMtools

在公司可能是使用ssh服务远程登陆进行开发,共享文件夹就无法使用了!

2、使用samba服务器

(1)本地开发、共享文件夹无法使用并且参考网上多种方法还无法解决,建议用samba,不连开发板时首选NAT方式进行上网,在这里不得不说一下virtualBox的一个优点了,可以配置两张网卡,一个选择NAT方式主要进行上网,另一个选择桥接模式用于开发。

(2)必须连开发板(必须桥接)时,如果开发板始终运行linux,那就桥接到有线网卡配好IP用samba

(3)开发板系统移植阶段没有linux时,可以考虑:开发板和主机不直连而是通过路由器网连,开发板和路由器各使用一根网线进行上网。

(4)差一点的方法是:连开发板时桥接有线网络,用samba时桥接到无线网络(或NAT)

3、添加Loopback网卡(虚拟网卡)实现Windows和ubuntu始终可以桥接ping通

Windows10系统添加虚拟网卡(Microsoft Loopback Adapter)的方法:
https://blog.csdn.net/zhaikaiyun/article/details/106016248
上述链接中的操作完成后去VMware打开虚拟网络编辑器,设置桥接到刚才添加的那个虚拟网卡。
在这里插入图片描述
ubuntu中设置静态ip,尝试去ping同主机,再去测试samba服务器,此时电脑不需插网线,也可使用samba服务器。因为借助了刚才得到本地回环网卡,电脑成为了一个类似路由器的设备。

十四、搭建tftp服务器、搭建nfs服务器

参考我上面提供的那份朱老师的文档进行操作即可(我是可以的)。若按照相应操作未解决,请百度搜索其他教程,我给大家找了一个:
https://www.cnblogs.com/icefree/p/7902043.html。

如果大家觉得我的文章讲的不够详细,无法解决你的问题,大家可以去51CTO学院购买朱老师的课程《嵌入式linux开发环境搭建视频课程》,只要9.9元!链接:
https://edu.51cto.com/course/10751.html
在这里插入图片描述
本篇博客内容结构组成以及部分内容参考了《朱老师物联网大讲堂》课程,并且有些地方引用的他人的博客或者文章,如有侵权,请联系删除!水平有限,不足之处请大家多多指教。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小嵌同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值