How to properly bootstrap a root fs using dnf

Hi, I’m trying to bootstrap a roofs for a VM using dnf. After I installed the @minimal-environemnt group with dnf.conf:

[main]
installroot=root/rocky
install_weak_deps=False
group_package_types=mandatory

[baseos]
name=BaseOS
baseurl=http://mirror.nju.edu.cn/rocky/$releasever/BaseOS/$basearch/os/

[appstream]
name=AppStream
baseurl=http://mirror.nju.edu.cn/rocky/$releasever/AppStream/$basearch/os/

I found two problems:

  1. There is no EFI file under /boot/EFI/BOOT
  2. There are no vmlinuz and initramfs files
boot/
├── efi
│   └── EFI
│       └── rocky
└── grub2

5 directories, 0 files

What the proper way to bootstrap a root fs?