1、无法访问外网
问题:设置了静态ip,但是ping 百度是出现
ping: www.bai.com: 域名解析暂时失败
解决方式:
设置DNS:
sudo vim /etc/resolv.conf
然后重启网络:
sudo service network-manager restart
2、如何关闭Ubuntu的图形界面
systemctl set-default multi-user.target #关闭图形界面
systemctl set-default graphical.target #打开图形界面
关闭:在图形界面下 终端输入 sudo service lightdm stop
开启:在命令行输入:sudo service lightdm start
3、20.04配置静态IP(只试过该版本)
note:由于20.04版本把/etc/network/interfaces文件删除,所以要配置静态ip得用新方法
3.1、修改配置文件
1.1、打开配置文件
sudo vim /etc/netplan/00-installer-config.yaml
1.2、配置
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s5: # 网卡名称
dhcp4: no # 关闭dhcp
dhcp6: no
addresses: [10.211.55.10/24] # 静态ip
gateway4: 10.211.55.1 # 网关
nameservers:
addresses: [8.8.8.8, 114.114.114.114] #dns
注意
1、注意空格,各个语句得位置
2、静态ip配置哪里得24,代表子网掩码中1得个数,所以,这里得子网掩码为255.255.255.0
4、18.04版本配置PC-Ubuntu-板子互联(基于:virtualBox虚拟机)
4.1、Ubuntu和Windows互通
1、virtualbox 在安装之后就会新创建后一个虚拟网络(可以在主机网络管理器新建一个),默认为 VirtualBox Host-Only Network,在 Windows 网络适配器中就可以找到。
2、将连接外网的网卡连接共享到 host-only 网络,实现虚拟机 ping 通外网。在网络适配器界面连接外网的对网卡点击右键属性,在共享界面选择共享到 rtualBox Host-Only Network。VirtualBox Host-Only Network 的 默认 ip 为 192.168.56.1,在这个操作之后会被改成 192.168.137.1(每次共享都会如此)。
三、在 Linux 中编辑 /etc/network/interfaces,配置静态 IP:
将以下行注释:
auto enp0s3
iface enp0s3 inet dhcp
添加以下行:
auto enp0s3
iface enp0s3 inet static
address 192.168.137.101 # 在 virtualbox 的主机网络管理器中配置
netmask 255.255.255.0
gateway 192.168.137.1
四、在 Linux 中编辑 /etc/systemd/resolved.conf(Ubuntu 18.04 不再能添加到 /etc/resolv.conf) 添加 DNS:
DNS=114.114.114.114 8.8.8.8
五、重启网络:
$ sudo service networking restart
这里选择该项,界面名称是Oracle VM VirtualBo虚拟出来的网卡
局域地址是否正确
完成以上步骤只能实现ubuntu和PC机互通,但是ubuntu与板子互通不能相互兼容
4.2、Ubuntu和板子互通
1、新建里一个网卡
这里网卡设置为自动配置网卡,DHCP也得改,不能和ubuntu和PC机的通道,网段相同。
2、配置网卡
3、配置静态IP地址(根据自己网口名称设置)
4、这里配置为自动获取IP地址
5、设置开发板的IP地址,要与前面设置的这个处于同一网段。
5、20.04版本配置PC-Ubuntu-板子互联(基于:VMware 虚拟机)
5.1、配置网卡模式
1、配置网卡
2、网络适配器设置
5.2、配置虚拟机
1、配置ip地址
打开/etc/netplan下的网卡配置文件
2、使用本文第二章的配置方式配置网口(下面固定这样配置,ip地址的主机位可以自己定)
network:
version: 2
renderer: NetworkManager
ethernets:
ens33: #使用ifconfig查看自己的网卡名字
dhcp4: no
dhcp6: no
addresses: [192.168.137.101/24]
gateway4: 192.168.137.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
重启网络
$ sudo service networking restart
5.3、Windows下配置
1、配置网卡连接共享(如果又窗口弹出,点击确认即可)
2、查看虚拟网卡在Windows下的ip地址
此时Ubuntu和Windows已经能互ping通
5.4、配置板子和Ubuntu互联
1、配置VWware虚拟网卡,和5.1章节相同,但是配置的是类外一张虚拟出来的网卡,配置为桥接模式,桥接到,我们板子通过网线于电脑相连的网卡;
2、虚拟机网卡设置
3、配置Ubuntu的ip地址
找对自己的Ubuntu对应的网卡名称(可以使用ifconfig查看)
ip地址可以之际顺便配,但是不能和Ubuntu和Windows互联的这个网段,也就是不能为192.168.137.xxx,而且很重要的是一定要和板子的ip地址处于同一网段,不然无法互ping,这个文件的配置方式请查看第3章
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qd6iNIkv-1671716731279)(Linux配置.assets/
)]
然后重启网络服务
sudo service network-manager restart
6、开启FTP服务
6.1、安装FTP服务
sudo apt-get install vsftpd
6.2、配置FTP服务
sudo vi /etc/vsftpd.conf
保证这两行被打开
local_enable=YES
write_enable=YES
此时就可以使用FTP服务了,可以去下载FileZilla Client软件进行Ubuntu和Windows文件互传Download FileZilla Client for Windows (64bit x86) (filezilla-project.org)
7、NFS服务开启
7.1、安装NFS服务
sudo apt-get install nfs-kernel-server rpcbind
7.2、配置NFS服务文件
1、创建一个文件夹路径为/home/linux/nfs(文件地址自己定)
2、在/etc/exports中最后一段添加/home/linux/nfs *(rw,sync,no_root_squash)
3、上一步注意空格,不然下一步会出错
4、sudo /etc/init.d/nfs-kernel-server restart重启NFS服务
7.3、问题----解决
7.3.1、开发板和ubuntu能ping通,但是下载出现 File lookup fail
原因:uboot中使用得NFS版本为V2版本,而ubuntu中的NFS版本为V3,V4及以上版本,从而导致uboot不能再NFS服务器中找到文件。
解决:让buntu中得NFS兼容V2。修改/etc/default/nfs-kernel-server 文件。
操作方法:
1、sudo vim /etc/default/nfs-kernel-server
2、修改如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3FyCPu7r-1671716731280)(Linux配置.assets/
)]
3、保持退出,并重启
sudo service nfs-kernel-server restart
来源:https://blog.csdn.net/polaris_zgx/article/details/103571725
7.3.2、解决uboot通过NFS服务调试时出现T T T T等待
8、安装交叉编译器(这里以Linaro的gcc为例)
8.1、安装
1、将安装包复制到/usr/local/arm(没有改目录就创建),
解压
sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
8.2、配置环境
sudo vi /etc/profile
在最后添加
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
8.3、安装相关库
sudo apt-get install lsb-core lib32stdc++6
8.4、验证
查看版本号
arm-linux-gnueabihf-gcc -v
9、配置vim/vi
9.1、安装vim
sudo apt-get install vim
9.2、配置vim
(1)vim /etc/vim/vimrc
(2)在最后一行添加
syntax on //设置语法高亮
set tabstop=4 //设置制表符宽度为4
set softtabstop=4 //设置软制表符宽度为4
set shiftwidth=4 //设置缩进的空格数为4
set autoindent //设置自动缩进
set cindent //设置使用 C/C++ 语言的自动缩进方式
set nu //在左侧显示文本的行号
10、配置SSH
10.1、windos下开启ssh功能
点击开始菜单->设置->应用->应用和功能->可选功能->添加功能;添加OpenSSH 客户端 和 OpenSSH
10.2、Linux下开启SSH功能
sudo apt-getinstall openssh-server
10.3、使用密钥进行ssh免密登录
10.3.1、生成密钥
打开Windows PowerShell使用命令生成即可,-t rsa可以省略,默认就是生成rsa类型的密钥
ssh-keygen -t rsa
命令执行后会有提示,输入三次回车即可,执行完成后会在当前用户的.ssh目录下生成两个文件:id_rsa、id_rsa.pub文件,前者是私钥文件,后者是公钥文件(拷贝到其他主机只需要拷贝这个文件的内容)
10.3.2、将公钥文件复制到ubuntu下的家目录下
使用
scp ./id_rsa.pub xinme@192.168.137.101:/home/xinme
xinme:为Linux下的用户名 192…为ubuntu的ip地址
10.3.3、更改名字,并给权限
(1) 在Ubuntu下创建.ssh文件:mkdir .ssh
(2) 给权限:chmod 700 ./.ssh
(3) 移动公钥文件并将其改名:mv id_rsa.pub .ssh/authorized_keys
(4) 到.ssh文件下更改authorized_keys的权限:chmod 600 authorized_keys
(5) 再次到Windows下就不会需要密码了:ssh xinme@192.168.137.101
10.4、vscode使用ssh登录Ubuntu
10.4.1、**安装插件:**Remote - SSH
10.4.2、修改配置文件
10.4.5、遇见的问题并解决
1、有时候VScode原来能登录,现在却不行
解决:远程的服务器的用户目录下(/home/yourusername/),有一个.vscode-server目录,将该目录改名,重新连接即可。之后在连接的时候会重新在上述目录下新建一个.vscode-server目录。改名后的目录可以删除。
我也试了一下直接删除掉.vscode-server目录,再重新连接,也可以成功连接。只是不知道.vscode-server目录有什么重要的内容,所以还是改名的方法保险一点。
11、开发嵌入式Linux内核配置
11.1、使用图形配置界面:menuconfig
uboot 或 Linux 内核可以通过输入“make menuconfig”来打开图形化配置界面,menuconfig是一套图形化的配置工具,需要 ncurses 库支持。ncurses 库提供了一系列的 API 函数供调用者 生成基于文本的图形界面,因此需要先在 Ubuntu 中安装 ncurses 库.
sudo apt-get install build-essential
sudo apt-get install libncurses5-dev
**11.2、编译内核需要的库
如果出现arch/arm/boot/Makefile:52: recipe for target ‘arch/arm/boot/compressed/vmlinux’ failed
解决:sudo apt-get install lzop
12、配置Linux默认语言
1、sudo vim /etc/default/locale
2、修改/etc/default/locale文件
2 #中文
3 #LANG="zh_CN.UTF-8"
4 #LANGUAGE="zh_CN:zh"
5
6 #英文
7 LANG="en_US.UTF-8"
8 LANGUAGE="en_US:en"
13、添加新用户
1、sudo useradd -m <名字> //用于添加一个新用户
2、sudo passwd <名字> //跟上一个名字一样,设置刚才设置的新用户的密码
3、设置权限(这一步可给可不给,这里没给)
sudo vi /etc/sudoers
4、设置命令解释器
sudo vi /etc/passwd //将文件拉倒最后修改解释器类型,这里自动给了