Kami ingin membuat ulang initramfs dan vmlinuz untuk Kernel Penyelamatan di sistem CentOS/RHEL 7 kami. Bagaimana ini bisa dilakukan dengan menggunakan kernel saat ini dari mana sistem di-boot?
Selama proses boot, ketika imej kernel dan imej initramfs dimuat, initramfs memulai proses pertama pada sistem, yaitu systemd dengan ID proses 1. Proses systemd ini selanjutnya mengambil alih kendali pada tahap akhir booting sistem dan melakukan operasi berikut:
- Membaca file konfigurasi dari /etc/systemd/ direktori
- Membaca file yang ditautkan oleh /etc/systemd/system/default.target
- Mengeksekusi /etc/rc.local berkas
Ikuti langkah-langkah di bawah ini untuk membuat ulang initramfs dan vmlinuz untuk Kernel Penyelamatan dari kernel saat ini.
1. Tinjau file yang ada untuk kernel penyelamat:
# cd /boot # ll | grep rescue -rw-------. 1 root root 72166662 Apr 6 21:37 initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img <<----Apr 6 -rwxr-xr-x. 1 root root 5925632 Apr 6 21:37 vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435 <<----Apr 6
2. Pindahkan file yang ada ke direktori lain (misalnya ‘/tmp’):
# mv initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img /tmp/initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img.bk # mv vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435 /tmp/vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435.bk
Verifikasi bahwa tidak ada file yang ada untuk kernel penyelamat di direktori /boot:
# ll | grep rescue #
3. Buat ulang initramfs &vmlinuz baru untuk kernel penyelamat dengan kernel saat ini.
# /etc/kernel/postinst.d/51-dracut-rescue-postinst.sh $(uname -r) /boot/vmlinuz-$(uname -r)
Verifikasi
Setelah perintah di atas selesai, dua file baru untuk kernel penyelamat akan ditampilkan seperti di bawah ini:
# ll | grep rescue -rw-------. 1 root root 72164785 May 4 00:18 initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img <<----May 4 -rwxr-xr-x. 1 root root 5925632 May 4 00:18 vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435 <<----May 4