在AWS EC2上跑 树莓派Ubuntu
  C7GElnmfNnFj 2023年11月02日 73 0

这个问题,花了1个多月时间测试,经过不断尝试终于解决了,记录如下。

难点主要是树莓派是ARM架构,首先要创建基于此ARM64架构的虚拟机,然后修改系统配置使其适用于EC2;第二个难点是EC2目前不支持导入ARM架构的AMI,咨询AWS Support后说可以通过import-snapshot的方式先导入然后再创建AMI。

1.- 创建ARM64 虚拟机,安装Ubuntu Jammy Fish ARM64,参考:https://blog.51cto.com/helpdesk/7272122

2.- 修改系统配置文件,具体如下:

a1. 修改 /etc/default/grub 文件,添加:

"console=ttyS0,115200n8 console=tty0 net.ifnames=0 rd.blacklist=nouveau nvme_core.io_timeout=4294967295 crashkernel=auto" to GRUB_CMDLINE_LINUX

在AWS EC2上跑 树莓派Ubuntu_Ubuntu

a2. 执行命令 "sudo grub2-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg" 应用上面的修改

注:grub2-mkconfig提示没有,使用grub-mkconfig

a3. The network interface will now be named "eth0" at next boot, so need to create a config file for it. i.e:      

sudo cp /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-eth0  

注:这一步实际上不需要,保持原来的即可:01-network-manager-all.yamlcd,让系统自己管理网络

在AWS EC2上跑 树莓派Ubuntu_ARM64_02

a4. Add nvme and ena to initrd, neither seemed to be there for default kernel, 路径:/etc/dracut.conf.d/01-aws.conf

sudo vim 01-aws.conf,添加如下内容:

add_drivers+=" nvme ena "

然后执行命令:sudo dracut -f -v

在AWS EC2上跑 树莓派Ubuntu_树莓派_03

注:这一步非常重要,少了这些信息EC2无法boot起来

3.- 导出UTM虚拟机,这里需要将其从qcow2转换成vhdx格式,参考:https://blog.51cto.com/helpdesk/7384628

4.- 将vhdx文件上传到 S3

5.- 进入AWS CloudShell 通过import-snapshot导入 vhdx文件,参考:https://blog.51cto.com/helpdesk/6226474

6.- 进入AWS Console EC2界面,选定上传到snapshot,然后创建image

在AWS EC2上跑 树莓派Ubuntu_ARM64_04

在AWS EC2上跑 树莓派Ubuntu_ARM64_05

然后进入AMI,选择导入对image,然后Launch instance from AMI

在AWS EC2上跑 树莓派Ubuntu_树莓派_06

Instance type选择 t4g系列,即ARM64架构

在AWS EC2上跑 树莓派Ubuntu_ARM64_07

7.- boot起来后,需要通过EC2 serial console访问

在AWS EC2上跑 树莓派Ubuntu_EC2_08

在AWS EC2上跑 树莓派Ubuntu_AWS_09

连接后 使用命令 ifconfig 和 ip a 发现 eth0网络端口没有起来,ip a后看到网口处于DOWN的状态,然后使用命令启动网口:

sudo ifconfig eth0 up

然后 sudo reboot

重启完进入检查网络终于通了。

此时无法ssh,通过命令安装:sudo apt install openssh-server

也无法RDP桌面,通过命令安装

sudo apt install xrdp  

sudo systemctl enable --now xrdp 

然后 sudo reboot 后就可以通过RDP访问桌面啦,大功告成。

在AWS EC2上跑 树莓派Ubuntu_ARM64_10

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

C7GElnmfNnFj