Senin, 25 Mei 2026

Remastering Fedora Linux 44 dengan KIWI-NG

 

Remastering Fedora Linux 44 dengan KIWI-NG

Disusun oleh:

Nikolas Tiar Banjarnahor (25051204056)

Muhammad Nur Fajri (25051204016)

Habibi (25051204058)

Talitha Zahra A. P.  (25051204064)

 

Bab I : Pendahuluan

1.      Latar Belakang

Dalam dunia pengembangan software dan manajemen sistem, persiapan alat-alat yang diperlukan untuk tugas itu sangat penting. Sang penguna dapat menginstall sebuah distribusi Linux dari awal dan menyiapkannya untuk memenuhi kerperluan. Namun, cara ini (menginstall dari awal) sangat tidak efisien ketika anda bekerja dalam tim, dimana semua orang perlu alat dan bahan yang sama, penyiapan dan pengaturan konfigurasi sistem tiap sistem dan tiap member tim sangat lah memakan waktu dan tidak efisien. Penyiapan lingkungan kerja yang mencakup instalasi desktop environment (seperti KDE Plasma), compiler (seperti GCC untuk C++), library development custom, hingga penyesuaian modul kernel untuk hardware yang dimiliki membutuhkan otomatisasi. Pendekatan remastering tradisional sering kali mengandalkan modifikasi manual pada sistem yang sedang berjalan dan membungkusnya kembali, yang rentan terhadap galat dan sulit direproduksi.

 

Sebagai solusi, image builder deklaratif seperti KIWI-NG (Next Generation) digunakan. Dengan memanfaatkan blueprint berupa file XML, proses pembuatan distribusi yang dikonfigurasi untuk memenuhi keperluan dapat dilakukan secara terstruktur (Infrastructure as Code). Ini menjamin bahwa setiap hasil kompilasi akan selalu bersih, konsisten, dan siap di-deploy ke berbagai perangkat dengan konfigurasi yang presisi. Dalam laporan ini, kami akan remastering Fedora Linux 44 dengan KIWI-NG ini.

 


 

 

2.      Rumusan Masalah

A.      Apa itu KIWI-NG?

B.      Cara bekerja KIWI-NG bagaimana?

C.      Bagaimana kita dapat membuat-versi-kita/remastering Fedora Linux 44 dengan KIWI-NG?

 

3.      Tujuan Laporan

A.      Menguasai arsitektur image building menggunakan deskripsi sistem berbasis XML pada KIWI-NG.

B.      Mempraktikkan kustomisasi tingkat lanjut pada Fedora 44, termasuk penambahan paket yang di-inginkan, memilih desktop environment yang cocok, dan memilih tipe format image distribusi sesuai keperluan.

C.      Menghasilkan file image Live ISO Fedora 44 yang bootable dengan lingkungan yang sudah disesuaikan sepenuhnya (out-of-the-box).

 

4.      Manfaat Laporan

Praktikum ini memberikan keterampilan esensial dalam administrasi sistem Linux tingkat lanjut. Penguasaan tool seperti KIWI-NG sangat relevan untuk kebutuhan DevOps, pembuatan prototype distribusi Linux, serta penyediaan Live Environment khusus untuk eksperimen pengembangan perangkat lunak maupun pemulihan sistem (system recovery).

 

 


 

Bab II : Tinjauan Pustaka

1.      Fedora Linux

Fedora Linux adalah distribusi Linux open-source yang didukung oleh komunitas, disponsori oleh Red Hat (anak perusahaan IBM). Fedora dikenal sebagai sistem operasi yang inovatif, progresif, dan fokus pada teknologi terbaru (cutting-edge).

Fedora memiliki siklus rilis yang cepat, yakni setiap 6 bulan, dengan masa dukungan sekitar 13 bulan. Dalam hierarki pengembangan Red Hat, Fedora berfungsi sebagai Upstream bagi Red Hat Enterprise Linux (RHEL).  Artinya, teknologi baru akan diuji, dikembangkan, dan disempurnakan di Fedora sebelum diterapkan di RHEL yang lebih berfokus pada stabilitas perusahaan.

2.      DNF

DNF (Dandified YUM) adalah manajer paket generasi terbaru untuk distribusi Linux berbasis RPM, seperti Fedora, Red Hat Enterprise Linux (RHEL), dan AlmaLinux. DNF diperkenalkan sebagai penerus YUM (Yellowdog Updater, Modified) untuk mengatasi beberapa keterbatasan mendasar yang ada pada pendahulunya, terutama terkait performa, konsumsi memori, dan resolusi dependensi yang lambat.

DNF pertama kali diperkenalkan di Fedora 18 dan menjadi manajer paket default sejak Fedora 22.

3.      KIWI-NG

KIWI-NG adalah sebuah kerangka kerja (framework) berbasis perintah baris (CLI) yang bersifat open-source untuk membangun citra sistem operasi (operating system images) yang kompleks dan siap pakai untuk berbagai platform, termasuk perangkat keras fisik, mesin virtual, hingga lingkungan cloud. Dikembangkan sebagai penerus dari proyek KIWI yang asli oleh SUSE, KIWI-NG ditulis ulang menggunakan bahasa pemrograman Python untuk memberikan modularitas yang lebih baik, kemudahan pemeliharaan, serta performa yang lebih optimal. Secara fundamental, KIWI-NG berfungsi sebagai lapisan abstraksi yang memungkinkan pengembang untuk mendefinisikan seluruh spesifikasi sistem operasi dalam satu set konfigurasi terpusat, sehingga proses pembuatan citra sistem menjadi lebih terstandarisasi dan dapat direproduksi secara konsisten (reproducible).

 


 

Mekanisme kerja KIWI-NG berpusat pada penggunaan file konfigurasi berbasis XML (biasanya disebut config.xml) yang bersifat deklaratif. Dalam file tersebut, pengembang mendefinisikan parameter sistem seperti arsitektur perangkat keras, skema partisi disk, repositori perangkat lunak yang digunakan, hingga daftar paket spesifik yang harus diinstal. Proses pembangunan citra biasanya terbagi menjadi dua tahap utama: tahap prepare, di mana KIWI-NG membuat direktori akar (root tree) dan mengunduh semua dependensi melalui manajer paket asli distribusi tujuan (seperti DNF untuk Fedora atau Zypper untuk SUSE); dan tahap create, di mana direktori tersebut dikemas ke dalam format output akhir seperti ISO untuk media live, QCOW2 untuk virtualisasi, atau citra disk mentah (RAW).

 



Contoh config.xml SUSE Tumbleweed dari github.com/OSInside/kiwi-descriptions

 

Keunggulan utama KIWI-NG terletak pada fleksibilitasnya yang lintas distribusi, yang mendukung pembuatan citra untuk berbagai basis sistem operasi termasuk Fedora, RHEL, openSUSE, hingga Ubuntu. Selain itu, KIWI-NG memungkinkan integrasi skrip kustom (shell scripts) selama proses pembangunan untuk melakukan konfigurasi sistem tingkat lanjut yang tidak tercakup dalam skema XML standar. Dalam konteks modern, alat ini sangat krusial bagi administrator sistem dan pengembang distribusi karena kemampuannya untuk menghasilkan sistem yang sangat ramping dan terspesialisasi, yang sangat dibutuhkan dalam penerapan infrastruktur berbasis kontainer, sistem tertanam (embedded systems), maupun penyediaan layanan cloud berskala besar secara otomatis.

4.      fedora-kiwi-descriptions

fedora-kiwi-descriptions (pagure.io/fedora-kiwi-descriptions) adalah kumpulan templat konfigurasi atau "resep" resmi yang digunakan untuk membangun berbagai varian citra sistem operasi Fedora melalui alat KIWI-NG. Secara teknis, repositori ini menyediakan struktur deklaratif dalam bentuk file XML untuk menentukan daftar paket, repositori, serta skrip shell untuk kustomisasi sistem tingkat lanjut. Dengan memanfaatkan deskripsi ini, pengembang dapat mengotomatisasi proses pembuatan citra yang dapat direproduksi secara konsisten (reproducible), mulai dari edisi Workstation hingga citra khusus untuk lingkungan cloud dan embedded. Keberadaan templat ini sangat krusial dalam menyederhanakan alur kerja pembangunan distribusi kustom karena memungkinkan integrasi paket dan konfigurasi sistem dilakukan secara terstandarisasi tanpa harus mendefinisikan ulang seluruh arsitektur dasar Fedora dari awal. ( Di fedora-kiwi-descriptions sudah disediakan script yang bakal otomatiskan beberapa task dalam membuat/remastering distro Fedora, juga untuk konfigurasi dipecah ke beberapa file, untuk distro lain mohon riset lebih dalam.)



Isi direktori repo pagure.io/fedora-kiwi-descriptions

 


 

Bab III : Pembahasan

1.      Keperluan

Berikut beberapa keperluan yang direkomendasikan untuk di-ikuti:

·         Mengunakan OS Fedora Linux 44 (direkomendasikan di-install secara native/langsung ke komputer)

·         RAM 16GB+, Storage 25GB+ (direkomendasikan tipe NVMe atau SSD), dan CPU yang tergolong modern dan kencang (performa remastering sangat tergantung pada CPU, jika anda merasa proses remastering dengan KIWI-NG sangat lama, kemungkinan ada bottleneck di CPU.)

·         Virtual Machine terinstall (direkomendasikan QEMU + virt-manager) untuk mencoba hasil output remastering.

·         Koneksi Internet yang kencang dan stabil.

2.      Langkah-Langkah

(1)   sudo dnf install git-core (kalo belum ada)



(2)   git clone https://pagure.io/fedora-kiwi-descriptions



(3)   Install dependecies untuk fedora-kiwi-descriptions (sudo dnf --assumeyes install kiwi kiwi-systemdeps distribution-gpg-keys)



(4)   cd (change dir) ke folder repo (fedora-kiwi-descriptions)

(5)   Duplikat “Fedora.kiwi” untuk modifikasi nanti


(6)   Cd ke “components”. Disini akan dicontohkan cara nambah package yang mau tambah.

(7)   Buat konfigurasi xml baru. File XML ini bakal kita edit.



(8)   Edit file XML yang dibuat , disini akan di add package “fastfetch” dan “btop”. Ikuti format XML yang disediakan KIWI-NG di osinside.github.io/kiwi/image_description.html . Kalo bingung, ikuti format dibawah ini aja.

Kalian bebas mengunakan text editor apa aja, disini kami pake nano.

<image>,<packages>,<package name =”nama pkg dnf yang mau di-install"/>

 

(9)   Edit duplikat Fedora.kiwi (Fedora-mod.kiwi). Disini akan menambahkan directory file konfigurasi custom yang dibuat.

(10)           Build distro custom nya mengunakan Fedora-mod.kiwi ; (sudo ./kiwi-build --kiwi-file=Fedora-mod.kiwi --image-type=<image_type> --image-profile=<image_profile> --output-dir ./outdir), <image-type> dan <image-profile> bisa dilihat varian nya di VARIANTS.MD, disini akan pakai image type “iso” dan profile “KDE-Desktop-Live"


Proses bakal berlangsung selama 30+ menit, tergantung kecepatan internet dan kecepatan CPU. Makan atau Minum kopi untuk menunggu.

Komputerku!!!!


 

 

Kalau build nya sukses , hasil output bakal di beri tahu (outdir-build)


Namun kalo hasilnya malah ketemu seperti :

System kehabisan memory RAM. Pastikan sudah punya RAM 16GB+ (lebih baik lakukan secara native daripada VM, VM malah hanya bisa memakai sedikit RAM dikarenakan dipakai OS Host).


 

 

(11)           Test hasil remastering di Virtual Machine

Coba hasil remaster nya di virt-manager.

(jangan lupa allow virt-manager berbicara dengan QEMU,

{sudo systemctl enable --now virtqemud.socket

sudo systemctl enable --now virtnetworkd.socket

sudo systemctl enable --now virtstoraged.socket})


Pilih local install media.


Browse >> Browse Local. File hasil nya seharusnya ada di {lokasi-repo}/fedora-kiwi-descriptions/outdir-build/ Fedora.x86_64-Rawhide.iso


Pilih Forward. Jika virt-manager mengeluh tidak punya permission untuk akses path ke iso, pilih Yes aja.

Spek VM sesuai kan dengan hardware masing-masing.


Kalau pilih <image-profile>={de.yang.dipilih}-Live , tidak perlu membuat storage virtual karena kita bisa langsung coba OS tanpa install, selain itu ({de.yang.dipilih}-Disk) wajib bikin storage virtual dan install OS, untuk mencoba hasil OS nya.


Langsung aja Finish. VM seharusnya langsung otomatis berjalan.


Langsung Start Fedora agar skip check integritas ISO yang akan makan waktu.

Terus, Coba cek apakah package yang dimasukkan apa kah tersedia.


Hore! Package yang ditambahkan (fastfetch dan btop) ada! Mission Success!

 

Bab IV : Penutup

1.      Kesimpulan

Remastering sistem operasi Fedora 44 menggunakan KIWI-NG memungkinkan pembuatan distribusi Linux kustom yang sepenuhnya dapat diprogram (programmable) melalui XML. Dengan mengkloning templat dari fedora-kiwi-descriptions, kita dapat menghemat waktu penyiapan sistem dengan mengintegrasikan utilitas pengembangan kompleks secara out-of-the-box. Hasil kompilasi ini jauh lebih stabil dibandingkan metode konvensional, karena keseluruhan image dibangun di lingkungan yang terisolasi dan bersih, memanfaatkan mekanisme penyelesaian dependensi bawaan dari DNF.

2.      Saran

·         Konfigurasi lebih dalam

Untuk praktikum lebih lanjut, coba menerapkan konfigurasi kustom untuk aplikasi tertentu, contoh nya seperti membuat “fastfetch” load config custom yang menampilkan informasi dengan tampilan berbeda.

·         Penyesuaian Hardware

Juga untuk praktikum lebih lanjut, Tambahkan repo custom untuk hardware custom, seperti driver RGB lightting pada keyboard gaming atau repo lokal untuk wifi card yang driver nya wajib install manual.

·         Eksplor KIWI-NG

Harapan nya lewat laporan ini, akan menginspirasi pembaca untuk lebih kustomisasi lebih lanjut remastering distro, tak terbatas hanya untuk Fedora.

Daftar Pustaka

·         https://osinside.github.io/kiwi/ (Dokumentasi KIWI-NG)

·         https://pagure.io/fedora-kiwi-descriptions (Official Template Description KIWI-NG Fedora)

Lampiran



Tidak ada komentar:

Posting Komentar