为Qemu aarch32 开发板添加sd卡

Qemu: 2.8.0

开发板: vexpress

1、制作sd卡镜像

dd if=/dev/zero of=fs_vexpress_1G.img bs=1M count=1024

2、分区

1 sudo losetup /dev/loop0 fs_vexpress_1G.img
2 sudo fdisk /dev/loop0

下面是分的两个区:

1       Device Boot      Start         End      Blocks   Id  System
2 /dev/loop0p1            2048     1050623      524288   83  Linux
3 /dev/loop0p2         1050624     2097151      523264   83  Linux

这里我们制作了1GB的存储器,分了两个区, 大小都是512M.

3、格式化

1 sudo mkfs.vfat -I /dev/loop0p1
2 sudo mkfs.ext4 /dev/loop0p2

这里我们将第一个分区格式化为vfat格式, 第二个分区格式化为ext4格式

4、添加qemu启动参数

sudo qemu-system-arm     -M vexpress-a9     -m 1024M     -smp 4     -kernel ./linux-4.10/arch/arm/boot/zImage     -nographic     -append "root=/dev/ram0 rw rootfstype=ext4 console=ttyAMA0 init=/linuxrc ignore_loglevel"     -initrd ./rootfs/ramdisk.img     -sd ./rootfs/fs_vexpress_1G.img     -net nic,vlan=0 -net tap,vlan=0,ifname=tap0     -dtb ./linux-4.10/arch/arm/boot/dts/vexpress-v2p-ca9.dtb

5、启动

会看到下面两个设备:

1 [[email protected] ]# ls /dev/mmcblk0* -l
2 brw-rw----    1 0        0         179,   0 May  1 09:13 /dev/mmcblk0
3 brw-rw----    1 0        0         179,   1 May  1 09:13 /dev/mmcblk0p1
4 brw-rw----    1 0        0         179,   2 May  1 09:13 /dev/mmcblk0p2

6、挂载

1 mount -t vfat /dev/mmcblk0p1 /mnt/vfat_1/
2 mount -t ext4 /dev/mmcblk0p2 /mnt/ext4_1/

时间: 2024-08-01 17:28:52

为Qemu aarch32 开发板添加sd卡的相关文章

fl2440开发板添加wifi模块

fl2440开发板,linux3.0内核,交叉编译器路径/opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-,无线网卡RT3070 一.配置linux内核支持wireless无线上网 [*] Networking support  ---> -*-   Wireless  ---> <*>   cfg80211 - wireless configuration API [ ]     nl80211 testmode command [

三星RP6818开发板添加应用后分区烧写问题分析

当用三星RP6818开发板添加应用后分区烧写出现问题,可以将应用去掉再烧写测试,可能是应用.环境配置等出了问题. Q:烧写时,partmap我可以改吗?system.img有些大,超过500M了. 但我看这个长度也是足够的,为什么烧写出现unknownerror? 400m烧写的时候没问题. A:未知错误不是长度的问题.system分区足够大的了. Q:应该是什么问题?现在我烧写以前成功过的映像,也不行了,歇菜了. A:清除分区. Q:我看system分区,0x2f200000大约742M左右,

用QEMU模拟运行uboot从SD卡启动Linux

平台:Qemu + vexpress-a9 u-boot:u-boot-2019.10 Linux:linux-4.14.13 之前介绍过用Qemu模拟运行uboot,然后从网络启动linux(用Qemu模拟vexpress-a9 (三)--- 实现用u-boot引导Linux内核),下面介绍用Qemu运行uboot,然后将存放在虚拟出来的SD卡里加载linux kernel.设备树,并运行. 一.编译uboot 下载最新的uboot,编译vexpress-a9: make ARCH=arm C

给android模拟器添加SD卡

如何给android模拟器创建SD卡呢 我们在命令行中输入 mksdcard 512M D:\Program Files (x86)\Android\sdcard.img 这样就在我们的D:\Program Files (x86)\Android目录中有了个sdcard.img 大小为512M Sd卡创建完毕,下一步就是在eclipse中设置下,让模拟器启动的时候加载这个SD卡 点击 window-preferences 然后在 android->launch中的 default emulato

fl2440开发板添加GPS模块

1.1 GPS模块与ARM开发板的连接 GPS模块属于字符设备,只需要和FL2440开发的第二个串口连接既可以,然后将GPS测试模块放在室外便可以每隔一段时间向开发板的串口发一个数据包, ~ >: microcom /dev/ttyS1 -s 4800 $GPGGA,024907.000,3029.6642,N,11423.6203,E,1,10,1.0,35.7,M,-13.7,M,,0000*41$GPGSA,A,3,04,08,32,17,28,30,07,11,20,01,,,1.9,1

itop4412开发板添加开机启动程序

1. 先编写代码,以helloworld.c为例子 1 #include<stdio.h> 2 #include<unistd.h> //这个文件是什么 3 main() 4 { 5 int i = 0; 6 while(1) 7 { 8 sleep(2); 9 printf("hell0 world!\n"); 10 } 11 } 2. 在ubuntu14环境下,用交叉编译器编译一下,生成.o文件,下一个问题,怎么通过串口把.o文件传给开发板? 3. 在串口l

请教:用迅为4412开发板开机时卡在Android静止画面

我使用迅为的4412板子 发现开机的时候会有机会卡在Android静止画面使用RS232接机器log后比较正常与无法开机进入的log发现缺少执行了以下内容因此想请教各为这段缺少的内容是执行什么样的函式呢[    8.464643] ADB open:[    8.470987] [HIF-SDIO][I]WMT_open:major 190 minor 0 (pid 1243)[    8.476148] [HIF-SDIO][I]WMT_open:1st call[    8.479738]

OK6410基于SD卡的裸机开发-LED灯控制

在上一篇文章中提到SD卡的裸机开发环境的搭建以及OK6410的启动设置,这章开始进入LED灯的闪烁控制. 1.首先打开OK6410的开发板原理图,找到LED等控制的原理图部分,如下图1所示. 图1 LED灯控制原理图 由图1可知,控制LED灯的CPU管脚为NLED1~NLED4,NLED1~NLED4对应的CPU管脚名称为GPM0~GPM3(CPU原理图未给出). 2.编写程序LED.s,下面直接给出LED.s的源码. .globl _start _start: /* 硬件相关的设置 */ ld

Samsung_tiny4412(笔记)--&gt;linux 3.5,U-Boot,Busybox,SD卡启动环境搭建

/*********************************************************************************** * * Samsung_tiny4412(笔记)-->linux 3.5,U-Boot,Busybox,SD卡启动环境搭建 * * 声明: * 1. 以下所有的shell命令都是在root权限下运行的; * 2. minicom(U-Boot)指的是用minicom连接开发板作为U-Boot的终端; * 3. 文中在需要往文件中