嵌入式Linux开发环境搭建,三种方式:虚拟机、物理机、WSL

目录

    • 总结写前面
    • 一、Linux虚拟机
      • 1 安装VMware、ubuntu18.04
      • 2 换源
      • 3 改中文
      • 4 中文输入法
      • 5 永不息屏
      • 6 设置 root 密码
      • 7 安装 terminator
      • 8 安装 htop(升级版top)
      • 9 安装 Vim
      • 10 静态IP-虚拟机ubuntu
      • 11 安装 ssh
      • 12 安装 MobaXterm (SSH)(windows)(汉化)
      • 13 安装 FileZilla (SFTP)(windows)
      • 14 安装 samba
      • 15 安装 nfs
      • 16 安装 Vscode remote-ssh(windows)
      • 17 遇到的问题:Command 'ifconfig' not found
      • 18 遇到的问题:虚拟机突然没网
    • 二、Linux物理机(服务器)
    • 三、WSL

总结写前面

嵌入式Linux开发,目前了解到三种方式:虚拟机、物理机(服务器)、WSL

  • 虚拟机:个人使用。
  • 物理机(服务器) :公司用。有旧电脑可以装来玩,旧电脑装Linux系统或双系统,放家里当服务器用,就是性能太差。没有公网IP,需要用内网穿透软件,才能远程操作服务器,网速太低,用SSH远程命令行没啥问题,传文件太慢。总结就是太穷了,性能低、网速慢,玩不起来。(组高性能台式机+公网IP)
  • WSL:待测。

具体而言,涉及到一些技术和软件的选择,包括了windows与linux之间的:远程命令行、文件传输、文件夹共享、代码开发、远程桌面、代码同步。

功能 Linux虚拟机 Linux物理机(服务器) WSL
远程命令行 SSH(主机用MobaXterm) SSH(主机用MobaXterm)+ Zerotire(内网穿透)
文件传输 SFTP(主机用FileZilla) SFTP(主机用FileZilla)
共享文件夹 NFS(与板卡)、Samba(与主机) NFS(与板卡)、Samba(与主机)
远程开发 VS Code + Remote-SSH VS Code + Remote-SSH
远程桌面 / Todesk
代码同步 Git Git

实际测试了网络延迟、网络带宽、Linux内核编译速度

网络 网络延迟 Filezilla samba Linux内核编译时间
虚拟机 局域网 0 300-350MB/s 200-250MB/s 1m30s(虚拟机32核i9 14代)
物理机(服务器 局域网 <10ms 20-25MB/s /(网速太低不实用就没测) 4m46s(物理机8核i5 9代)
物理机(服务器 Zerotire(工位->家里) 26-33ms 3MB/s /(网速太低不实用就没测) 4m46s(物理机8核i5 9代)

总结:目前还是用虚拟机吧,够用。

  • 服务器,受网速影响太大:就算一个局域网内都传的很慢,不流畅啊,还不如直接U盘传输。
  • 服务器,性能太差:用的旧电脑戴尔G3,纯Linux系统编译内核都不如新电脑的虚拟机编译快。
  • 虚拟机CPU利用率都能达到100%了,是不是说明就算把新电脑直接装纯Linux系统,效果也和虚拟机差不多?等下次重装系统时试试这个新电脑装Linux系统的编译速度。

一、Linux虚拟机

电脑和软件:

VMware 16.2.3
主机系统 win11
虚拟机系统 ubuntu18.04
CPU Intel i9-14900HX
内存 32G

1 安装VMware、ubuntu18.04

VMware安装网上很多教程,或者参考之前写的一篇:https://blog.csdn.net/weixin_44029896/article/details/122877171?fromshare=blogdetail\&sharetype=blogdetail\&sharerId=122877171\&sharerefer=PC\&sharesource=weixin_44029896\&sharefrom=from_link

要注意的是:

内存 :分配给虚拟机的内存>16G

硬盘 :只编译linux需要200G ,还要编译android的话要500G。(视芯片而定吧,IMX6U的就很小,RK3566的SDK就比较大)

CPU:前两行随便设置,最终只根据内核总数决定虚拟机CPU性能。我是直接拉满了,使用起来感觉没影响到主机的流畅使用。

2 换源

打开软件和更新

点击

选择其他站点

选一个中国源,确认后点右下角关闭,弹出对话框,问你是否重新加载源,选是。

换完后,要更新源。

复制代码
sudo apt update

3 改中文

点击设置、区域和语言、管理安装语言

点击

找到中文简体,勾选

重启虚拟机。

重启****后,弹窗,选择保存原来的路径名称,即英文名称。

4 中文输入法

直接去这里设置即可

5 永不息屏

设置 -> 电源

6 设置 root 密码

刚安装好的Linux系统没有设置root用户密码。passwd命令作用:修改用户密码,不指定用户名就默认是修改root。

复制代码
sudo passwd

su root (su名字来源:switch user)

exit 或者 ctrl+d 退出root用户。

7 安装 terminator

复制代码
sudo apt install terminator

配置成无限缓冲,不然编译完系统想看过程中的输出都被清理掉了。

8 安装 htop(升级版top)

复制代码
sudo apt install htop

界面配置:

选好后,按F10确认,按F10退出。ctrl+c退出无法保存配置。

最终效果:

9 安装 Vim

ubuntu默认只安装了vi,没有vim(具体区别待日后体验)

复制代码
sudo apt install vim

10 静态IP-虚拟机ubuntu

参考教程:https://blog.csdn.net/m0_74957207/article/details/142618269

  • 查看网关,后续用到。

    route -n

  • 修改配置文件

    sudo vim /etc/netplan/01-network-manager-all.yaml

更改其中的网络名字、网关、需要固定的IP。即加粗部分。

yaml 复制代码
network:
    version: 2
    renderer: NetworkManager
    ethernets:
        ens33: 
            dhcp4: no 
            addresses: [192.168.70.132/24] 
            gateway4: 192.168.70.2 
            nameservers:
                addresses: [8.8.8.8, 114.114.114.114] 
  • 应用并重启

    sudo netplan apply
    sudo systemctl restart systemd-networkd

  • 验证

    ip -a
    ping bing.com

11 安装 ssh

  • 安装
Plain 复制代码
sudo apt update               # 更新软件包列表
sudo apt install openssh-server  # 安装 SSH 服务端
sudo systemctl status ssh      # 查看服务状态(按 q 退出)
正常状态应显示 active (running)
  • 重启ssh

    /etc/init.d/ssh restart

12 安装 MobaXterm (SSH)(windows)(汉化)

Windows 官网下载安装版本,安装一路next。

13 安装 FileZilla (SFTP)(windows)

Windows 官网下载安装版本,安装一路next。

14 安装 samba

ubuntu18.04**:**

  • 安装

    sudo apt install samba

  • 创建共享文件

    sudo mkdir -p /home/wyf/samba
    sudo chmod 777 /home/wyf/samba

  • 配置(使用的泰山派教程的配置)(迅为的配置有问题,win被拒绝访问)

    sudo vi /etc/samba/smb.conf

标黄部分自行更改

bash 复制代码
[Tai_Shan_Pai]
   comment = share folder
   path = /home/wyf/samba
   valid users = wyf
   write list = wyf
   browseable = yes
   writable = yes         
   create mask = 0644   
   directory mode = 0755  
   read only = no    
  • 设置访问密码(第一次使用需要)

    sudo smbpasswd -a wyf

  • 重启

    sudo service smbd restart

win11**:**

win+r,输入\\ubuntu ip地址 如:\192.168.70.132。(win11无法连接的话,看下面的解决)

然后右键共享文件夹,点击"映射网络驱动器"。

samba相关命令

检查Samba用户是否存在:sudo pdbedit -L

检查配置文件语法:testparm # 显示最终生效的配置,检查是否有语法错误

遇到问题:win11 无法连接 samba:

15 安装 nfs

服务端:

  • 安装:

    sudo apt install nfs-kernel-server

  • 创建共享文件夹

    sudo mkdir -p /home/nfs

  • 配置,添加共享规则

    sudo vi /etc/exports
    /home/nfs/ *(rw,sync,no_root_squash)

  • 重启nfs

    /etc/init.d/nfs-kernel-server restart

客户端:

16 安装 Vscode remote-ssh(windows)

插件中心搜索Remote-SSH。

点击"+"新建,输入ssh 主机名@主机ip。如ssh wyf@192.168.70.132

然后就可以直接访问linux中的代码,直接更改,写完直接下面命令行输入命令编译。

17 遇到的问题:Command 'ifconfig' not found

原因:软件包变更 :Ubuntu 从 18.04 开始默认不再预装 net-tools 软件包(包含 ifconfignetstat 等传统网络工具)。官方推荐使用更现代的 ip 命令(来自 iproute2 软件包)

功能 传统命令 现代命令(ip)
查看 IP 地址 ifconfig ip addr 或 ip a
查看路由表 route -n ip route
启用/禁用网卡 ifconfig eth0 up ip link set eth0 up
添加临时 IP ifconfig eth0 add 192.168.1.100 ip addr add 192.168.1.100/24 dev eth0

如果仍想使用ifconfig:

复制代码
sudo apt install net-tools

18 遇到的问题:虚拟机突然没网

Plain 复制代码
sudo service network-manager stop 
sudo rm /var/lib/NetworkManager/NetworkManager.state 
sudo service network-manager start

二、Linux物理机(服务器)

三、WSL

相关推荐
hkhkhkhkh1234 小时前
Linux设备节点基础知识
linux·服务器·驱动开发
HZero.chen5 小时前
Linux字符串处理
linux·string
张童瑶5 小时前
Linux SSH隧道代理转发及多层转发
linux·运维·ssh
汪汪队立大功1235 小时前
什么是SELinux
linux
石小千5 小时前
Linux安装OpenProject
linux·运维
柏木乃一5 小时前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
Lime-30905 小时前
制作Ubuntu 24.04-GPU服务器测试系统盘
linux·运维·ubuntu
百年渔翁_肯肯6 小时前
Linux 与 Unix 的核心区别(清晰对比版)
linux·运维·unix
胡闹546 小时前
Linux查询防火墙放过的端口并额外增加需要通过的端口命令
linux·运维·windows
lc9991027 小时前
简洁高效的相机预览
android·linux