学习嵌入式Linux的一些基本配置笔记,互相学习,大家互相交流

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       //将文件拉倒最后修改解释器类型,这里自动给了

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值