Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
becki:linux:slack_initrd [2014-11-27 14:02] becki created |
becki:linux:slack_initrd [2018-01-16 12:44] (aktuell) becki |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== initrd == | + | ====== Use Generic Kernel with an Initrd == |
An initrd allows to use the smaller generic kernel instead of the huge kernel | An initrd allows to use the smaller generic kernel instead of the huge kernel | ||
- | [[slack>slackware/README.initrd]] | + | This page is about initrd with the lilo boot loader. For EFI systems refer to [[Slack Initrd EFI]] |
+ | |||
+ | Doc source: [[slack>slackware/README.initrd]] | ||
===== Local machine == | ===== Local machine == | ||
+ | |||
+ | It seems better to generally use mkinitrd_command_generator.sh to create an initrd. See below at KVM. The rest of this section is obsolete. | ||
On a locally available (with phsical access to keyboard and display) machine with ext4 on ''/'' the following should suffice: | On a locally available (with phsical access to keyboard and display) machine with ext4 on ''/'' the following should suffice: | ||
Zeile 25: | Zeile 29: | ||
===== KVM == | ===== KVM == | ||
- | According to [[https://www.linuxquestions.org/questions/slackware-14/slackware64-current-kvm-guest-boot-issue-871981/|linuxquestions]] the virtio kernel modules are necessary for KVM in the initrd.gz. A simple call like described in README.initrd, eg ''mkinitrd -c -k 3.10.17 -m ext4'' will **not** include the virtio modules (tested) => Use ''/usr/share/mkinitrd/mkinitrd_command_generator.sh'' | + | According to [[https://www.linuxquestions.org/questions/slackware-14/slackware64-current-kvm-guest-boot-issue-871981/|linuxquestions]] the virtio kernel modules are necessary for KVM in the initrd.gz. A simple call like described in README.initrd, eg ''mkinitrd -c -k 3.10.17 -m ext4'' will **not** include the virtio modules (tested) => Use ''/usr/share/mkinitrd/mkinitrd_command_generator.sh''. In http://docs.slackware.com/howtos:slackware_admin:systemupgrade mkinitrd_command_generator.sh is mentioned as well |
- | In http://docs.slackware.com/howtos:slackware_admin:systemupgrade mkinitrd_command_generator.sh is mentioned as well | + | Check if you made a copy of ''/boot'' and generate the command which generates an initrd: |
- | <code bash> | + | cd /boot # just to have everything togehter in /boot |
- | cp -a /boot /boot.bak | + | /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 4.4.14 > generated_mkinitrd_command-4.4.14 |
- | cd /boot | + | |
- | /usr/share/mkinitrd/mkinitrd_command_generator.sh > generated_mkinitrd_command | + | |
- | chmod +x generated_mkinitrd_command | + | |
- | ./generated_mkinitrd_command | + | |
- | chmod -x generated_mkinitrd_command | + | |
- | # Compare generic kernel version number in /boot with version number in lilo.conf! | + | |
- | lilo | + | |
- | reboot | + | |
- | </code> | + | |
- | ===== Attic == | + | Important: Append the kernel version number to the name of the initrd output file in ''generated_mkinitrd_command-4.4.14'' in order to not overwrite the existing initrd for the old proved kernel! |
+ | Now generate the initrd: | ||
+ | chmod +x generated_mkinitrd_command-4.4.14 | ||
+ | ./generated_mkinitrd_command-4.4.14 | ||
+ | |||
+ | Fix lilo.conf and reinstall lilo: | ||
+ | cd /etc | ||
+ | cp lilo.conf lilo.conf.bak | ||
+ | |||
+ | The output of | ||
+ | /usr/share/mkinitrd/mkinitrd_command_generator.sh -l /boot/vmlinuz-generic-4.4.14 | ||
+ | may be included in lilo.conf, to create a section for the new kernel (before the old kernel) | ||
+ | |||
+ | There is no need to update symlinks in ''/boot'' if you made sure, your lilo.conf point to the right kernel version. Finally run lilo: | ||
+ | lilo | ||
+ | |||
+ | ===== Attic == | ||
To use the [[slack>slackware-13.1/CHANGES_AND_HINTS.TXT|recommended]] generic instead of the huge kernel you have to build an initrd. This section is based on [[slack>slackware-13.1/README.initrd]] | To use the [[slack>slackware-13.1/CHANGES_AND_HINTS.TXT|recommended]] generic instead of the huge kernel you have to build an initrd. This section is based on [[slack>slackware-13.1/README.initrd]] |