Senin, 18 Januari 2016

Membuat Bootable USB Linux dengan Syslinux

Bootable USB tentu sangat berguna untuk anda yang suka mengoprek-oprek system. Terutama jika terjadi masalah atau sekedar persiapan untuk menghadapi troubleshot pada system anda atau komputer lain. Atau bahkan jika anda ingin membawa OS kesayangan anda tanpa perlu membawa komputer yang berat. Cukup dengan USB stick yang bisa anda masukkan dalam kantong dan meminjam atau menggunakan komputer yang telah tersedia, anda bisa menggunakan sistem anda sendiri. Bagaimana cara membuatnya?


Namun yang saya terangkan di sini tidak menggunakan YUMI, unetbootin, Rufus, atau aplikasi lainnya. Melainkan secara manual. Cara yang saya lakukan ini memang sedikit rumit namun metode yang digunakan sama dengan aplikasi yang saya sebutkan di atas. Secara jujur saya tidak suka menggunakan aplikasi yang saya sebutkan tadi dikarenakan boot menu yang digunakan adalah boot menu dari aplikasi tersebut. Jujur saya lebih senang dengan boot menu bawaan ketimbang boot menu yang dibuat oleh aplikasi tersebut. Dan tentu karena boot menu dibuat oleh aplikasi, maka ukuran data akan bertambah. Dan terkadang ada beberapa distro yang masih belum disupport sehingga tidak dapat berjalan dengan baik menggunakan aplikasi tersebut.

Jika dengan Linux Mint terdapat pilihan “Make bootable USB stick”, cara tersebut justru menurut saya menyia-nyiakan media penyimpanan yang lebih besar daripada file .iso tersebut. Dan jika dengan command dd, tidak semua distro dapat berjalan dengan cara tersebut.

Selain itu, Cara ini juga bisa menjadi pelajaran agar mengerti bagaimana bootable usb berjalan. Dan jika anda punya kemampuan scripting, anda bisa membuat dualboot usb stick.

Sebelum memulai, install syslinux kedalam system anda.
sudo apt-get install syslinux
sudo yum install syslinux

Sebagai contoh, saya menggunakan USB dengan kapasitas 16GB dan kita mendapatkan space penyimpanan 14GB lebih. Buat partisi seperti berikut dengan Gparted :
  1. 10GB partisi primary FAT32 boot flag dengan label SYSTEMFD (label pada partisi ini dapat diganti sesuai dengan selera anda)
  2. 2GB partisi logical ext4 dengan label casper-rw
  3. 2GB partisi logical ext4 dengan label home-rw

untuk apa 2 partisi logical tersebut? Partisi tersebut digunakan saat menjalankan system dengan mode persistent. Di mana setting yang anda buat tidak akan hilang saat menjalankan system kembali. Bukan hanya setting saja. Update, upgrade dan bahkan aplikasi yang anda install nantinya tetap tersimpan dan dapat anda jalankan kembali. Jika live distro anda tidak memiliki fasilitas mode persistent, partisi tersebut tidak perlu dibuat.

Kemudian siapkan file iso distro kesayangan anda. Di sini saya menggunakan grml96-full_2014.11.iso lalu copy seluruh isi file .iso tersebut kedalam partisi FAT32 anda. Linux Mint yang sayagunakan (Linux Mint 17.2) dapat me-mount file iso dengan cara klik kanan dan memilih mount archive. Jika OS anda tidak dapat melakukan itu, anda bisa me-mount dengan aplikasi kesayangan anda atau meng-extract file iso tersebut.

Setelah itu cari dimana file syslinux.cfg berada. Beberapa distro hanya memiliki isolinux.cfg, anda cukup me-rename file tersebut menjadi syslinux.cfg. Di sini saya temukan pada /boot/isolinux. Buka Terminal dan jalankan perintah berikut :
sudo syslinux -d /boot/directory/ /dev/sdXX

dimana :
-d : menginstall syslinux pada direktori yang dituju.
/boot/isolinux/ : direktori syslinux yang dituju.
/dev/sdXX : partisi yang akan diinstall syslinux.
Pada kasus saya, saya menjalankan perintah :
sudo syslinux -d /boot/isolinux/ /dev/sdc1

Langkah selanjutnya adalah menuliskan binary mbr kedalam USB stick. Syslinux telah menyediakannya di dalam folder /usr/lib/syslinux. Sehingga untuk memasukkannya kedalam USB stick gunakan perintah :
sudo dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr.bin of=/dev/sdX

pada kasus saya adalah /dev/sdc.

Nah, dan sekarang bootable USB stick sudah siap untuk digunakan!

Namun ternyata file vesamenu.c32 tidak dapat digunakan! Begitu juga dengan chain.c32, hdt.c32, mboot.c32, dan menu.c32 pada folder /boot/addons. Sehingga saya harus mengganti file tersebut dengan yang tersedia pada /usr/lib/syslinux.
cp /usr/lib/syslinux/vesamenu.c32 /media/user/SYSTEMFD/boot/isolinux
cp /usr/lib/syslinux/chain.c32 /media/user/SYSTEMFD/boot/addons
cp /usr/lib/syslinux/hdt.c32 /media/user/SYSTEMFD/boot/addons 
dan seterusnya…




Dan akhirnya live GRML dapat boot dengan baik >.<

Tidak ada komentar:

Posting Komentar