目录
- 总结写前面
- 一、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。即加粗部分。
network:version: 2renderer: NetworkManagerethernets: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
- 安装
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
标黄部分自行更改
[Tai_Shan_Pai]comment = share folderpath = /home/wyf/sambavalid users = wyfwrite list = wyfbrowseable = yeswritable = 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
软件包(包含 ifconfig
、netstat
等传统网络工具)。官方推荐使用更现代的 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 遇到的问题:虚拟机突然没网
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start