Boot Simplified Provisioner

Boot dari ISO Simplified Provisioner

  • Jika Anda menggunakan perangkat fisik dengan unit CD-ROM:

    • Bakar ISO Simplified Provisioner yang diunduh ke CD-ROM

    • Gunakan CD-ROM tersebut untuk mem-boot perangkat IoT darinya.

  • Jika Anda menggunakan Mesin Virtual, Anda dapat menggunakan perintah virt-install untuk mem-boot dari ISO Simplified Provisioner.

    # virt-install --connect qemu:///system \
                   --name "fedora-iot-device" \
                   --os-variant "fedora-40" \
                   --boot uefi,loader.secure=false \
                   --vcpus 1 --memory 3072 \
                   --network network=default,model=virtio \
                   --disk pool=default,size=30 \
                   --cdrom Fedora-IoT-provisioner-40.*.iso

Boot Simplified Provisioner dari USB Flash Drive

  • Salin file image ISO ke USB flash drive (Anda memerlukan setidaknya USB flash drive 8 GB)

  • Sambungkan USB flash drive ke port komputer yang ingin Anda boot.

  • Boot perangkat dari USB flash drive.

Boot Simplified Provisioner dari UEFI HTTP Boot

  • Salin isi ISO Simplified Provisioner ke sebuah direktori

    mount Fedora-IoT-provisioner-40.*.iso /mnt
    cp -r /mnt Fedora-40-IoT-Simplified-Provisioner
    cd Fedora-40-IoT-Simplified-Provisioner
  • Ubah file grub.cfg di direktori EFI/BOOT dan ganti semua kemunculan linux dan initrd masing-masing dengan linuxefi dan initrdefi.

    sed -i -e 's|linux /|linuxefi /|' \
           -e 's|initrd /|initrdefi /|' \
           EFI/BOOT/grub.cfg
  • Gunakan Server HTTP untuk menyajikan konten melalui jaringan, mis.:

    python3 -m http.server 9080
    firewall-cmd --add-port=9080/tcp
  • URL yang benar untuk melakukan UEFI HTTPBoot bergantung pada arsitektur ISO (x86_64 atau aarch64)

Mem-boot Server Fisik

  • Jika menggunakan server fisik, silakan periksa manual atau antarmuka UI Manajemen untuk melihat apakah sistem mendukung UEFI HTTPBoot dan ikuti langkah-langkah di manual untuk mem-boot-nya secara manual atau otomatis dari URL boot (lihat di atas)

Mem-boot Mesin Virtual

  • Gunakan perintah virt-install (atau alat lain apa pun yang mendukung mem-boot VM UEFI) untuk mem-boot VM. Mis.:

    virt-install --connect qemu:///system \
                 --name "fedora-iot-device" \
                 --os-variant "fedora-40" \
                 --boot uefi,loader.secure=false \
                 --vcpus 1 --memory 3072  \
                 --network network=default,model=virtio \
                 --disk pool=default,size=30 \
                 --import
  • Tekan tombol "[Esc]" berulang kali untuk masuk ke antarmuka manajemen UEFI

  • Pilih "Device Manager" dan tekan "[Enter]"

  • Pilih "Network Device List" dan tekan "[Enter]"

  • Pilih alamat MAC yang sesuai dengan antarmuka yang ingin Anda gunakan untuk melakukan UEFI HTTPBoot dan tekan "[Enter]"

  • Pilih "HTTP Boot Configuration" dan tekan "[Enter]"

  • Pilih "Boot URI" dan tekan "[Enter]"

  • Masukkan URL HTTPBoot (lihat di atas) (mis.: http://192.168.122.1:9080/EFI/BOOT/BOOTX86.EFI) dan tekan "[Enter]"

  • Tekan tombol "[F10]" untuk menyimpan perubahan lalu tekan "[Y]" untuk mengonfirmasi tindakan

  • Tekan "[Esc]" empat kali sampai Anda kembali ke layar utama

  • Pilih "Boot Manager"

  • Pilih "UEFI HTTP" dan tekan "[Enter]"

  • VM seharusnya melakukan UEFI HTTPBoot.

Dimungkinkan juga untuk melakukan langkah-langkah yang sama secara otomatis dengan memodifikasi variabel UEFI setelah membuat mesin virtual. Untuk itu kita perlu memasang paket qemu-img dan python3-virt-firmware:

dnf install -y python3-virt-firmware qemu-img
  • Buat mesin virtual yang belum diinisialisasi dan dalam keadaan berhenti (pastikan mendukung UEFI), mis.:

    virt-install --connect qemu:///system \
                 --name "fedora-iot-device" \
                 --os-variant "fedora-40" \
                 --boot uefi,loader.secure=false \
                 --vcpus 1 --memory 3072  \
                 --network network=default,model=virtio \
                 --disk pool=default,size=30 \
                 --import --noautoconsole --noreboot
  • Hubungkan QCOW2 yang berisi variabel UEFI VM ke disk NBD agar kita dapat memodifikasinya langsung di tempatnya:

    modprobe nbd
    qemu-nbd --connect /dev/nbd0 /var/lib/libvirt/qemu/nvram/fedora-iot-device_VARS.qcow2
  • Gunakan alat virt-fw-vars untuk memodifikasi variabel UEFI dan mengonfigurasi VM agar boot dari URL HTTP, mis.:

    virt-fw-vars --input /dev/nbd0 --set-boot-uri http://192.168.122.1:9080/EFI/BOOT/BOOTX64.EFI
  • Putuskan perangkat NBD:

    qemu-nbd --disconnect /dev/nbd0
  • Jalankan VM:

    virsh --connect qemu:///system \
          start fedora-iot-device
  • VM seharusnya melakukan UEFI HTTPBoot dari URL yang telah dikonfigurasi