Saat menambahkan perangkat keras baru ke sistem, atau setelah mengubah file konfigurasi yang mungkin digunakan sebelumnya dalam proses boot, atau saat mengubah opsi pada modul kernel, mungkin perlu membangun kembali ramdisk awal (juga dikenal sebagai initrd atau initramfs) untuk menyertakan modul kernel, file, dan arahan konfigurasi yang tepat. Pada contoh di bawah ini Anda akan melihat penggunaan $(uname -r), yang merupakan cara untuk meneruskan versi kernel saat ini ke dalam sebuah perintah tanpa benar-benar mengetiknya.
Prosedur
1. Anda disarankan untuk membuat salinan cadangan dari initrd jika versi baru mengalami masalah yang tidak terduga:
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# ll /boot/initramfs-$(uname -r).img* -rw-r--r--. 1 root root 16209434 Oct 11 14:43 /boot/initramfs-2.6.32-358.el6.x86_64.img -rw-r--r--. 1 root root 16209434 Apr 9 07:38 /boot/initramfs-2.6.32-358.el6.x86_64.img.bak
2. Sekarang bangun kembali initramf untuk versi kernel saat ini:
# dracut -f
3. Jika Anda berada dalam versi kernel yang berbeda dengan initrd yang sedang Anda buat (juga jika Anda berada dalam Mode Penyelamatan), Anda harus menentukan versi kernel lengkap, termasuk arsitektur:
# dracut -f /boot/initramfs-2.6.39-400.17.1.el6.x86_64.img 2.6.39-400.17.1.el6uek.x86_64
Opsi -f akan memaksa penimpaan gambar ramdisk awal yang ada di jalur yang telah Anda tentukan
Bekerja dengan Cadangan
Seperti disebutkan sebelumnya, Anda disarankan untuk membuat cadangan dari initrd sebelumnya jika terjadi kesalahan dengan yang baru. Jika diperlukan, dimungkinkan untuk membuat entri terpisah di /boot/grub/grub.conf untuk citra ramdisk awal cadangan, untuk memilih versi lama dengan mudah saat boot tanpa perlu memulihkan cadangan. Contoh konfigurasi ini memungkinkan pemilihan image ramdisk awal baru atau lama dari menu grub :
title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=LABEL=/ initrd /initramfs-2.6.32-358.el6.x86_64.img title Red Hat Enterprise Linux w/ old initrd (2.6.32-358.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=LABEL=/ initrd /initramfs-2.6.32-358.el6.x86_64.img.bak
Atau, Anda dapat masuk ke mode edit di grub jika Anda perlu memilih initrd lama dan tidak membuat entri terpisah di grub.conf sebelum me-reboot. Untuk melakukannya:
– Jika grub diamankan dengan kata sandi, tekan p dan masukkan kata sandi.
– Gunakan tombol panah untuk menyorot entri kernel yang ingin Anda boot.
– Tekan e untuk mengedit.
– Sorot baris initrd dan tekan e lagi.
– Ubah jalur untuk initrd ke salinan cadangan yang Anda buat (seperti /initramfs-2.6.32-358.el6.x86_64.img.bak)
– Tekan Enter untuk menyimpan sementara perubahan yang telah Anda buat
– Tekan b untuk boot