几乎完全参照该文章
使用QEMU搭建ARM64实验环境 - 简书
ubuntu 14.04,linux3.16, busybox-1.31.0
arm-linux-gnueabi-gcc -v
linux3.16以及busybox下载安装可参考链接
Ubuntu14.04安装qemu,运行linux-3.16+gdb调试_qemu 安装 ubuntu 14_这个我好像学过的博客-CSDN博客
注意事项
1、文章中的命令arm64换为arm即可
aarch64-linux-xxx替换为arm-linux-xxx
2、文章中关于配置那个小节,可以不用执行
添加hotplug支持//这个我没有添加
添加initramfs的支持://这个可以通过make menuconfig进行配置
general setup--->initial ram filesystem
填入_install目录(文章里面是_install_arm64)
3、制作磁盘文件章节
dd if=/dev/zero of=rootfs_ext4.img bs=1M count=2048//我制作的2G的
mkfs.ext4 rootfs_ext4.img替换为了这个sudo mount -t ext4 rootfs_ext4.img tmpfs/ -o loop
4、执行qemu命令
qemu-system-arm -M vexpress-a9 -smp 4 -m 1024M -kernel arch/arm/boot/zImage --append "rootfstype=ext4 noinitrd root=/dev/vda rw console=ttyAMA0 loglevel=8 " -nographic \
-drive if=none,file=rootfs_ext4.img,id=hd0 \
-device virtio-blk-device,drive=hd0 \
--fsdev local,id=kmod_dev,path=$PWD/kmodules,security_model=none \
-device virtio-9p-device,fsdev=kmod_dev,mount_tag=kmod_mount -dtb arch/arm/boot/dts/vexpress-v2p-ca9.dtb
我环境里面报错了,启动失败,出现如下错误
EXT4-fs (vda): Filesystem with huge files cannot be mounted RDWR without CONFIG_LBDAF
我看网上是这样说的
为什么ext4 rootfs会被挂载成只读模式?_filesystem with huge files cannot be mounted rdwr _JiMoKuangXiangQu的博客-CSDN博客
最后通过重新编译linux内核,开启CONFIG_LBDAF,问题解决
make menuconfig
enable the blocklayer-->support for largexxxx
目前共享目录以实现,效果如下