Kompilasi & Install Grub2 untuk USB Boot Mandiri
Jadi ceritanya kita pengin bikin USB bootable pakai Grub2, tapi tanpa ribet pakai installer otomatis. Kenapa? Karena installer bawaan Grub biasanya malah nyoba nge-boot OS tempat dia dijalankan, bukan fokus ke flashdisk kita. Jadi kalau dipaksa, hasilnya sering zonk.
Cara Kerja Singkat
Grub2 di mode BIOS basically pakai dua bagian utama:
- boot.img → ini kayak MBR (sector pertama flashdisk).
- core.img → duduk setelah MBR, isinya kernel Grub plus modul-modul penting.
Nah, modul ini bisa kamu masukin langsung ke core.img, atau tinggal load dari filesystem USB. Tapi biar simpel, kita pilih modul basic aja buat start.
Langkah Build di Linux
git clone git://git.savannah.gnu.org/grub.git cd grub ./autogen.sh ./configure --disable-nls make -j2
Setelah kompilasi, kamu bakal nemuin boot.img, kernel.img
dan sekumpulan modul .mod di folder grub-core/.
Bikin core.img
core.img ini dibentuk pakai grub-mkimage. Misalnya kita mau support FAT, NTFS, dan exFAT:
cd grub-core/ ../grub-mkimage -v -O i386-pc -d. -p\(hd0,msdos1\)/boot/grub \ biosdisk part_msdos fat ntfs exfat -o core.img
Ingat, pastikan ukuran core.img nggak lebih dari 32 KB - 512 byte, biar aman sama tool partisi jadul yang masih pakai boundary track.
Tulis ke USB
Bikin dulu satu partisi (FAT/FAT32/NTFS/exFAT) di USB, lalu copy boot.img & core.img pakai dd:
dd if=boot.img of=/dev/sdX bs=440 count=1 dd if=core.img of=/dev/sdX bs=512 seek=1
(Ganti /dev/sdX sesuai device USB kamu).
Tambahin Modul Wajib
Salin modul-modul berikut ke /boot/grub/i386-pc/ di USB:
- boot.mod
- bufio.mod
- crypto.mod
- extcmd.mod
- gettext.mod
- normal.mod
- terminal.mod
Test Config
Buat /boot/grub/grub.cfg di USB:
insmod echo
set timeout=5
menuentry "test" {
echo "hello world!"
}
Kalau semua oke, USB kamu bakal bisa boot dengan Grub2 dan jalanin config itu.
Catatan Akhir
Kalau ketemu error grub_isprint not found, itu tandanya versi modul sama kernel Grub beda.
Solusinya: pastikan semua modul & kernel berasal dari source yang sama waktu build.
Label: Boot, bootloader, Grub, linux, modules, Rufus, USB, Windows
<< Beranda