前段时间,搭建了一下华为Atlas开发板服务器环境,过程中遇到的问题整理记录一下,希望对您有帮助。
(1)Ubuntu16.04.3 为指定版本,其他版本会有兼容性问题。在后续部署中,代码会检查当前Ubuntu版本,如果不是指定版本,会报错。(如果你一开始是安装的指定版本,把系统自动更新关掉,不要轻易用apt-get upgrade命令,因为这样会更新Linux版本的)
(2)gcc、交叉编译环境gcc需要制定为5.4
(3)Vmware使用15以上版本,避免不必要的兼容问题。之前Vmware14上的服务器总是会莫名其妙的黑屏、死机、启动不了、所以你开始选择Vmware版本,请直接用Vmware15+版本
(1)修改/etc/network/interfaces,设置网络配置信息。
注意:
每一次修改网络,需要
sudo ifconfig xxx(网卡名称) down
sudo ip addr flush xxx(网卡名称) #清空网络缓存,不然更新了 ifconfig看到的结果还是更新以前的ip信息
(2)/etc/NetworkManager/NetworkManager.conf修改,关闭NetworkManager
修改为:managed=true
重启网络和NetworkManager
sudo service networking restart
sudo service NertowkManager restart
修改DNS
一次性:/etc/resolv.conf 添加 nameserver 114.114.114.114
永久: /etc/resolvconf/resolv.conf.d/base 或者/etc/resolvconf/resolv.conf.d/head
添加 nameserver 114.114.114.114
但上述方案是对本机上所有的网卡设置DNS,如果要针对单个网卡设置:
/etc/network/interfaces 对于需要设置的网卡添加 dns-nameservers 114.114.114.114(改成自己要用的DNS)
修改完以后记得 sudo resolvconf -u 执行更新
宿主机通过无线网连接外网时,有时候会出现虚拟机上的Ubunut服务器无法连接外网的情况.
首先检查一下DNS配置,如果没有问题,可以参照一下解决(这个问题我也不是每次都会遇到):
(1)打开VM的可移动设备,再选择网络适配器,再选择设置。
(2)vmware网络适配器修改为自定义(Vmnet 8),
(3)物理机上无线网卡--->共享 启用网络共享连接
参考 https://blog.csdn.net/Caoyang_He/article/details/89926591
原因:二者的网卡 IP不能在同一网段,会造成冲突
解决:服务器的IP设置成与Atlas的usb网卡、NIC有线网卡不在同一网段的网络地址
(1)更新源,添加源到该文件 /etc/apt/source.list
#更新本地软件
sudo apt-get update
sudo apt-get upgrade //不要直接使用upgrade更新,会更新linux版本
(2)阻止 linux自动更新
Ubuntu 桌面版
要在Software & Update中关闭内核更新,改为Never
Ubuntu Server版
vim /etc/apt/apt.conf.d/10periodic
APT::Periodic::Update-Package-Lists "1";#将配置中的"Update-Package-Lists"参数配置为"0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
Centos
修改 yum.conf 配置文件
*** 修改配置前需备份 /etc/yum.conf 文件
备份完成后在yum.conf 文件[main]部分添加更新忽略项
exclude=kernel* #忽略内核更新
exclude=centos-release* #忽略系统版本升级
exclude=docker-ce* #忽略docker-ce版本更新
使用update命令时指定忽略更新
yum --exclude=kernel* update
安装过程中遇到的问题再另一篇博客里面写了Ubuntu16.04下编译安装gcc-5.4.0问题记录
在安装gcc前,需要先安装 M4,GMP ,MPFR 、和MPC
五个包不能随意安装,需要按照m4–>gmp–>mpfr—>mpc–>gcc的顺序来安装
m4-1.4.18
gmp-6.1.2
mpfr-4.0.2
mpc-1.0.3
gcc-5.4.0
下载网址:
m4:http://www.gnu.org/software/m4/m4.html
gmp:https://gmplib.org/
mpfr:http://www.mpfr.org/
mpc:http://www.multiprecision.org/
gcc:https://gcc.gnu.org/mirrors.html 或者:
ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/
安装m4
root@yqy:~# cd /usr/local
root@yqy:/usr/local# tar -xvf m4-1.4.18.tar
root@yqy:/usr/local# cd m4-1.4.18
root@yqy:/usr/local/m4-1.4.18# ./configure
root@yqy:/usr/local/m4-1.4.18# make
root@yqy:/usr/local/m4-1.4.18# make install
安装gmp
root@yqy:~# cd /usr/local
root@yqy:/usr/local# tar -zxvf gmp-6.1.2.tar.bz2
root@yqy:/usr/local# cd gmp-6.1.2
root@yqy:/usr/local/gmp-6.1.2# ./configure
root@yqy:/usr/local/gmp-6.1.2# make
root@yqy:/usr/local/gmp-6.1.2# make install
安装mpfr
root@yqy:~# cd /usr/local
root@yqy:/usr/local# tar -zxvf mpfr-4.0.2.tar.gz
root@yqy:/usr/local# cd mpfr-4.0.2
root@yqy:/usr/local/mpfr-4.0.2# ./configure
root@yqy:/usr/local/mpfr-4.0.2# make
root@yqy:/usr/local/mpfr-4.0.2# make install
安装mpc
root@yqy:~# cd /usr/local
root@yqy:/usr/local# tar -zxvf mpc-1.0.3.tar.gz
root@yqy:/usr/local# cd mpc-1.0.3
root@yqy:/usr/local/mpc-1.0.3# ./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib --with-mpfr-include=/usr/local/include --with-mpfr-lib=/usr/local/lib
root@yqy:/usr/local/mpc-1.0.3# make
root@yqy:/usr/local/mpc-1.0.3# make install
下载安装gcc(在root权限下,进入到/usr/local目录下)
1).配置gmp和mpfr的库文件路径, 在.bash_profile(一般在/root 目录下)配置 LD_LIBRARY_PATH,把 GMP 与 MPFR对应的 lib 配置上.
root@yqy:~# vi.bash_profile
export C_INCLUDE_PATH=/usr/local/include:$C_INCLUDE_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
按esc,输入 :wq 保存退出。
使之生效:
root@yqy:~# source .bash_profile
安装gcc
/usr/local/gcc-5.4.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
制作SD卡时需要注意内容如下:
(1)对sd卡备份,制作过程中会对sd卡格式化;
(2)sd卡请使用指定型号的sd卡,并使用支持usb3.0的读卡器;
(3)sd卡制作时,如果没有读卡器,可以把sd卡绑定为系统磁盘,以usb方式制作sd卡。制作过程中需要以管理员的身份运行VMWare虚拟机;一定要先插入SD卡,再打开VMWare软件,否则添加硬盘时看不到SD卡。
主机插入sd卡让虚拟机识别参考:https://blog.csdn.net/juan190755422/article/details/103851864
原因:写入时是按照sd卡的分区名称写入的,新的sd卡默认只有一个主分区sdb1,需要自己指定三个分区sdb1、sdb2、sdb3,然后执行sd卡制卡脚本。
sudo fdisk /dev/sdb
==>d #删除目前的分区,因为目前的分区是只有一个主分区,分区大小为全盘大小
==>n #新建分区,然后指定大小,新建分区名称按照顺序为sdb1、sdb2、sdb3…
。。。
==>w #写入分区配置信息,否则不会写入分区配置
altas开发板的arm版ubuntu下执行sudo apt-get install python-pip 出现错误 Unable to locate package python-pip
sudo apt-get install software-properties-common
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get install python-pip
Altas开发板USB连接方式时如何配置开发者板通过Mind Studio服务器连接网络
在Mind Studio所在服务器上配置路由规则,允许转发开发者板的IP报文。开发者板上则需要配置一下路由地址,即Mind Studio所在服务器的IP地址。
Mind Studio所在服务器侧配置及开发者板侧的详细配置如下所示。
Mind Studio所在服务器侧配置(UI Host侧配置)
以root用户执行如下命令。
执行如下命令允许报文转发:
echo "1" > /proc/sys/net/ipv4/ip_forward
配置NAT转换:
sudo iptables -t nat -A POSTROUTING -o enp2s0 -s 192.168.1.0/24 -j MASQUERADE
其中enp2s0表示连接到外网的网卡, -s表示只对开发者板的IP报文做转换(192.168.1.0/24表示192.168.1.0-192.168.1.24之间的IP地址,开发者板的IP地址在此网段中即可)。
配置转发规则。
sudo iptables -A FORWARD -i enp0s20f0u8 -o enp2s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i enp0s20f0u8 -o enp2s0 -j ACCEPT
其中enp0s20f0u8为uihost上usb虚拟的网卡,表示数据报文的入口。
开发者板侧配置
配置缺省路由。
sudo ip route change default via 192.168.1.251 dev usb0
此处192.168.1.251为Mind Studio所在服务器连接开发者板的网卡的ip地址,可通过ifconfig命令查看。
若执行此命令时提示TNELINK answers: No such file or directory,说明开发者板已经存在了此路由,只需要更改路由地址,例如修改此条命令为:
sudo ip route add default via 192.168.1.251 dev usb0
在开发者板上添加DNS。
sudo vi /etc/resolvconf/resolv.conf.d/base
添加如下内容:
nameserver 114.114.114.114
执行:wq保存退出。
执行如下命令使配置生效。
resolvconf -u
可执行cat /etc/resolv.conf命令确认文件内容。