Langsung ke konten
Debian

Tutorial Debian 13 Preseed: Membuat ISO Custom dengan Instalasi Otomatis BIOS, UEFI, dan Banner Server

November 14, 2026 · 23 menit baca · Walid Umar

Instalasi sistem operasi server merupakan salah satu pekerjaan dasar yang harus dikuasai oleh seorang System Administrator, Network Administrator, maupun siswa SMK kompetensi keahlian Teknik Komputer dan Jaringan (TKJ) atau Teknik Jaringan Komputer dan Telekomunikasi (TJKT).

Pada praktiknya, proses instalasi Debian Server sering dilakukan secara manual. Administrator harus menjawab berbagai pertanyaan installer, mulai dari pengaturan bahasa, keyboard, hostname, jaringan, partisi hard disk, pemilihan paket, hingga konfigurasi bootloader.

Proses tersebut tidak menjadi masalah jika hanya dilakukan pada satu komputer. Namun, bagaimana jika administrator harus memasang Debian pada puluhan komputer laboratorium? Bagaimana jika seluruh komputer harus memiliki konfigurasi yang seragam?

Salah satu solusi yang dapat digunakan adalah Debian Preseed.

Preseed memungkinkan administrator menyiapkan jawaban konfigurasi instalasi dalam sebuah file sehingga Debian Installer dapat menjalankan sebagian besar proses secara otomatis. Dengan pendekatan ini, instalasi dapat dibuat lebih konsisten, cepat, dan mudah direplikasi.

Dalam tutorial ini, kita akan membangun sebuah sistem operasi custom bernama Debian 13 TKJ Praktikum Edition – WALID UMAR.

Proyek ini bukan sekadar mengganti wallpaper atau nama distribusi. Kita akan memodifikasi media instalasi Debian dengan beberapa fitur:

  • Instalasi otomatis menggunakan Preseed.
  • Dukungan Legacy BIOS dan UEFI.
  • Dua pilihan menu instalasi: manual dan otomatis.
  • Konfigurasi partisi otomatis menggunakan GPT.
  • Instalasi server tanpa desktop environment.
  • Konfigurasi jaringan Ethernet menggunakan DHCP.
  • Dukungan instalasi dari media DVD tanpa mewajibkan internet.
  • Konfigurasi SSH Server.
  • Banner sebelum login melalui /etc/issue.
  • Banner SSH melalui /etc/issue.net.
  • Dynamic MOTD setelah login.
  • Informasi CPU, RAM, swap, disk, IP address, gateway, dan DNS.
  • Remaster ISO menggunakan Xorriso.
  • Pengujian instalasi melalui VMware.

Hasil akhirnya adalah media instalasi Debian yang dapat digunakan sebagai platform pembelajaran administrasi server dan jaringan di lingkungan SMK.

1. Mengenal Debian Preseed

Apa itu Preseed?

Preseed adalah mekanisme konfigurasi otomatis pada Debian Installer atau D-I. Melalui Preseed, administrator dapat memberikan jawaban terhadap pertanyaan installer sebelum atau selama proses instalasi berlangsung.

File Preseed umumnya menggunakan nama preseed.cfg, meskipun administrator bebas menggunakan nama lain seperti:

  • preseed-bios.cfg
  • preseed-uefi.cfg
  • preseed-server.cfg
  • preseed-lab.cfg

Preseed menggunakan format konfigurasi Debconf, bukan bahasa pemrograman shell. Oleh karena itu, file Preseed tidak dapat langsung digunakan untuk menuliskan perintah seperti if, for, atau deklarasi variabel shell di luar mekanisme yang disediakan installer.

Contoh konfigurasi:

d-i debian-installer/locale string en_US.UTF-8
d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/get_hostname string debian-server-praktikum
d-i netcfg/get_domain string local

Setiap baris berisi informasi yang akan digunakan Debian Installer untuk menjawab pertanyaan konfigurasi.

Bagaimana Preseed bekerja?

Secara sederhana, prosesnya seperti berikut:

  1. Komputer melakukan boot dari media instalasi Debian.
  2. Debian Installer memuat kernel dan initrd.
  3. Installer membaca parameter boot.
  4. File Preseed dimuat dari lokasi yang ditentukan.
  5. Jawaban konfigurasi diberikan kepada sistem Debconf.
  6. Installer menjalankan proses instalasi berdasarkan konfigurasi tersebut.
  7. Perintah tambahan dapat dijalankan melalui preseed/early_command atau preseed/late_command.

Preseed dapat disediakan melalui initrd, media instalasi, atau jaringan. Dalam proyek ini kita menggunakan metode file preseeding, yaitu menyimpan file konfigurasi pada root ISO dan memanggilnya melalui parameter kernel preseed/file.

Contoh:

auto=true priority=critical preseed/file=/cdrom/preseed-bios.cfg

Dokumentasi resmi Debian menjelaskan metode ini pada bagian Automating the Installation Using Preseeding.

2. Mengapa Membuat Debian Custom?

Membuat ISO custom memberikan sejumlah keuntungan, khususnya untuk lingkungan laboratorium pendidikan dan deployment server.

Konsistensi instalasi

Semua komputer dapat menggunakan konfigurasi dasar yang sama, seperti hostname, akun pengguna, partisi, paket, dan layanan.

Efisiensi waktu

Administrator tidak harus mengisi seluruh pertanyaan installer secara manual pada setiap komputer.

Standardisasi laboratorium

Guru dapat menyiapkan sistem operasi dengan konfigurasi yang sesuai kebutuhan pembelajaran, misalnya SSH Server, DHCP Client, utilitas administrasi, dan konfigurasi jaringan.

Identitas sistem

Media instalasi dapat dilengkapi nama proyek, tema visual, banner, dan informasi pembuat.

Fleksibilitas instalasi

Kita tetap dapat menyediakan instalasi manual bagi pengguna yang ingin mengatur partisi dan konfigurasi sendiri, sekaligus menyediakan instalasi otomatis bagi kebutuhan praktikum.

Perlu dipahami bahwa Preseed bukan pengganti seluruh proses administrasi server. Preseed mengotomatisasi proses instalasi, sedangkan konfigurasi tambahan setelah sistem terpasang tetap harus dirancang dan diuji.

3. Persiapan Perangkat dan Software

Pada proyek ini, proses remaster dilakukan menggunakan Windows dan PowerShell. Kita tidak menggunakan WSL.

Perangkat yang dibutuhkan

  • Komputer Windows.
  • Ruang penyimpanan yang cukup untuk ISO sumber dan hasil remaster.
  • RAM yang memadai untuk menjalankan virtual machine.
  • VMware Workstation atau VirtualBox untuk pengujian.
  • Flashdisk untuk pengujian instalasi fisik.

Software yang dibutuhkan

SoftwareFungsi
Debian 13 DVD-1 AMD64ISO sumber
XorrisoMembaca dan memodifikasi ISO
PowerShellMengelola file dan menjalankan perintah
VMware WorkstationPengujian Legacy BIOS dan UEFI
Text editorMengedit file Preseed dan konfigurasi boot

Gunakan ISO Debian resmi dan pastikan arsitekturnya sesuai dengan perangkat target. Untuk instalasi offline, DVD-1 menjadi media paket lokal sehingga ketersediaan paket tetap perlu diperiksa.

Struktur direktori proyek

Agar pengelolaan file lebih teratur, gunakan struktur seperti berikut:

D:\DEBIAN-TKJ-PRAKTIKUM\
│
├── ISO\
│   └── debian-13.2.0-amd64-DVD-1.iso
│
├── CONFIG\
│   ├── preseed-bios.cfg
│   └── preseed-uefi.cfg
│
├── WORK\
│   ├── menu-tkj.cfg
│   ├── grub-tkj.cfg
│   ├── tkj-banner.sh
│   └── ISO-AUDIT\
│
├── TOOLS\
│   └── xorriso.exe
│
└── OUTPUT\
    └── Debian-13-TKJ-Praktikum-FIX.iso

Struktur tersebut memisahkan ISO sumber, konfigurasi, file kerja, aplikasi remaster, dan hasil akhir.

4. Memahami Dua Mode Boot: BIOS dan UEFI

Salah satu hal penting dalam membuat ISO custom adalah memahami perbedaan metode boot Legacy BIOS dan UEFI.

Legacy BIOS

Legacy BIOS umumnya menggunakan bootloader ISOLINUX pada media Debian Installer.

Konfigurasi menu biasanya berada di direktori:

/isolinux/

File yang perlu diperiksa antara lain:

/isolinux/isolinux.cfg
/isolinux/menu.cfg

UEFI

Pada mode UEFI, Debian menggunakan GRUB sebagai bootloader.

File konfigurasi yang umum ditemukan antara lain:

/boot/grub/grub.cfg
/EFI/debian/grub.cfg

Struktur aktual harus diperiksa langsung dari ISO sumber. Jangan berasumsi bahwa semua versi media instalasi memiliki susunan file yang identik.

Mengapa harus memiliki dua Preseed?

Kita memisahkan konfigurasi BIOS dan UEFI agar setiap mode boot dapat menggunakan recipe partisi yang sesuai.

Nama file yang digunakan:

preseed-bios.cfg
preseed-uefi.cfg

Dengan demikian, menu BIOS memanggil Preseed BIOS, sedangkan menu GRUB UEFI memanggil Preseed UEFI.

5. Membuat Konfigurasi Preseed

Bagian ini merupakan inti dari proyek.

5.1 Konfigurasi bahasa dan keyboard

Contoh:

d-i debian-installer/locale string en_US.UTF-8
d-i keyboard-configuration/xkb-keymap select us
d-i time/zone string Asia/Makassar
d-i clock-setup/utc boolean true

Konfigurasi ini menentukan locale, layout keyboard, dan zona waktu.

Pemilihan zona waktu harus disesuaikan dengan lokasi penggunaan server.

5.2 Konfigurasi akun pengguna

Dalam proyek praktikum, kita menggunakan akun:

Username : tkj
Password : admintkj

Contoh konfigurasi akun sebaiknya menggunakan password hash yang dihasilkan dengan metode yang sesuai, bukan menyimpan password dalam bentuk plaintext pada file Preseed.

Jika akun dibuat melalui mekanisme Debconf, pastikan nama pengguna, grup tambahan, dan kebijakan password sesuai kebutuhan laboratorium.

Penting: password praktikum yang sederhana hanya boleh digunakan pada lingkungan terisolasi. ISO dapat dibagikan dan dibaca orang lain, sehingga password yang tertanam di dalamnya tidak boleh dianggap sebagai rahasia.

5.3 Konfigurasi hostname

d-i netcfg/get_hostname string debian-server-praktikum
d-i netcfg/get_domain string local

Hostname digunakan sebagai identitas komputer di jaringan.

Dalam lingkungan laboratorium dengan banyak komputer, hostname sebaiknya dibuat unik. Misalnya:

tkj-server-01
tkj-server-02
tkj-server-03

Hostname yang sama pada banyak komputer dapat membingungkan administrasi jaringan dan pencatatan log.

5.4 Konfigurasi jaringan DHCP

Kita menginginkan dua kondisi:

  1. Jika kabel Ethernet terhubung dan tersedia DHCP Server, installer dapat memperoleh konfigurasi jaringan otomatis.
  2. Jika tidak tersedia DHCP, instalasi tetap dapat dilanjutkan secara offline menggunakan media DVD.

Contoh parameter yang perlu dievaluasi pada konfigurasi Preseed:

d-i netcfg/enable boolean true
d-i netcfg/choose_interface select auto
d-i netcfg/link_wait_timeout string 3
d-i netcfg/dhcp_timeout string 12
d-i netcfg/get_hostname string debian-server-praktikum
d-i netcfg/get_domain string local

Nilai timeout harus disesuaikan dengan karakteristik jaringan.

Perlu diperhatikan bahwa pengaturan timeout dan penanganan kegagalan DHCP harus diuji pada versi Debian Installer yang digunakan. Jangan menganggap satu parameter saja menjamin seluruh kondisi offline akan tertangani.

5.5 Konfigurasi partisi otomatis

Pada instalasi server, partisi dapat disiapkan secara otomatis menggunakan partman.

Target desain proyek:

  • Menggunakan disk internal yang memenuhi kriteria.
  • Menggunakan GPT.
  • Membuat partisi EFI pada UEFI.
  • Membuat BIOS Boot Partition pada Legacy BIOS jika menggunakan GPT.
  • Membuat root filesystem ext4.
  • Membuat swap berdasarkan kebutuhan sistem.

Contoh konseptual recipe BIOS:

partman-auto/expert_recipe string \
  tkj-bios :: \
  1 1 1 free \
    $iflabel{ gpt } \
    $reusemethod{ } \
    method{ biosgrub } \
    . \
  5120 10000 -1 ext4 \
    method{ format } \
    format{ } \
    use_filesystem{ } \
    filesystem{ ext4 } \
    mountpoint{ / } \
    . \
  64 512 100% linux-swap \
    method{ swap } \
    format{ } \
    .

Recipe tersebut merupakan contoh konsep, bukan konfigurasi universal yang dapat langsung diterapkan pada semua perangkat.

Untuk UEFI, diperlukan EFI System Partition dengan filesystem FAT32 dan mount point /boot/efi.

Perlu dilakukan validasi terhadap sintaks recipe, ukuran partisi, label disk, dan kemampuan firmware.

Peringatan penting: partisi otomatis

Partisi otomatis dapat menghapus seluruh data pada disk target.

Dalam proyek ini terdapat rancangan pemilihan disk internal terbesar. Mekanisme tersebut harus diperiksa dengan teliti karena pemilihan disk terbesar tidak selalu berarti disk yang benar.

Sebelum instalasi otomatis:

  • Identifikasi disk target.
  • Pastikan disk bukan media USB installer.
  • Pastikan disk bukan perangkat penyimpanan eksternal.
  • Pastikan tidak ada data penting yang perlu dipertahankan.
  • Uji pada virtual disk kosong terlebih dahulu.

Jangan menggunakan konfigurasi partisi otomatis pada komputer produksi sebelum prosedur pemilihan disk tervalidasi.

5.6 Instalasi paket dan layanan SSH

Untuk server tanpa desktop, kita memilih paket dasar dan SSH Server.

Contoh:

tasksel tasksel/first multiselect standard, ssh-server
d-i pkgsel/upgrade select none

Paket tambahan dapat ditentukan melalui:

d-i pkgsel/include string sudo

Daftar paket harus disesuaikan dengan kebutuhan dan ketersediaan paket pada media instalasi.

Jika instalasi harus berjalan tanpa internet, pastikan paket yang dibutuhkan tersedia pada DVD-1 atau media lokal yang digunakan.

5.7 Menonaktifkan kebutuhan mirror internet

Contoh:

d-i apt-setup/use_mirror boolean false

Konfigurasi ini digunakan untuk tidak mengandalkan mirror jaringan.

Namun, pengaturan mirror bukan berarti seluruh proses instalasi otomatis menggunakan DVD-1. Sumber paket CD/DVD harus tetap dikenali dan diuji. Pastikan entri media instalasi tidak dinonaktifkan secara tidak sengaja.

6. Membuat Menu Instalasi Manual dan Otomatis

Kita mempertahankan dua pilihan menu.

Menu pertama: INSTALL GRAPHIC

Pilihan ini digunakan untuk instalasi grafis secara manual.

Pengguna tetap dapat menentukan partisi, hostname, akun, dan konfigurasi lain melalui installer.

Menu kedua: AUTOINSTALLER DEBIAN REMASTER BY WALIDUMAR

Pilihan ini menjalankan instalasi otomatis menggunakan Preseed.

Contoh parameter kernel untuk BIOS:

auto=true priority=critical preseed/file=/cdrom/preseed-bios.cfg

Contoh parameter kernel untuk UEFI:

auto=true priority=critical preseed/file=/cdrom/preseed-uefi.cfg

Kedua menu harus menggunakan kernel dan initrd yang sesuai dengan struktur ISO.

Jangan mengubah nama atau lokasi kernel dan initrd tanpa memeriksa file aktual dalam ISO.

Menjaga tema yang sudah dibuat

Pada proyek ini, tema visual menggunakan identitas maroon, hitam, dan emas.

Komponen yang dipertahankan meliputi:

  • Background installer.
  • Warna teks.
  • Warna menu aktif.
  • Posisi menu.
  • Identitas Debian TKJ Praktikum Edition.
  • Dua pilihan instalasi.

Prinsip penting dalam remastering adalah melakukan perubahan sekecil mungkin. Jika masalah hanya berada pada Preseed, jangan mengganti seluruh konfigurasi bootloader.

7. Membuat Banner Sebelum Login

Salah satu fitur identitas sistem adalah banner sebelum pengguna melakukan login.

Debian menyediakan file:

/etc/issue

File ini ditampilkan oleh terminal login lokal, misalnya pada tty1.

Contoh tampilan:

================================================================
              DEBIAN 13 TKJ PRAKTIKUM EDITION
                       WALID UMAR
================================================================
 Sistem Praktikum Administrasi Server dan Jaringan
 Gunakan sistem ini secara bertanggung jawab.
================================================================

Hostname : debian-server-praktikum
Kernel   : 6.12.57+deb13-amd64
Terminal : tty1

KREDENSIAL LOGIN PRAKTIKUM
Username : tkj
Password : admintkj

PENTING  : Segera ganti password setelah login pertama!

debian-server-praktikum login:

Mengapa menggunakan /etc/issue?

Karena file ini dibaca oleh program login lokal sebelum pengguna memasukkan username dan password.

Beberapa escape sequence seperti \n, \r, dan \l dapat digunakan untuk menampilkan informasi hostname, kernel, dan terminal sesuai dukungan program login.

Menambahkan kredensial ke /etc/issue

Dalam proyek ini, informasi kredensial ditulis melalui perintah tambahan pada late_command.

Contoh konsep:

printf '%s\n' \
'KREDENSIAL LOGIN PRAKTIKUM' \
'Username : tkj' \
'Password : admintkj' \
'PENTING  : Segera ganti password setelah login pertama!' \
'' >> /target/etc/issue

Perintah tersebut menambahkan informasi ke file /etc/issue pada sistem target ketika instalasi berlangsung.

Penting untuk memahami perbedaan path:

  • /target/etc/issue adalah file pada sistem yang sedang diinstal.
  • /etc/issue pada lingkungan installer adalah file milik sistem installer.

Catatan keamanan

Menampilkan password di layar sebelum login berarti setiap orang yang memiliki akses fisik ke komputer dapat melihat password tersebut.

Gunakan hanya pada laboratorium praktikum. Untuk sistem produksi, jangan pernah menampilkan password pada /etc/issue.

8. Membuat Banner SSH Sebelum Login

Untuk koneksi SSH, kita menggunakan:

/etc/issue.net

File ini berisi pesan yang ditampilkan sebelum autentikasi SSH jika konfigurasi SSH Server mengaktifkan banner.

Contoh isi:

================================================================
              DEBIAN 13 TKJ PRAKTIKUM EDITION
                       WALID UMAR
================================================================
 Sistem Praktikum Administrasi Server dan Jaringan
 Gunakan sistem ini secara bertanggung jawab.
================================================================

Konfigurasi SSH:

Banner /etc/issue.net

File konfigurasi dapat diletakkan pada:

/etc/ssh/sshd_config.d/99-tkj-banner.conf

Setelah konfigurasi dibuat, periksa sintaks SSH:

sudo sshd -t

Jika tidak ada kesalahan, muat ulang layanan:

sudo systemctl reload ssh

Pastikan direktori konfigurasi tambahan memang disertakan melalui direktif Include pada konfigurasi utama SSH Server.

Jangan menampilkan password akun pada banner SSH. Banner SSH dapat dilihat oleh siapa pun yang mencoba terhubung ke server.

9. Membuat Dynamic MOTD Setelah Login

Selain banner sebelum login, kita membuat informasi sistem yang ditampilkan setelah autentikasi berhasil.

Pada Debian, salah satu pendekatan yang digunakan adalah skrip di:

/etc/profile.d/

Dalam proyek ini nama file yang digunakan:

/etc/profile.d/99-tkj-praktikum.sh

Skrip tersebut menampilkan informasi sistem secara dinamis.

Informasi yang ditampilkan

  1. Hostname.
  2. Versi sistem operasi.
  3. Kernel.
  4. Uptime.
  5. Load average.
  6. Model CPU.
  7. Jumlah core atau vCPU.
  8. Penggunaan RAM.
  9. Penggunaan swap.
  10. Daftar disk fisik.
  11. Penggunaan filesystem.
  12. IPv4 setiap interface.
  13. MAC address.
  14. Default gateway.
  15. DNS server.
  16. Jenis virtualisasi.
  17. Username yang sedang login.
  18. Tanggal dan waktu sistem.

Contoh perintah pengambilan informasi

Hostname:

hostname

Versi sistem operasi:

cat /etc/os-release

Kernel:

uname -r

Uptime:

uptime

CPU:

lscpu

RAM:

free -h

Disk:

lsblk

Filesystem:

df -hT

Alamat IP:

ip -br addr

Default gateway:

ip route

DNS:

cat /etc/resolv.conf

Layanan gagal:

systemctl --failed

Dengan menggabungkan perintah-perintah tersebut ke dalam skrip shell, administrator dapat memperoleh ringkasan kondisi server setiap kali login.

Apakah /etc/profile.d selalu menjadi MOTD SSH?

Tidak selalu.

Skrip di /etc/profile.d/ dijalankan oleh shell login yang membaca /etc/profile. Sementara itu, tampilan MOTD SSH juga dipengaruhi konfigurasi PAM dan OpenSSH.

Jika ingin menampilkan informasi yang konsisten pada console dan SSH, pastikan mekanisme login yang digunakan memang memanggil skrip tersebut. Untuk implementasi yang lebih terstruktur, Debian juga dapat menggunakan mekanisme PAM MOTD dan konfigurasi dynamic MOTD.

10. Menggunakan late_command untuk Konfigurasi Tambahan

late_command adalah salah satu fitur penting Preseed.

Perintah ini dijalankan pada tahap akhir instalasi Debian Installer, ketika sistem target sudah tersedia di /target.

Contoh:

d-i preseed/late_command string \
    mkdir -p /target/etc/profile.d; \
    cp /cdrom/tkj-banner.sh /target/etc/profile.d/99-tkj-praktikum.sh; \
    chmod 0755 /target/etc/profile.d/99-tkj-praktikum.sh

Contoh tersebut menggambarkan proses menyalin skrip banner dari media instalasi ke sistem target.

Dalam implementasi proyek, late_command juga digunakan untuk:

  • Membuat direktori konfigurasi.
  • Menulis /etc/issue.
  • Menulis /etc/issue.net.
  • Membuat konfigurasi SSH banner.
  • Menambahkan konfigurasi DHCP.
  • Mengaktifkan SSH Server.
  • Menulis log proses konfigurasi.

Mengapa menggunakan /target?

Saat installer berjalan, sistem target belum menjadi root filesystem aktif. Debian Installer menggunakan /target sebagai lokasi sistem yang sedang dipasang.

Karena itu, perintah yang ditujukan untuk sistem hasil instalasi harus mengacu pada /target atau menggunakan mekanisme in-target.

Kesalahan membedakan /etc dan /target/etc dapat menyebabkan konfigurasi masuk ke lingkungan installer, bukan ke sistem yang akan digunakan setelah reboot.

Best practice late_command

  • Gunakan path absolut.
  • Periksa keberadaan file sebelum menyalinnya.
  • Simpan log proses.
  • Gunakan && untuk operasi yang saling bergantung.
  • Jangan mengabaikan seluruh kegagalan dengan set +e tanpa pencatatan.
  • Periksa hasil konfigurasi pada sistem target sebelum instalasi dinyatakan berhasil.

11. Konfigurasi DHCP untuk Sistem Setelah Instalasi

Selain jaringan pada tahap installer, sistem yang telah terpasang juga harus dapat memperoleh alamat IP secara otomatis.

Dalam proyek ini, kita menambahkan konfigurasi DHCP untuk interface Ethernet melalui /etc/network/interfaces.d/.

Contoh:

allow-hotplug enp0s3
iface enp0s3 inet dhcp

Nama interface pada contoh tersebut hanya ilustrasi. Nama aktual dapat berupa ens33, enp0s3, atau nama lain sesuai perangkat.

Untuk mengetahui nama interface:

ip link

Untuk menguji alamat IP:

ip addr

Untuk melihat default gateway:

ip route

Pastikan konfigurasi /etc/network/interfaces memang mengizinkan penggunaan direktori interfaces.d melalui baris source atau source-directory.

Hindari mengelola interface yang sama secara bersamaan oleh beberapa network manager karena dapat menimbulkan konflik.

12. Melakukan Remaster ISO Menggunakan Xorriso

Setelah seluruh konfigurasi selesai, kita menggabungkan perubahan ke dalam ISO baru.

Xorriso merupakan perangkat lunak untuk membaca, membuat, dan memodifikasi image ISO 9660 serta menangani struktur boot yang dikenali.

Pada proyek ini, kita menggunakan Xorriso versi Windows.

Menyiapkan path proyek

Contoh variabel PowerShell:

$Root = "D:\DEBIAN-TKJ-PRAKTIKUM"
$Xorriso = "$Root\TOOLS\xorriso.exe"

$SourceISO = "$Root\ISO\debian-13.2.0-amd64-DVD-1.iso"

$NewISO = "$Root\OUTPUT\Debian-13-TKJ-Praktikum-FIX.iso"

Mengapa menggunakan /cygdrive/d?

Xorriso Windows build yang digunakan pada proyek ini mengenali path drive D melalui format:

/cygdrive/d/

Contoh:

/cygdrive/d/DEBIAN-TKJ-PRAKTIKUM

Memasukkan file konfigurasi

Perintah inti remaster:

$Commands = @(
    "-indev",
    "/cygdrive/d/DEBIAN-TKJ-PRAKTIKUM/ISO/debian-13.2.0-amd64-DVD-1.iso",

    "-outdev",
    "/cygdrive/d/DEBIAN-TKJ-PRAKTIKUM/OUTPUT/Debian-13-TKJ-Praktikum-FIX.iso",

    "-cdx",
    "/cygdrive/d/DEBIAN-TKJ-PRAKTIKUM",

    "-map", "CONFIG/preseed-bios.cfg", "/preseed-bios.cfg",
    "-map", "CONFIG/preseed-uefi.cfg", "/preseed-uefi.cfg",
    "-map", "WORK/tkj-banner.sh", "/tkj-banner.sh",

    "-boot_image", "any", "replay",
    "-commit"
)

& $Xorriso @Commands

Perintah tersebut merupakan pola remaster untuk mengganti tiga file pada root ISO.

Sesuaikan lokasi ISO sumber dengan file yang benar-benar tersedia pada komputer.

Mengapa menggunakan -boot_image any replay?

Karena kita ingin mempertahankan informasi boot yang dikenali dari ISO sumber.

Opsi replay meminta Xorriso menyusun kembali konfigurasi boot berdasarkan informasi boot yang ditemukan pada image sumber. Perintah ini harus diletakkan setelah perubahan file selesai dan seluruh file boot yang dibutuhkan tetap tersedia.

Dokumentasi Xorriso menjelaskan bahwa replay akan menggunakan informasi boot yang dikenali dari image sumber. Karena itu, perubahan pada file boot harus dilakukan secara hati-hati.

Hindari menimpa output yang sudah ada

Xorriso dapat menolak operasi jika output yang digunakan sudah berisi data dan berbeda dari input.

Gunakan nama output baru untuk setiap percobaan:

Debian-13-TKJ-Praktikum-FIX-01.iso
Debian-13-TKJ-Praktikum-FIX-02.iso
Debian-13-TKJ-Praktikum-FIX-03.iso

Jangan menganggap file ISO berhasil dibuat hanya karena file output muncul di folder. Periksa ukuran, struktur, dan status boot-nya.

13. Validasi Hasil Remaster

Validasi adalah tahap yang tidak boleh dilewati.

Memeriksa keberadaan file

Gunakan:

& $Xorriso `
    -indev "/cygdrive/d/DEBIAN-TKJ-PRAKTIKUM/OUTPUT/Debian-13-TKJ-Praktikum-FIX.iso" `
    -find / -name "preseed-bios.cfg" -exec echo -- `
    -find / -name "preseed-uefi.cfg" -exec echo -- `
    -find / -name "tkj-banner.sh" -exec echo

Periksa apakah ketiga file ditemukan pada root ISO.

Memeriksa boot BIOS dan UEFI

& $Xorriso `
    -indev "/cygdrive/d/DEBIAN-TKJ-PRAKTIKUM/OUTPUT/Debian-13-TKJ-Praktikum-FIX.iso" `
    -report_el_torito plain

Periksa informasi boot BIOS dan UEFI yang dilaporkan.

Memeriksa ukuran ISO

Get-Item "$Root\OUTPUT\Debian-13-TKJ-Praktikum-FIX.iso" |
    Select-Object Name, Length, LastWriteTime

Ukuran harus masuk akal jika dibandingkan dengan ISO sumber. ISO yang hanya berukuran beberapa ratus kilobyte bukan hasil remaster Debian DVD yang valid.

Membandingkan checksum

Untuk memeriksa integritas file:

Get-FileHash "$Root\CONFIG\preseed-bios.cfg" -Algorithm SHA256
Get-FileHash "$Root\CONFIG\preseed-uefi.cfg" -Algorithm SHA256
Get-FileHash "$Root\WORK\tkj-banner.sh" -Algorithm SHA256

Untuk validasi yang lebih kuat, ekstrak file dari ISO hasil remaster lalu bandingkan hash file hasil ekstraksi dengan file sumber.

14. Pengujian Instalasi Menggunakan VMware

Setelah ISO lolos validasi, lakukan pengujian menggunakan VMware Workstation atau VirtualBox.

Jangan langsung menguji pada komputer fisik yang berisi data penting.

Pengujian Legacy BIOS

  1. Buat virtual machine baru.
  2. Pilih firmware BIOS.
  3. Gunakan ISO hasil remaster.
  4. Pastikan dua pilihan menu muncul.
  5. Pilih INSTALL GRAPHIC.
  6. Uji instalasi manual.
  7. Ulangi dengan AUTOINSTALLER DEBIAN REMASTER BY WALIDUMAR.
  8. Periksa partisi dan hasil instalasi otomatis.
  9. Periksa banner sebelum login.
  10. Login dan periksa Dynamic MOTD.

Pengujian UEFI

Ulangi proses yang sama, tetapi pilih firmware UEFI.

Pastikan partisi EFI dibuat dengan benar dan sistem dapat melakukan boot setelah instalasi selesai.

Pengujian jaringan

Lakukan dua skenario:

Skenario pertama: Ethernet terhubung

  • Pastikan virtual network adapter terhubung.
  • Sediakan DHCP Server.
  • Periksa apakah installer mendapatkan alamat IP.
  • Setelah instalasi, periksa alamat IP sistem.

Skenario kedua: Ethernet tidak terhubung

  • Lepaskan koneksi virtual network adapter.
  • Jalankan instalasi otomatis.
  • Pastikan installer tidak berhenti hanya karena tidak memperoleh DHCP.
  • Pastikan paket yang diperlukan tersedia pada media instalasi.

Pengujian ini penting karena tujuan proyek adalah menghasilkan media instalasi yang tetap dapat digunakan di laboratorium dengan koneksi internet terbatas.

15. Kesalahan yang Sering Terjadi

Preseed tidak terbaca

Penyebab:

  • Nama file tidak sesuai.
  • Path salah.
  • Parameter preseed/file tidak dicantumkan.
  • File tidak berada pada lokasi yang dapat diakses installer.

Solusi:

Periksa parameter kernel dan keberadaan file pada root ISO.

Instalasi masih meminta input manual

Penyebab:

  • Ada pertanyaan Debconf yang belum dipreseed.
  • Nama owner atau key salah.
  • Nilai jawaban tidak sesuai pilihan yang disediakan installer.
  • File Preseed tidak dibaca pada waktu yang tepat.

Solusi:

Periksa log installer dan cocokkan konfigurasi dengan template Debconf versi installer yang digunakan.

Banner sebelum login tidak menampilkan kredensial

Penyebab:

  • Perintah penulisan /etc/issue tidak memasukkan baris kredensial.
  • late_command gagal.
  • File ditulis ke /etc/issue lingkungan installer, bukan /target/etc/issue.

Solusi:

Pastikan perintah menulis ke /target/etc/issue, kemudian periksa file tersebut setelah instalasi selesai.

Banner setelah login tidak muncul

Penyebab:

  • Skrip tidak tersalin.
  • Permission tidak executable.
  • Shell login tidak membaca /etc/profile.
  • Skrip memiliki kesalahan sintaks.

Solusi:

ls -l /etc/profile.d/99-tkj-praktikum.sh
sh -n /etc/profile.d/99-tkj-praktikum.sh

ISO hasil remaster terlalu kecil

Penyebab:

  • ISO sumber tidak ditemukan.
  • Xorriso hanya membuat image baru kosong.
  • Proses remaster gagal tetapi file output telanjur dibuat.

Solusi:

Periksa ukuran ISO sumber, exit code Xorriso, dan log remaster. Jangan menggunakan ISO yang ukurannya tidak wajar.

Xorriso menolak menulis output

Penyebab:

  • File output sudah ada dan berisi data.
  • Input dan output berbeda.
  • Output lama belum diamankan atau dibersihkan.

Solusi:

Gunakan nama output baru. Jangan menghapus ISO lama sebelum memeriksa ukuran dan memastikan file tersebut bukan hasil remaster yang valid.

Jaringan tidak berjalan setelah instalasi

Penyebab:

  • Nama interface salah.
  • Konfigurasi DHCP tidak terbaca.
  • Konflik antara ifupdown dan network manager.
  • DHCP Server tidak tersedia.

Solusi:

ip link
ip addr
ip route
systemctl status networking

Periksa konfigurasi jaringan sesuai mekanisme yang digunakan sistem.

16. Tips Profesional dan Best Practice

Untuk menghasilkan ISO custom yang dapat digunakan dalam jangka panjang, perhatikan beberapa praktik berikut.

Simpan ISO sumber

Jangan pernah mengedit atau mengganti satu-satunya salinan ISO asli. Simpan sumber secara terpisah dan gunakan output baru untuk setiap remaster.

Pisahkan konfigurasi BIOS dan UEFI

Walaupun banyak pengaturan dapat digunakan bersama, konfigurasi partisi dan boot harus divalidasi sesuai mode firmware.

Dokumentasikan setiap perubahan

Catat:

  • Versi Debian.
  • Nama ISO sumber.
  • Versi Xorriso.
  • Perubahan file.
  • Tanggal remaster.
  • Ukuran output.
  • Checksum.
  • Hasil pengujian BIOS dan UEFI.

Gunakan password yang aman

Jangan menanamkan password produksi dalam file Preseed atau banner. Untuk lingkungan praktikum, gunakan password sementara dan wajibkan perubahan setelah login pertama.

Jangan menampilkan password pada SSH banner

Password yang ditampilkan pada /etc/issue hanya boleh dipertimbangkan untuk terminal praktikum yang terkontrol. Banner SSH sebaiknya berisi informasi identitas dan kebijakan penggunaan, bukan kredensial.

Uji pada virtual machine

Setiap perubahan Preseed harus diuji pada virtual disk kosong sebelum digunakan pada perangkat fisik.

Pertahankan perubahan seminimal mungkin

Jika masalah hanya terdapat pada Preseed, jangan mengganti seluruh file GRUB, ISOLINUX, background, atau initrd.

Prinsip minimal-change mengurangi risiko kerusakan konfigurasi yang sebelumnya sudah berfungsi.

17. Mengembangkan Debian TKJ Praktikum Edition ke Versi Berikutnya

Proyek ini dapat dikembangkan lebih jauh.

Contoh pengembangan:

  • Debian 13.7 atau point release Debian 13 berikutnya.
  • Integrasi utilitas administrasi jaringan.
  • Monitoring server menggunakan Netdata atau Prometheus Node Exporter.
  • Konfigurasi firewall dasar.
  • SSH hardening.
  • Instalasi layanan DNS, DHCP, Web Server, Database, dan File Server.
  • Integrasi virtual lab untuk pembelajaran TKJ.
  • Provisioning server secara otomatis.
  • Dokumentasi dan modul praktikum berbasis proyek.

Setiap penambahan paket harus memperhatikan kapasitas media, dependensi, keamanan, dan kompatibilitas Debian.

Jika ingin memindahkan proyek dari satu point release Debian 13 ke point release lain, lakukan audit ulang terhadap struktur ISO, kernel, initrd, installer, dan konfigurasi boot. Jangan berasumsi semua file identik.

Kesimpulan

Debian Preseed merupakan solusi yang efektif untuk mengotomatisasi instalasi Debian Server.

Dengan menggabungkan Preseed, konfigurasi BIOS dan UEFI, Xorriso, banner login, Dynamic MOTD, SSH Server, dan DHCP, kita dapat membangun media instalasi Debian yang disesuaikan dengan kebutuhan laboratorium.

Proyek Debian 13 TKJ Praktikum Edition menunjukkan bahwa administrator tidak hanya dapat memasang sistem operasi, tetapi juga dapat merancang media instalasi yang memiliki identitas, konfigurasi, dan prosedur deployment sendiri.

Hal terpenting bukan hanya menghasilkan ISO yang dapat boot, tetapi memastikan seluruh proses instalasi berjalan benar, aman, konsisten, dan dapat diuji ulang.

Pendekatan ini sangat relevan untuk pembelajaran Linux Server Administration, Network Administration, dan System Deployment di SMK.

Dengan memahami Preseed dan remastering ISO, siswa dapat mempelajari proses deployment sistem operasi secara lebih profesional, bukan sekadar melakukan instalasi manual berulang kali.

Referensi

  1. Debian Installation Guide – Using Preseeding: https://www.debian.org/releases/trixie/amd64/apbs02.en.html
  2. Debian Wiki – DebianInstaller/Preseed: https://wiki.debian.org/DebianInstaller/Preseed
  3. Debian Installer Internals: https://d-i.debian.org/doc/internals/
  4. Xorriso Manual: https://www.gnu.org/software/xorriso/man_1_xorriso.html
  5. Debian Manpages – Xorriso: https://manpages.debian.org/trixie/xorriso/xorriso.1.en.html

Frequently Asked Questions (FAQ)

1. Apa itu Preseed pada Debian?

Preseed adalah mekanisme konfigurasi otomatis Debian Installer yang memungkinkan administrator menyiapkan jawaban instalasi melalui file konfigurasi sehingga proses instalasi dapat berjalan dengan sedikit atau tanpa interaksi manual.

2. Apakah Preseed bisa digunakan untuk instalasi Debian tanpa internet?

Bisa. Preseed dapat digunakan bersama media instalasi lokal seperti DVD-1. Namun, paket yang dibutuhkan harus tersedia pada media tersebut atau sumber paket lokal lainnya.

3. Apakah satu file Preseed dapat digunakan untuk BIOS dan UEFI?

Bisa untuk banyak pengaturan umum, tetapi konfigurasi partisi dan bootloader dapat berbeda. Dalam proyek ini digunakan dua file terpisah, yaitu preseed-bios.cfg dan preseed-uefi.cfg.

4. Apa fungsi late_command pada Preseed?

late_command menjalankan perintah tambahan pada tahap akhir instalasi. Contohnya menyalin skrip banner, membuat konfigurasi SSH, mengatur jaringan, dan menulis informasi ke sistem target.

5. Apa perbedaan /etc/issue dan /etc/motd?

/etc/issue ditampilkan sebelum login pada terminal lokal. /etc/motd berisi pesan setelah login. Mekanisme MOTD SSH juga dapat dipengaruhi konfigurasi PAM dan OpenSSH.

6. Bagaimana cara menampilkan informasi CPU dan RAM setelah login?

Gunakan skrip shell yang mengambil informasi dari perintah seperti lscpu, free -h, uptime, lsblk, df -h, dan ip addr. Skrip dapat dipasang melalui /etc/profile.d atau mekanisme MOTD yang sesuai.

7. Apa fungsi Xorriso dalam proyek ini?

Xorriso digunakan untuk membaca, memodifikasi, dan membangun kembali image ISO. Dalam proyek ini, Xorriso memasukkan file Preseed dan skrip banner ke dalam ISO serta mempertahankan informasi boot yang dikenali.

8. Apakah ISO custom tetap bisa boot menggunakan BIOS dan UEFI?

Bisa, selama struktur boot BIOS dan UEFI dari ISO sumber dipertahankan dengan benar. Hasilnya harus diperiksa menggunakan laporan El Torito dan diuji pada virtual machine dengan kedua mode firmware.

9. Apakah partisi hard disk dapat dibuat otomatis menggunakan Preseed?

Bisa. Debian Installer menyediakan konfigurasi partman untuk mengatur disk, tabel partisi, filesystem, mount point, dan swap. Konfigurasi tersebut harus diuji karena partisi otomatis dapat menghapus data pada disk target.

10. Apakah password bisa ditampilkan sebelum login?

Secara teknis bisa dengan menuliskan informasi tersebut ke /etc/issue. Namun, cara ini hanya sesuai untuk lingkungan praktikum karena password akan terlihat oleh siapa pun yang memiliki akses ke layar komputer.

11. Mengapa banner setelah login tidak selalu muncul melalui SSH?

Karena /etc/profile.d dijalankan oleh shell login yang membaca /etc/profile, sedangkan tampilan MOTD SSH dipengaruhi konfigurasi PAM dan OpenSSH. Mekanisme keduanya harus diperiksa dan disesuaikan.

12. Apakah konfigurasi Debian 13.2 dapat digunakan pada Debian 13.7?

Sebagian besar konsep dapat digunakan kembali. Namun, struktur ISO, kernel, initrd, installer, dan konfigurasi boot harus diaudit ulang. Lakukan pengujian BIOS dan UEFI sebelum mendistribusikan ISO baru.

Download ISO – Debian TKJ Custome

Sudah pernah membuat ISO Linux custom atau mencoba instalasi otomatis menggunakan Preseed?

Bagikan pengalaman, kendala, atau konfigurasi yang pernah Anda gunakan pada kolom komentar.

Jika tutorial ini bermanfaat:

  • Bagikan kepada rekan guru dan siswa TKJ/TJKT.
  • Simpan sebagai referensi praktikum Linux Server.
  • Kunjungi artikel lainnya untuk mempelajari Debian, Linux Server, MikroTik, Cisco, Proxmox, Virtualisasi, dan Administrasi Jaringan.
  • Ikuti WALID UMAR untuk mendapatkan tutorial dan materi teknologi berikutnya.

Mari belajar, bereksperimen, dan membangun keterampilan System Administrator sejak dari laboratorium sekolah!

Dukung kami dengan Subscribe & Join Membership channel YouTube | Walid Umar

Akses video pembelajaran eksklusif, materi persiapan UKK (Uji Kompetensi Siswa) dan Penyelesaian Soal LKS ITNSA

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Dilindungi Oleh
Shield Security