Initramfs init: Difference between revisions

From Alpine Linux
m (<code>)
(added debug_init single related to grub to troubleshoot)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{draft}}
[https://gitlab.alpinelinux.org/alpine/mkinitfs '''mkinitfs'''] is a tool to create initramfs images. Initramfs images are small images which contain a small filesystem with everything required to boot Alpine. For example, when booting a setup with [[Setting up encrypted volumes with LUKS|full disk encryption]], the initramfs contains the binaries required to prompt for a password and mount the encrypted disk.
[https://gitlab.alpinelinux.org/alpine/mkinitfs '''mkinitfs'''] is a tool to create initramfs images. Initramfs images are small images which contain a small filesystem with everything required to boot Alpine. For example, when booting a setup with [[Setting up encrypted volumes with LUKS|full disk encryption]], the initramfs contains the binaries required to prompt for a password and mount the encrypted disk.


Line 8: Line 6:
The script is located in {{path|/sbin/}} and is created with ash. It expects {{path|/lib/modules}} to be populated with the <code><kernelvers></code> listed. For variations on this command (e.g. for chroot) Search "mkinitfs".
The script is located in {{path|/sbin/}} and is created with ash. It expects {{path|/lib/modules}} to be populated with the <code><kernelvers></code> listed. For variations on this command (e.g. for chroot) Search "mkinitfs".


== initramfs init cmdline options (work in progress) ==
== initramfs init cmdline options ==


In addition to the [https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html kernel boot parameters] are a number of parameters that the init script understands. These are documented in the <code>mkinitfs-bootparam(7)</code> man page.
In addition to the [https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html kernel boot parameters] are a number of parameters that the init script understands. These are documented in the <code>mkinitfs-bootparam(7)</code> man page.
Depending on your HDD type and filesystem used, the file appears as follows:
{{cat|/etc/mkinitfs/mkinitfs.conf|features{{=}}"ata base ide scsi usb virtio ext4 nvme"}}


Although you may specify your own init script when building an initramfs, these parameters allow for extensive control over the initial startup of an Alpine Linux system.
Although you may specify your own init script when building an initramfs, these parameters allow for extensive control over the initial startup of an Alpine Linux system.


== Troubleshooting ==
To troubleshoot booting issues, when using [[Bootloaders#GRUB|grub]], replace <code>quiet</code> with <code>debug_init single</code> in the boot command line.
== See Also ==
* [https://wiki.postmarketos.org/wiki/The_initramfs PostmarketOS Wiki]
* [https://wiki.archlinux.org/title/Arch_boot_process#initramfs ArchWiki boot process]
[[category:Kernel]]
[[category:Kernel]]
[[Category:Booting]]

Latest revision as of 04:15, 16 December 2024

mkinitfs is a tool to create initramfs images. Initramfs images are small images which contain a small filesystem with everything required to boot Alpine. For example, when booting a setup with full disk encryption, the initramfs contains the binaries required to prompt for a password and mount the encrypted disk.

Usage

Under a running alpine machine, the following command can be used if for some reason the initramfs has not been created properly for a new kernel.

mkinitfs -c /etc/mkinitfs/mkinitfs.conf -b / <kernelvers>

The script is located in /sbin/ and is created with ash. It expects /lib/modules to be populated with the <kernelvers> listed. For variations on this command (e.g. for chroot) Search "mkinitfs".

initramfs init cmdline options

In addition to the kernel boot parameters are a number of parameters that the init script understands. These are documented in the mkinitfs-bootparam(7) man page.

Depending on your HDD type and filesystem used, the file appears as follows:

Contents of /etc/mkinitfs/mkinitfs.conf

features="ata base ide scsi usb virtio ext4 nvme"

Although you may specify your own init script when building an initramfs, these parameters allow for extensive control over the initial startup of an Alpine Linux system.

Troubleshooting

To troubleshoot booting issues, when using grub, replace quiet with debug_init single in the boot command line.

See Also