qemu+kernel (4) X86架构上搭建ARM64环境

应用场景:X86上可以通过交叉编译搭建ARM64环境, 如果有些东西只能在arm64上编译,但是只有X86的编译环境

1.基础工具
sudo apt update
sudo apt install qemu-system-aarch64 qemu-efi-aarch64 cloud-image-utils

2.获取arm64 ubuntu镜像
wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-arm64.img
这一步也可以手动下载自己需要镜像,有的时候可能下载比较慢

3.创建用户数据(必选,因为如果没有这一步,不知道登录密码)
# 创建 user-data 文件

cat > user-data <<EOF
#cloud-config
password: ubuntu
chpasswd: { expire: False }
ssh_pwauth: True
EOF

# 生成 cloud-init ISO
cloud-localds user-data.img user-data

启动虚拟机
sudo qemu-system-aarch64 \
  -M virt \
  -cpu cortex-a57 \
  -smp 4 \
  -m 4096 \
  -bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd \
  -drive file=jammy-server-cloudimg-arm64.img,format=qcow2 \
  -drive file=user-data.img,format=raw \  # 如果创建了 user-data
  -nic user,hostfwd=tcp::2222-:22 \
  -nographic

实现交互

本地机器需要和qemu进行交互,进行文件交换

sudo qemu-system-aarch64   -M virt   -cpu cortex-a57   -smp 4   -m 4096   -bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd   -drive file=noble-server-cloudimg-arm64.img,format=qcow2   -drive file=user-data.img,format=raw   -nic user,hostfwd=tcp::2222-:22   -virtfs local,path=/local/mnt/workspace/hamoa/76_ubuntu,mount_tag=hostshare,security_model=none,id=hostshare -nographic

-virtfs local,path=/local/mnt/workspace/hamoa/76_ubuntu,mount_tag=hostshare,security_model=none,id=hostshare

加了一行这个,path那个部分是需要挂载的目录,security_model=none是保证自己有root权限,因为我并不希望看到permission denied.

sudo umount /mnt/host  # 先卸载
sudo mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt/host
chmod 777 /mnt/host  # 开放所有权限

#linux驱动##嵌入式软开##嵌入式##嵌入式笔面经分享##牛客创作赏金赛#
全部评论

相关推荐

读的很难受,但是不后悔读研本身。首先说说后悔的,后悔自己选了个压榨的导师,干了一年的横向,科研没科研,技术没技术,也不知道自己研一一年在干啥,同门个个都被压榨的咬牙切齿,跟导师没一个关系好的,甚至闹到退学相逼,动手威胁的地步。再就是不后悔的,不后悔读研,自己从硬件转到软件,尽管与保研失之交臂,但是庆幸自己还是回到了自己喜欢的专业。硬件的玄学找bug我一直很讨厌,出了问题永远不知道是虚焊了还是电容坏了还是程序bug还是硬件出错。喜欢软件的逻辑性,自己能够安安稳稳地排查,哪怕自己不会也是自己蠢,而非代码自己在变。不后悔读研,研究生三年给了我喘息的机会,让我有时间考了软高证书,也考了自己心心念念的日语证书,认清了当前计算机的就业现状,认清了自己几斤几两,从而有机会去学很多开发相关的知识(而不是算法)。不后悔读研,认识了各种有能力的大佬,尤其感谢学长,不仅在为我们和导师斗争的途中指点迷津,也给我们的就业探索了很多的方向,告诉我们什么时间节点该做什么事——这是很多实验室做不到的,很多计算机实验室都缺少两代人之间交互,而我们实验室因为交接横向的缘故也有了人情积蓄,这是我们组为数不多的优点了。不后悔读研,读研&nbsp;让自己跟女友继续在同一所学校上学,实习也在同一片地区实习,虽没有进大厂,但至少生活是过的充实有趣的。路还得向前走,很难说自己能够看清未来的具体方向,但我所希望的就是:未来回头自己看我以前做的努力时,能够说一声我不后悔,我已全力以赴。而面临抉择,处在人生十字路口时,未来结果已非人力所定,至于如何,交给命吧!
你后悔自己读研吗?
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务