0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在QEMU上用Busybox模拟ARM文件系统的步骤

如意 来源:CSDN 作者:CaspianSea 2020-06-23 09:53 次阅读

1.下载最新的 busybox代码,解压。

2. 编译busybox

cd busybox-1.21.1/

export ARCH=arm

export CROSS_COMPILE=arm-linux-gnueabi-

make defconfig

make install

之后,会生成一个 _install 目录,里面是一个root file system.

默认情况下,生成的busybox二进制文件是动态链接的。所以,需要拷贝用到的动态库到根文件系统里面。

可以用如下的命令查看用到了哪些动态库:

在QEMU上用Busybox模拟ARM文件系统的步骤

然后,把相应的库从arm-linux-gnueabi/libc/lib/拷到 busybox-1.21.1/_install/lib里面。

另外,在 _install下,执行下面的命令:

$ cd _install

$ mkdir proc sys dev etc etc/init.d

$ cd 。。

然后,创建一个新文件 _install/etc/init.d/rcS:

#!/bin/sh

mount -t proc none /proc

mount -t sysfs none /sys

/sbin/mdev -s

$ chmod +x _install/etc/init.d/rcS

/sbin/init会执行/etc/init.d/rcS.

最终的部分 RFS如下:

在QEMU上用Busybox模拟ARM文件系统的步骤

3. 生成 ramdisk文件:

find 。 | cpio -o --format=newc 》 。。/。。/。。/initramfs

4.测试。执行

$ qemu-system-arm -M vexpress-a9 -kernel 。/linux-3.2/arch/arm/boot/zImage -initrd 。。/initramfs -append “root=/dev/ram rdinit=/sbin/init”

可以进入到arm 系统

在QEMU上用Busybox模拟ARM文件系统的步骤

如果想让log到主机终端里,可以使用下面的命令:

$ qemu-system-arm -M vexpress-a9 -kernel 。/linux-3.2/arch/arm/boot/zImage -initrd 。。/initramfs -serial stdio -append “cons

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9046

    浏览量

    366814
  • qemu
    +关注

    关注

    0

    文章

    57

    浏览量

    5331
收藏 人收藏

    评论

    相关推荐

    教你Ubuntu系统定制文件系统

    需求将出厂不需要的软件相同的方式卸载掉,这样既能减少工作量,又利于批量化生产。 以上就是小编为大家带来的Forlinx Desktop(Ubuntu)系统定制
    发表于 12-26 16:33

    编译BUSYBOX建立根文件系统

    rzsz-9gsam9260ek.tar.gz注意:此软件有版权保护,软件中REGISTERED如果没有被宏定义,程序使用中提示使用越权; 3,建立根文件系统 A,建立BUSYBOX基本目录
    发表于 11-29 14:05

    [原创]【UT4418试用体验】busybox制作跟文件系统

    在当前目录下的 _install 目录下。步骤4: 完善根文件系统与库文件。# arm-none-linux-gnueabi-readelf -d命令查看需要依赖的库
    发表于 10-20 22:04

    总结构建最小根文件系统步骤

    构建根文件系统(*.yaffs2)的步骤:一、最小根文件系统(first_fs.yaffs2)包括:1、第一个进程init链接到busybox,即配置、编译、安装
    发表于 04-11 16:15

    如何使用 BusyBox 制作Linux最小文件系统

    如何使用 BusyBox 制作最小文件系统虚拟机的 Ubuntu 的目录“/home”下新建目录“mkdir minilinux”,这个目录可以根据个人习惯建立,并不是强制要求,如下图所示。 使用 SSH
    发表于 11-05 14:39

    怎样busybox制作嵌入式Linux的文件系统

    busybox是什么?怎样编译busybox?怎样完善文件系统?如何测试新的文件系统
    发表于 04-27 06:47

    如何利用busybox制作一个最小根文件系统

    本文介绍如何利用busybox制作一个最小根文件系统系统包含ls、cd、ifconfig等基本指令,文件系统采用动态加载的方式。1.去busybo
    发表于 12-16 06:49

    分享一种基于qemuarm-linux虚拟机搭建方法

    环境搭建-2 busybox搭建 一样,如果觉得制作麻烦,我dropbox给出了制作好了的文件系统压缩包,下载下来之后解压到
    发表于 05-30 10:34

    Ubuntu系统定制文件系统

    ch-mount.sh脚本卸载文件系统,指定参数-u,卸载成功后打印如下:​注意:我们exit退出后,只是退出了QEMU模拟器,并没有卸载文件系统,一定要执行脚本卸载
    发表于 12-15 20:27

    分享Forlinx Desktop系统定制文件系统的操作过程

    文件系统,安装自己所需软件,也可以根据自己需求将出厂不需要的软件相同的方式卸载掉,这样既能减少工作量,又利于批量化生产。以上就是小编为大家带来的Forlinx Desktop(Ubuntu)
    发表于 12-29 15:49

    Busybox制作嵌入式Linux根文件系统

    文件系统为Linux 的运行提供最基本的工具、库、脚本和一些特殊文件的支持Busybox 是制作嵌入式Linux 文件系统的快捷工具,本文通过配置、编译、安
    发表于 06-12 16:05 19次下载

    基于zynq的Linux根文件系统生成

    Linux中Root Filesystem(根文件系统)是必不可少的,常用的是BusyBox,本节就介绍一下使用BusyBox制作Linux根文件系统rootfs,主要参考xilinx
    发表于 02-10 15:58 5728次阅读
    基于zynq的Linux根<b class='flag-5'>文件系统</b>生成

    实验五 基于busybox的根文件系统制作实验-2016

    基于busybox的根文件系统制作实验-2016
    发表于 09-15 08:52 10次下载

    busybox打造S3C2410文件系统

     很久以前就用过busybox了, 最近想在自己的这块MC2410板做自己的文件系统.搜集了一些资料, 遇到了一些困难.  现写出来与大家分享其过程:  环境: host
    发表于 04-02 14:37 355次阅读

    PCQEMU模拟ARM步骤

    PCQEMU模拟ARM步骤
    的头像 发表于 06-23 09:58 7194次阅读
    PC<b class='flag-5'>上</b><b class='flag-5'>QEMU</b><b class='flag-5'>模拟</b><b class='flag-5'>ARM</b>的<b class='flag-5'>步骤</b>