Tutorial Debian 13 Preseed: Membuat ISO Custom dengan Instalasi Otomatis BIOS, UEFI, dan Banner Server
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.cfgpreseed-uefi.cfgpreseed-server.cfgpreseed-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:
- Komputer melakukan boot dari media instalasi Debian.
- Debian Installer memuat kernel dan initrd.
- Installer membaca parameter boot.
- File Preseed dimuat dari lokasi yang ditentukan.
- Jawaban konfigurasi diberikan kepada sistem Debconf.
- Installer menjalankan proses instalasi berdasarkan konfigurasi tersebut.
- Perintah tambahan dapat dijalankan melalui
preseed/early_commandataupreseed/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
| Software | Fungsi |
|---|---|
| Debian 13 DVD-1 AMD64 | ISO sumber |
| Xorriso | Membaca dan memodifikasi ISO |
| PowerShell | Mengelola file dan menjalankan perintah |
| VMware Workstation | Pengujian Legacy BIOS dan UEFI |
| Text editor | Mengedit 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:
- Jika kabel Ethernet terhubung dan tersedia DHCP Server, installer dapat memperoleh konfigurasi jaringan otomatis.
- 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/issueadalah file pada sistem yang sedang diinstal./etc/issuepada 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
- Hostname.
- Versi sistem operasi.
- Kernel.
- Uptime.
- Load average.
- Model CPU.
- Jumlah core atau vCPU.
- Penggunaan RAM.
- Penggunaan swap.
- Daftar disk fisik.
- Penggunaan filesystem.
- IPv4 setiap interface.
- MAC address.
- Default gateway.
- DNS server.
- Jenis virtualisasi.
- Username yang sedang login.
- 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 +etanpa 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
- Buat virtual machine baru.
- Pilih firmware BIOS.
- Gunakan ISO hasil remaster.
- Pastikan dua pilihan menu muncul.
- Pilih INSTALL GRAPHIC.
- Uji instalasi manual.
- Ulangi dengan AUTOINSTALLER DEBIAN REMASTER BY WALIDUMAR.
- Periksa partisi dan hasil instalasi otomatis.
- Periksa banner sebelum login.
- 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/filetidak 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/issuetidak memasukkan baris kredensial. late_commandgagal.- File ditulis ke
/etc/issuelingkungan 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
- Debian Installation Guide – Using Preseeding: https://www.debian.org/releases/trixie/amd64/apbs02.en.html
- Debian Wiki – DebianInstaller/Preseed: https://wiki.debian.org/DebianInstaller/Preseed
- Debian Installer Internals: https://d-i.debian.org/doc/internals/
- Xorriso Manual: https://www.gnu.org/software/xorriso/man_1_xorriso.html
- 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