历史上的今天
今天是:2025年02月06日(星期四)
2020年02月06日 | qemu+chroot构建arm aarch64虚拟机
2020-02-06 来源:eefocus
在X86环境下构建出arm虚拟机可以模拟arm环境进行开发、在arm linux的文件系统中安装相应的库文件,编译arm版本等。
简单介绍下在X86环境下构建ARM虚拟机的步骤。
1、x86环境安装qemu-user-static
sudo apt-get install qemu-user-static
2、准备arm linux根文件系统
arm linux根文件系统可以直接下载干净的版本
或者从运行的arm单板上进行备份获取。
arm单板上备份根文件系统命令:
sudo tar -cvpzf rootfs.tgz --exclude=/proc --exclude=/mnt --exclude=/sys --exclude=/rootfs.tgz /
解压根文件系统命令:
tar -xvpfz rootfs.tgz -C ./
3、构建虚拟机
创建rootfs目录,在rootfs下执行根文件系统解压命令,解压完成后,copy qemu执行命令到arm文件系统中
sudo cp /usr/bin/qemu-arm-static usr/bin/
sudo cp /usr/bin/qemu-aarch64-static usr/bin/
在rootfs录下创建proc、sys、host目录
在rootfs所在目录下创建ch-mount.sh文件
ch-mount.sh
#!/bin/bash
function mnt() {
echo "MOUNTING"
sudo mount -t proc /proc ${2}proc
sudo mount -t sysfs /sys ${2}sys
sudo mount -o bind /dev ${2}dev
sudo mount -o bind /run ${2}run
sudo mount --bind / ${2}host
#sudo mount -vt tmpfs shm ${2}dev/shm
#sudo mount -t /dev/shm ${2}dev/shm
sudo chroot ${2}
}
function umnt() {
echo "UNMOUNTING"
sudo umount ${2}proc
sudo umount ${2}sys
#sudo umount ${2}dev/shm
sudo umount ${2}dev
sudo umount ${2}run
sudo umount ${2}host
}
if [ "$1" == "-m" ] && [ -n "$2" ] ;
then
mnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ];
then
umnt $1 $2
else
echo ""
echo "Either 1'st, 2'nd or both parameters were missing"
echo ""
echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"
echo "2'nd parameter is the full path of rootfs directory(with trailing '/')"
echo ""
echo "For example: ch-mount -m /media/sdcard/"
echo ""
echo 1st parameter : ${1}
echo 2nd parameter : ${2}
fi
执行ch-mount.sh,创建虚拟机
sudo ./ch-mount.sh -m rootfs/
arm虚拟机准备完毕,可以在虚拟的arm环境上进行相应的操作,创建用户、编译arm版本、......
4、卸载虚拟机
在虚拟机环境中执行exit退出。然后执行命令卸载挂载的相关文件。
sudo ./ch-mount.sh -u rootfs/
上一篇:opencv在arm和x86移植
下一篇:ARM多种异常的处理
史海拾趣
|
我现在在做毕业设计,涉及到倒车影像中的“倒车轨迹的绘制”(想把不同转角下的车辆倒车轨迹都绘制好放入flash中供单片机调用)。想了好几天,没有合适的办法绘制倒车轨迹,请指点一二。谢谢。 邮箱 shangqi2010@163.com 感激不尽。… 查看全部问答> |
|
我在公司里做毕业设计,采用lpc931单片机,想把一个十六位的数字量用单片机的Pwm功能给转换成模拟量,pwm输出采用rc滤波,但具体的c程序该怎么写呢?请指教!!… 查看全部问答> |
|
Andrew Armutat 产品市场部 吉时利仪器公司 减少机架所占空间。新的吉时利SMU采用了2U[1]高的半机架设计,大大提高了机架密度。在实际情况下,基于该设计的自动化系统容量很容易集成几个到16个通道,甚至于128通道[2]也是有可能的 ...… 查看全部问答> |




