type
date
slug
category
icon
password
一、VMware 安装虚拟机1.1 虚拟机安装1.2 共享文件夹1.3 网络配置二、搭建开发环境2.1 使用 MobaXterm 远程登录 Ubuntu2.2 Trae/Cursor 开发环境2.3 BSP 下载和工具链配置2.3.1 一键初始化开发环境2.3.2 下载 BSP2.3.3 配置交叉编译工具链2.3.4 测试编译内核、内核模块2.4 安装 QEMU2.4.1 发行版2.4.2 源码三、PC、虚拟机和开发板间文件传输3.1 使用 FileZilla 在 Windows 和 Ubuntu 之间传文件3.2 使用 FileZilla 在 Windows 和开发板之间传文件3.3 开发板挂载 Ubuntu 的 NFS 目录之间传文件四、资料下载参考资料
一、VMware 安装虚拟机
1.1 虚拟机安装
2024年5月13日 VMware 宣布个人用途的 VMware Workstation Pro 将免费:VMware Workstation Pro: Now Available Free for Personal Use - VMware Workstation Zealot。
- 参考这里安装VMware Workstation Pro 17
- 从阿里云镜像-ubuntu-releases镜像下载ubuntu,强烈建议下载18.04(后面驱动学习需适用百问网,支持18.04版本)qemu100askTeam • Updated Feb 5, 2025
- 参考网络安装镜像,并设置硬件资源
1.2 共享文件夹
- 解决共享文件夹不显示问题
- 设置自动挂载共享文件夹
echo '.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0' | sudo tee -a /etc/fstab
1.3 网络配置
预备知识
- VMware的三种网络模式详解.pdf(区分NAT、桥接和只本地差别)
物理连接
开发板和PC接在交换机上,虚拟机通过桥接真实网卡,实现VMnet0虚拟网卡之间的连接。由于网卡网关设置192.168.1.1,开发板和虚拟机配置为同一网段。
网络配置
- NAT 网卡:Ubuntu 通过它上网,只要 Windows 能上网,Ubuntu 就能上网。与Windows使用相同的IP。
- 桥接网络:Ubuntu 通过它跟开发板联通
- 添加桥接网卡
- 配置桥接网卡

建立桥接网络,会在Ubuntu和Windsows生成新的网络适配器。
PC 配置(配置与否取决于桥接的物理网卡)
桥接到USB网卡的话需配置,若桥接到PCIE网卡,PC本身网卡通过DHCP上网,网段不好调整,则本配置可忽略,曲线救国。和pcie网卡设置统一网段。

Vmware 配置
修改虚拟网络配置

将VMnet0 桥街道USB网卡上

确认 ens36 没有 IP 后,它就是要设置的桥接网卡。点击它右边的“设置”图标,在弹出的设置界面内,点击“IPV4”切换出设置页面,之后选择“Manual”表示手工设置 IP 地址,在“Address、Netmask、Gateway”输入框分别填入:192.168.1.101、255.225.225.0、192.168.1.1。填写完毕后,点击“Apply”

开发板配置
/etc/init.d/S40network restart
三者验证(若单向,关闭防火墙)
windows(PING ubuntu 和 开发板)
开发板 (PING ubuntu 和 Windows)
Ubuntu(PING 开发板和 Windows)
二、搭建开发环境
2.1 使用 MobaXterm 远程登录 Ubuntu
其他
2.2 Trae/Cursor 开发环境
参考资料
安装步骤
- 安装Trae
- 点击远程开发,输入 ssh 信息
- 打开对应开发路径
2.3 BSP 下载和工具链配置
2.3.1 一键初始化开发环境
2.3.2 下载 BSP
- 下载 Linux-4.9.88
- 压缩后传回windows
注意:在 Windows 解压内核时会提示一些错误,会提示是否覆盖文件,选择“覆盖”即可。这是
因为 Linux 下的文件区分大小写,a.c 和 A.c 以不同的文件,但是 Windows 下不区分大小写,
这 2 个文件是同一个。这些错误不会影响我们阅读源码。
- 更新源码
2.3.3 配置交叉编译工具链
- 打开vim ~/.bashrc,编辑
- 设置生效并测试
- 测试交叉编译工具链
2.3.4 测试编译内核、内核模块
- 编译内核
- 编译内核模块
- 安装内核模块到nfs_rootfs(参考3.3 开发板挂载 Ubuntu 的 NFS 目录之间传文件 )
- 安装内核和模块到开发板上,以下操作在开发板上
- 最后重启开发板,它就使用新的 zImage、dtb模块了。
2.4 安装 QEMU
2.4.1 发行版
下载,执行命令:
安装运行环境,执行命令:
运行QEMU,执行命令:
2.4.2 源码
代码在以下链接:
下载方法:
三、PC、虚拟机和开发板间文件传输
3.1 使用 FileZilla 在 Windows 和 Ubuntu 之间传文件

3.2 使用 FileZilla 在 Windows 和开发板之间传文件
同上,略
3.3 开发板挂载 Ubuntu 的 NFS 目录之间传文件
什么是NFS协议?
NFS实现了一个跨越网络的文件访问功能,如下图可以简要说明其原理。其整个架构为Client-Server架构,客户端和服务端通过RPC协议进行通信,RPC协议可以简单的理解为一个基于TCP的应用层协议,它简化命令和数据的传输。NFS最大的特点是将服务端的文件系统目录树映射到客户端,而在客户端访问该目录树与访问本地文件系统没有任何差别,客户端并不知道这个文件系统目录树是本地的还是远在另外一台服务器。

为什么要挂载ubuntu的nfs目录?
调试开发板文件系统内的某个应用程序时,需要在开发板和ubuntu系统间多次进行编译、拷贝等操作。因此可以在调试阶段,让开发板挂载ubuntu的nfs目录,以提高调试效率,加快研发速度。
- 确定 ubuntu 的桥接网卡 IP
- 安装nfs服务
- /nfsroot:指定/nfsroot为nfs服务器的共享目录
- *:允许所有的网段访问,也可以使用具体的IP
- rw:挂接此目录的客户端对该共享目录具有读写权限
- sync:资料同步写入内存和硬盘
- no_root_squash:root用户具有对根目录的完全管理访问权限
- no_subtree_check:不检查父目录的权限
打开nfs服务器配置文件/etc/exports,指定nfs服务器共享目录及其属性,内容如下:
/nfsroot *(rw,sync,no_root_squash)
Ubuntu安装nfs服务器的过程就完成了,可以执行下面这个命令查看nfs服务器的共享目录:
showmount -e localhost
- 在开发板上执行 mount nfs 命令
四、资料下载
本教程为百问网驱动大全学习笔记,开发版为imx6ull pro。
百问网所有资料分 4 类:
- 开发板配套资料(原理图、虚拟机、烧写工具等),放在百度网盘
- 录制视频过程中编写的文档、源码、图片,放在 GIT 仓库
- u-boot、linux 内核、buildroot 等比较大的源码,放在 GIT 仓库
- 视频,在线观看,放在百问网、B 站等网站

百问网 git 仓库地址
驱动的学习需要下载快速入门和驱动大全资料。后面引用路径样式
doc_and_source_for_drivers/path1/path2/filename.xxx
,省略了本地文件夹地址。git工具常用命令
参考资料
- 需科学上网

- Author:felixfixit
- URL:http://www.felixmicrospace.top/article/linux_drv_envbuild
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!