Při přidávání nového hardwaru do systému nebo po změně konfiguračních souborů, které mohou být použity dříve v procesu zavádění, nebo při změně možností na modulu jádra může být nutné znovu sestavit původní ramdisk (také známý jako initrd nebo initramfs) zahrnout správné moduly jádra, soubory a konfigurační direktivy. V níže uvedených příkladech uvidíte použití $(uname -r), což je způsob, jak předat aktuální verzi jádra do příkazu, aniž byste ji museli vypisovat.
Postup
1. Doporučuje se vytvořit záložní kopii initrd pro případ, že by nová verze měla neočekávaný problém:
# 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. Nyní znovu sestavte initramfs pro aktuální verzi jádra:
# dracut -f
3. Pokud používáte verzi jádra odlišnou od initrd, kterou vytváříte (také pokud jste v záchranném režimu), musíte zadat plnou verzi jádra, včetně architektury:
# dracut -f /boot/initramfs-2.6.39-400.17.1.el6.x86_64.img 2.6.39-400.17.1.el6uek.x86_64
Volba -f vynutí přepsání jakéhokoli existujícího počátečního obrazu ramdisku na vámi zadané cestě
Práce se zálohami
Jak již bylo zmíněno dříve, doporučuje se vytvořit zálohu předchozího initrd pro případ, že by se něco pokazilo s novým. V případě potřeby je možné vytvořit samostatnou položku v /boot/grub/grub.conf pro počáteční bitovou kopii ramdisku zálohy, abyste mohli pohodlně vybrat starou verzi při spouštění bez nutnosti obnovovat zálohu. Tato ukázková konfigurace umožňuje výběr nového nebo starého počátečního obrazu ramdisku z nabídky 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
Alternativně můžete v grub vstoupit do edit-mode, pokud potřebujete vybrat starý initrd a neudělali jste samostatný záznam v grub.conf před restartem. Postup:
– Pokud je grub zabezpečen heslem, stiskněte p a zadejte heslo.
– Pomocí kláves se šipkami zvýrazněte položku jádra, které chcete zavést.
– Stisknutím e upravte.
– Zvýrazněte řádek initrd a znovu stiskněte e.
– Změňte cestu pro initrd k záložní kopii, kterou jste vytvořili (jako /initramfs-2.6.32-358.el6.x86_64.img.bak)
– Stisknutím klávesy Enter dočasně uložíte provedené změny
– Stisknutím b spustíte spuštění