bersama catatan peribadi & teknikalnya.

Load Distribusi Linux (Live CD) di VM untuk UEFI

Dengan Aplikasi GUI Virt-Manager


geeky stuff
#QEMU | #KVM | #Virt-Manager

Ada sesetengah orang, sebelum mula bereksperimentasi dengan pemasangan di mesin sebenar, mesti cuba melalui mesin maya dulu. Manalah tahu, kot-kot ada yang mahu cuba belajar dual-boot Windows dengan sistem Linux kan?

Jadi di sini, saya terangkan sikitlah cara untuk load live CD sistem operasi Linux dengan UEFI dibolehdayakan. Sebagaimana biasa, cedok dari ArchWiki-lah.

Oleh sebab saya gunakan Arch Linux, maka di sini juga saya akan gunakan live CD Arch Linux sebagai demo.

Pakej-pakej dari sistem repositori yang perlu dipasang dahulu sebelum memulakan operasi:-

1️⃣   edk2-ovmf dan juga libvirt;
2️⃣   ebtables serta dnsmasq
(untuk berkongsi rangkaian Internet melalui sistem hos dengan default NAT/DHCP networking);
3️⃣   virt-manager;
Optional untuk pemasangan sistem operasi selain Linux seperti Windows:-
4️⃣   firewalld
5️⃣   virt-viewer


Sesudah itu, untuk memastikan virt-manager boleh diakses oleh pengguna (user), ada konfigurasi tambahan perlu dilakukan terhadap polkit.
Apa yang saya buat dahulu adalah menambah kumpulan wheel ke dalam polkit. Hal ini membolehkan mana-mana pengguna yang berada di dalam kumpulan ini menjalankan operasi yang memerlukan superuser tanpa perlu memasukkan kata laluan.

Caranya adalah dengan mencipta fail /etc/polkit-1/rules.d/49-nopasswd_global.rules ini sebagai superuser (root) dengan konfigurasi seperti berikut:-

/* Allow members of the wheel group to execute any actions
   without password authentication, similar to "sudo NOPASSWD:" */
polkit.addRule(function(action, subject) {
    if (subject.isInGroup("wheel")) {
        return polkit.Result.YES;
    }
});

Kemudian, tambahkan pula fail /etc/polkit-1/rules.d/50-libvirt.rules berikut:-
/* Allow users in kvm group to manage the libvirt
daemon without authentication */
polkit.addRule(function(action, subject) {
    if (action.id == "org.libvirt.unix.manage" &&
        subject.isInGroup("kvm")) {
            return polkit.Result.YES;
    }
});

Dan tambahkanlah user ke dalam kumpulan-kumpulan berikut. Gantikanlah user itu dengan nama sebenar pengguna:-
gpasswd -a user wheel
gpasswd -a user libvirt
gpasswd -a user kvm

Mengikut ArchWiki, sistem mungkin perlu direboot untuk membolehkan perubahan kepada polkit tadi berlaku.
Sebelum reboot sistem, bolehdayakan dahulu libvirtd.service supaya ia terus load ketika sistem bermula.
systemctl enable libvirtd.service
Proses di atas ini sekaligus turut membolehdayakan virtlogd.socket dan virtlockd.socket.
Selesai reboot sistem hos, boleh mula jalankan virt-manager sebagai pengguna biasa.

Jom mulakan cubaan load Live CD Arch Linux di mesin maya melalui virt-manager dengan UEFI bootloader.

  1. Klik pada ikon Create a new virtual machine. Alah, yang ikon monitor bersinar bintang tu.
    01:
    Beginilah rupa GUI virt-manager
  2. Selepas itu, rujuk gambar-gambar berikut sahajalah.
    02:
    Self-explanatory.
    03:
    Self-explanatory.
    04:
    Self-explanatory.
    05:
    Boleh pilih simpanan cakera maya yang telah dicipta melalui perintah qemu-img create -f qcow2 linux.img 50G atau tick pilihan pertama (butang radio pertama).
    06:
    Tiba di sini, pastikan tick Customize configuration before install.
    07:
    Di bahagian Overview, tukar pilihan Firmware kepada UEFI x86_64.
    08:
    Bus untuk cakera maya secara automatik-nya ditetapkan kepada VirtIO.
    09:
    Self-explanatory.
    10:
    Untuk rangkaian Internet pula, pastikan pilih sumber rangkaian NAT dan model peranti virtio. Sistem hos mesti sudah bersambung dengan rangkaian Internet sebelum memulakan pemasangan ini ya!
    11:
    Untuk perkongsian folder di antara hos dan tetamu, tambah Hardware Filesystem seperti contoh dari gambar di bawah.
    12:
    Rupa sebelum memulakan pemasangan dengan Begin Installation.
    13:
    Beginilah rupa setelah menekan butang Begin Installation. Boleh nampak UEFI di hujung entri menu pertama systemd-boot bootloader ini.
    14:
    Boleh cuba ping mana-mana halaman web untuk memastikan Internet berfungsi.
    15:
    Dan terakhir, kena mount dahulu shared-folder yang telah ditetapkan sebelum memulakan pemasangan tadi sekiranya perlu kepada fungsi ini. Saya tambah direktori /mnt/share dahulu. Kemudian mount shared-folder dari sistem hos dengan perintah baris berikut:-
    mount -t 9p -o trans=virtio,version=9p2000.L /hostshare /mnt/share

    /hostshare adalah target laluan yang ditetapkan sebelumnya dan /mnt/share adalah mount point yang direktori-nya telah dibuat sebelum ini.

Selesai contoh load virt-manager untuk pemasangan UEFI. Cara pemasangan sistem pula perlu rujuk dokumentasi yang telah disediakan oleh laman web utama distribution masing-masing, jika ianya adalah selain daripada Arch Linux. :smile:

Kali terakhir dikemaskini:
Top