服务器系统:openEuler-SP1
架构:aarch64
1 下载qemu源码
wget https://download.qemu.org/qemu-4.1.0.tar.bz2
2 编译qemu源码,获得qemu-system-x86_64模拟器
2.1 解压qemu源码,进入源码目录
tar -xvf qemu-4.1.0.tar.bz2
cd qemu-4.1.0
2.2 编译过程出错,安装依赖包
yum install glib2-devel pixman-devel
2.3 编译
mkdir build
cd build
../configure --prefix=/usr/local --target-list=x86_64-softmmu
make -j8
make install
–prefix 安装目录前缀
–target-list 仅编译x86_64模拟器,若不使用该参数,则默认编译所有可用架构的模拟器
3 下载balenaOS(QEMU X86 64bit)
wget -o balena-cloud-qemux86-64-2.83.18+rev5-v12.10.3.img.zip https://api.balena-cloud.com/download?deviceType=qemux86-64&version=2.83.18+rev5.prod&fileType=.zip&d_id=4c5620a4-bc05-4568-9e22-4285194c6ac0R
4 解压balena
unzip balena-cloud-qemux86-64-2.83.18+rev5-v12.10.3.img.zip
5 用qemu-system-x86_64启动balena
qemu-system-x86_64 -device ahci,id=ahci -drive file=/home/balena-cloud-qemux86-64-2.83.18+rev5-v12.10.3.img,media=disk,cache=none,format=raw,if=none,id=disk -device ide-hd,drive=disk,bus=ahci.0 -net nic,model=virtio -net user -m 512 -nographic -machine type=pc -smp 4
无能狂吼ing:第一天明明启动成功并进入系统,第二天妈的却又卡在boot阶段了!如下图
排查ing,第一天:百撕不得其姐的一天。
1 尝试重新解压balena-cloud-qemux86-64-2.83.18+rev5-v12.10.3.img,启动,不行!
2 换台物理机环境,还是不行!
排查ing,第二天:想着查看一下img的内容:
参考链接:https://blog.51cto.com/autopython/1838511
1 挂载img,结果提示未知文件系统类型“unknown filesystem type”,如下图,
2 查看这闹心的玩意儿是个什么品种,如下图,
file balena-cloud-qemux86-64-2.83.18+rev5-v12.10.3.img
3 懵了,在度娘的知识海洋中遨游,找到查看img内容的办法,
3.1 查看img的分区表,如下图
fdisk balena-cloud-qemux86-64-2.83.18+rev5-v12.10.3.img
3.2 挂载第一个分区并查看,需要在mount命令的-o选项中设置偏移量,offset=8192*512=4194304(开始扇区在第8192个,1个扇区512bytes),内容如下图
mkdir tmp
mount -o offset=4194304 balena-cloud-qemux86-64-2.83.18+rev5-v12.10.3.img ./tmp
3.3 查看grub.cfg文件
vim tmp/grub/grub.cfg
3.4 在grub.cfg尝试修改默认boot项default=manualfallbackA,卸载tmp后重新启动balena-cloud-qemux86-64-2.83.18+rev5-v12.10.3.img,发现没卵用,卡着,如下图
妈蛋,这img还闹情绪,时灵时不灵啊,emo的一天!
排查ing,第三天,想着从qemu着手查看日志:
参考链接:https://www.qemu.org/docs/master/system/monitor.html
1 按键“ctrl+a”,然后按“h”,查看qemu的help,如下图
2 按"ctrl+a",然后按“c”,进入qemu monitor命令行,设置日志打印到哪个目录和日志项,如下图
3 在/home/songyi/qemu.log下没看出个所以然来,最后还是屈服了,换了balena版本balena-cloud-First-Fleet-qemux86-64-2.38.0+rev1-dev-v9.15.7.img,我用了个推荐版(实验版),下载需要自己创建balena-cloud账号后下载。
)。