手把手教你玩转Linux嵌入式操作系统的移植和裁剪--1.2 虚拟机与物理开发板的环境配置

目录

1.2 虚拟机与物理开发板的环境配置

一、QEMU 环境配置

1. 安装 QEMU

2. 创建磁盘镜像

3. 启动虚拟机

4. 网络配置

5. 调试与快照

二、VirtualBox 环境配置

1. 安装 VirtualBox

2. 创建虚拟机

3. 安装操作系统

4. 共享文件夹

三、Tiny6410 开发板环境配置

1. 准备 SD 卡

2. 启动开发板

3. 配置交叉编译环境

四、对比与适用场景

五、常见问题与解决方案


1.2 虚拟机与物理开发板的环境配置

在嵌入式Linux开发中,虚拟机和物理开发板是两种常见的环境配置方式。以下分别介绍 QEMUVirtualBoxTiny6410 开发板 的配置方法,并结合知识库中的关键步骤和命令,帮助开发者快速搭建开发环境。


一、QEMU 环境配置

QEMU 是一个开源的虚拟化工具,支持全系统仿真(Full System Emulation),常用于模拟 ARM、x86 等架构的嵌入式设备。

1. 安装 QEMU

在 Linux 主机上安装 QEMU 及其 KVM 加速支持:

 

bash

深色版本

sudo apt update
sudo apt install qemu-system-x86 qemu-kvm libvirt-daemon-system bridge-utils virtinst
2. 创建磁盘镜像

使用 qemu-img 创建 qcow2 格式的磁盘镜像(例如 20GB):

 

bash

深色版本

qemu-img create -f qcow2 myvm.qcow2 20G
3. 启动虚拟机

以下命令启动一个 x86 架构的虚拟机,加载 Ubuntu ISO 镜像并使用 KVM 加速:

 

bash

深色版本

qemu-system-x86_64 \
  -m 2048 \                     # 分配 2GB 内存
  -smp 2 \                      # 使用 2 个 CPU 核心
  -enable-kvm \                 # 启用 KVM 加速
  -cdrom /path/to/ubuntu.iso \# 指定 ISO 镜像路径
  -drive file=myvm.qcow2,format=qcow2 \  # 指定磁盘镜像
  -netdev user,id=mynic0 \      # 用户模式网络
  -device virtio-net-pci,netdev=mynic0 \  # 网络设备
  -vnc :1                       # 启用 VNC 远程访问
4. 网络配置
  • 用户模式网络:默认支持 NAT,虚拟机可访问外部网络。
  • 桥接模式:需手动配置桥接接口(如 br0),使虚拟机直接接入物理网络。
     bash 

    深色版本

    sudo brctl addbr br0
    sudo brctl addif br0 eth0
    sudo ifconfig br0 up
5. 调试与快照
  • 调试内核:使用 GDB 与 QEMU 联调(需启用 -s 参数启动调试端口)。
  • 快照管理:保存和恢复虚拟机状态:
     bash 

    深色版本

    qemu-system-x86_64 -loadvm snapshot1  # 加载快照
    qemu-system-x86_64 -savevm snapshot1  # 保存快照

二、VirtualBox 环境配置

VirtualBox 是一款跨平台的虚拟化工具,适合搭建开发主机环境(如 Ubuntu/Windows)。

1. 安装 VirtualBox

在 Ubuntu 上安装 VirtualBox:

 

bash

深色版本

sudo apt install virtualbox
2. 创建虚拟机
  1. 新建虚拟机

    • 名称:Ubuntu-Dev
    • 类型:Linux / Ubuntu (64-bit)
    • 内存:4GB(建议)
    • 硬盘:动态分配,大小 20GB
  2. 配置存储

    • 添加 ISO 镜像作为光驱(用于安装操作系统)。
  3. 网络设置

    • 选择 桥接模式(NAT 也可,但桥接更贴近物理环境)。
3. 安装操作系统

启动虚拟机后,按照 ISO 镜像提示安装 Ubuntu 系统。安装完成后,安装 增强功能包(Guest Additions)以提升性能:

 

bash

深色版本

sudo apt install build-essential dkms linux-headers-$(uname -r)
4. 共享文件夹
  1. 在 VirtualBox 中设置共享文件夹:
    • 菜单:设备 > 安装增强功能包
  2. 在虚拟机中挂载共享文件夹:
     bash 

    深色版本

    sudo mount -t vboxsf <共享文件夹名称> /mnt

三、Tiny6410 开发板环境配置

Tiny6410 是基于 ARMv6 架构的嵌入式开发板,需通过 SD 卡启动 Ubuntu 系统并配置交叉编译环境。

1. 准备 SD 卡
  1. 分区与格式化
    • 使用 gparted 或 fdisk 创建两个分区:
      • 分区1:FAT32(用于引导)
      • 分区2:ext3(用于根文件系统)
  2. 烧录 Ubuntu 镜像
    • 下载 ARMv6 架构的 Ubuntu 镜像(如 0910 版本)。
    • 使用 dd 命令烧录到 SD 卡:
       bash 

      深色版本

      sudo dd if=ubuntu-armv6.img of=/dev/sdX bs=4M
2. 启动开发板
  1. 将 SD 卡插入 Tiny6410 开发板。
  2. 设置启动参数(通过串口工具配置 U-Boot)。
  3. 从 SD 卡启动 Ubuntu 系统,并配置网络连接(如 DHCP 或静态 IP)。
3. 配置交叉编译环境
  1. 安装交叉编译器
     bash 

    深色版本

    sudo apt install gcc-arm-linux-gnueabi
  2. 设置环境变量
     bash 

    深色版本

    export PATH=/usr/bin/arm-linux-gnueabi:$PATH
  3. 测试交叉编译
    创建 hello.c 并编译:
     c 

    深色版本

    #include <stdio.h>
    int main() {
        printf("Hello from Tiny6410!\n");
        return 0;
    }
    编译命令:
     bash 

    深色版本

    arm-linux-gnueabi-gcc -o hello hello.c
    将生成的 hello 通过串口或网络传输到开发板运行。

四、对比与适用场景
环境优点缺点适用场景
QEMU支持全系统仿真,调试灵活性能较低(无 KVM 时)快速测试、内核调试
VirtualBox跨平台,支持共享文件夹和增强功能不支持直接硬件仿真(需配合工具)开发主机环境搭建
Tiny6410接近真实硬件,适合实际部署配置复杂,依赖物理设备嵌入式应用开发、硬件验证

五、常见问题与解决方案
  1. QEMU 虚拟机无法启动

    • 检查 KVM 是否启用:
       bash 

      深色版本

      lsmod | grep kvm
    • 确保 BIOS 中开启虚拟化支持(如 Intel VT-x/AMD-V)。
  2. VirtualBox 共享文件夹无法挂载

    • 安装增强功能包并重启虚拟机。
    • 确保用户权限匹配:
       bash 

      深色版本

      sudo usermod -aG vboxsf $USER
  3. Tiny6410 启动失败

    • 检查 U-Boot 启动参数是否正确(如 bootargs)。
    • 确认 SD 卡分区和镜像烧录无误。

通过上述配置,开发者可根据项目需求选择虚拟机或物理开发板环境,快速搭建嵌入式Linux开发平台。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值