我正在尝试为 AWS EC2 实例创建一个基于 Debian 的自定义 AMI,并使用我自己的自定义内核,具体来说,我正尝试在 t4g.micro/medium 实例上运行它。
我启动了一个 ARM64 Debian,并从 AWS EC2 机器复制所需的 /boot/efi/EFI/* 内容,我创建了一个 ESP/vfat 分区来保存 EFI 数据,并从原始 EC2 实例复制了 /boot 的内容,但是,当我尝试启动实例时,我遇到了一个 EFI shell(等待 10 分钟后)。
- 该图像不使用安全启动,因此启动它应该可以工作。
- 我正在使用 AWS 提供的相同内核作为试运行,以消除对我的内核是否有效的担忧。
- 我使用 qemu-nbd 和 mkfs.vfat 创建了一个原始磁盘。
有人知道这里的问题是什么吗?我有点迷茫。
我附上了我的脚本:
sudo qemu-debootstrap --arch=arm64 --include=openssh-server,curl,tar,gcc,libc6-dev,time,strace,sudo,less,psmisc,selinux-utils,policycoreutils,checkpolicy,selinux-policy-default,firmware-atheros --components=main,contrib,non-free stable debian
fallocate -l4G disk.raw
DISKDEV=/dev/nbd0
sudo qemu-nbd -c /dev/nbd0 --format=raw disk.raw
echo -en "g\nn\n\n\n+110M\nt\n1\nn\n2\n\n\n\nw\n" | sudo fdisk
PARTDEV=$DISKDEV"p2"
sudo -E mkfs.ext4 -O ^resize_inode,^has_journal,ext_attr,extents,huge_file,flex_bg,dir_nlink,sparse_super $PARTDEV
mkdir -p disk.mnt
sudo mount $PARTDEV disk.mnt
sudo mkfs.vfat -F 32 $DISKDEV"p1"
mkdir efi.mnt
sudo mount -t vfat $DISKDEV"p1" efi.mnt
sudo cp -r ./debian/boot/efi/ ./efi.mnt/
sudo cp -a debian/. disk.mnt/.
.. unmounting flow goes here ..