私は物理ハードウェア(ラズベリーパイ)のレイアウトを再現するために、VM(Proxmox)上にAlpine Linuxをセットアップしようとしています。実際のレイアウトは、ラズベリーパイ3で、「データ」モードとしてインストールされています(ウィキ) と :
- SD カード: 2 つのパーティション (/boot、/)
- USB ハードディスク: 2 つのパーティション (swap、/var)
2 つの SCSI ディスクを使用して、UEFI として起動する VM を作成します。
- 8G、GPT、2 パーティション (/boot 512M FAT32 フラグ = boot、efi、/ 7.5G ext4)
- 60G、GPT、2 パーティション (スワップ 4G、/var 56G ext4)
パーティションは gparted livecd を使用して作成され、その後 alpine-virt iso で再起動します。
スクリプトを起動しsetup-alpine
、ディスクを要求するまで待ちます (Ctrl+C)。次に、ディスク レイアウトをマウントし、インストールを起動します。
swapon /dev/sdb1
mount /dev/sda2 /mnt
mkdir -p /mnt/boot /mnt/var
mount /dev/sda1 /mnt/boot
mount /dev/sdb2 /mnt/var
apk add grub-efi efibootmgr
export BOOTLOADER=grub
export USE_EFI=1
setup-disk -m data /mnt
すると、次のメッセージが表示されます。You might need fix the MBR to be able to boot.
再起動しようとすると、ハードドライブで起動しません。
私が見逃した魔法は何でしょうか?
答え1
まず第一に、MBR
この場合、メッセージは意味がありません。既存のパーティションにインストールするときには常に表示されますが、MBR を使用する場合にのみ関連します (当然です)。
重要な点は、AlpineはEFIパーティションがマウントされることを期待しているということです。/boot/efi
ない /boot
そうしないと、インストール スクリプトが混乱し、grub が syslinux で上書きされ、システムが起動できなくなります。
したがって、代わりに次のようにコマンドを変更します。
mkdir -p /mnt/boot/efi
mount -t vfat /dev/sda1 /mnt/boot/efi
そしてそれは動作するはずです。