MKINITFS-BOOTPARAMS(7)
π MKINITFS-BOOTPARAMS π
okay bestie, so this is the alpine-bootparams page (section 7 of the manual, iykyk) β it's all about how you control the startup behavior using the kernel command line. buckle up π
β¨ DESCRIPTION β¨
so in early boot, the preferred way to hand configuration data to the running system is via kernel options. you put these in your bootloader config, and they get supplied to the kernel and early userspace in early boot. the mechanism and the options the kernel itself actually interprets? those are documented over in bootparam(7), not here. not me overlapping my own docs π
the options documented here are read by the initramfs-init script that's part of the initramfs β peek at mkinitfs(1) to learn how to customize it. slay.
the options themselves π
aoe=0.0,2.1,...β a comma separated list of ATA-over-Ethernet shelf.slot you need for boot. if you leave this empty,aoegets enabled anyway, but boot will not pause for device discovery. zero patience energy.aoe_iflist=eth0,...β this one is a mandatory parameter if you plan on using aoe at boot. it's a comma separated list of ethernet interfaces to use with the aoe module. no cap.aoe_mtu=1500β Maximum Transmission Unit (MTU) to use for aoe interfaces on networks that support jumbo packets. if you don't set it, the default (usually1500) is used.blacklist=MODULE{,MODULE}β this comma-separated list names kernel modules thatmodprobewill reject to load. blocked, blocked, you're blocked πchartβ enablesbootchartdfor measuring system startup speed. very measure-your-glow-up of you.cryptdiscardsβ enable the discard feature for encrypted Solid State Disks. β οΈ this might have security implications, so likeβ¦ be aware.cryptdm=NAMEβ after the block device has been decrypted, make it available as/dev/mapper/NAME.cryptheader=DEVICEβ when the LUKS headers and the encrypted data live on different devices, this option specifies the device that has the LUKS headers.cryptkey=KEYFILEβ read the key to decrypt the encrypted partition fromKEYFILE. it can be a device or a regular file. whenKEYFILEstarts withEXEC=, it specifies a command without arguments that gets executed and the stdout is used as the key. the key offset and size can be specified by appending:<offset>:<size>toKEYFILE.cryptoffset=SECTORSβ says the encrypted data begins the given number of sectors after the start of the block device.cryptroot=DEVICEβ attempt to decryptDEVICE. manifesting a successful decrypt for you π«Άdasdβ enable DASD devices on S/390x architectures.zfcpβ enable zFCP SCSI devices on S/390x architectures.debug_initβ print debug information during boot.init=PATHβ path to the init program to execute instead of/sbin/init.init_args=ARGUMENTSβ extra command line arguments for/sbin/init.ip=CLIENT-IP:SERVER-IP:GATEWAY-IP:NETMASK:HOSTNAME:DEVICE:AUTOCONF:DNS-IP:DNS-IP:NTP-IPβ specify the network configuration. the format is equivalent to the linux kernel option with the same name. per default, theSERVER-IP,HOSTNAMEandNTP-IPparameters are ignored by the initramfs. consult the kernel documentation onnfsrootfor more info about the fields of this parameter.modules=MODULE{,MODULE}β comma-separated list of kernel modules to load explicitly.nbd=HOST:PORT{,...}β comma-separated list of nbd servers. connects to each server runningnbd-serverto use its exported block device.overlaytmpfsβ when booting from a read-only filesystem, you can throw this flag to have your changes written to an in-memory temporary overlayfs. the underlying filesystem will always be mounted read-only, and the overlay is always writable. iconic behaviour honestly.overlaytmpfsflags=OPTIONSβ optional comma-separated list oftmpfs(5)mount options for whenoverlaytmpfsis used. the default ismode=0755,rw, and you cannot overriderw.panic=TIMEOUTβ disables the recovery/emergency shell when an error happens in initramfs, and triggers a kernel panic instead. dramatic much? πquietβ generate less output.resume=DEVICEβ partition to resume from. this can be either a swap partition or a partition containing a swap file. if it's a partition containing a swap file, you must also useresume_offset.resume_offset=OFFSETβ ifresumespecifies a partition containing a swap file to resume from, you must also specify the offset of that file from the beginning of the partition with this flag.root=(DEVICE | nfs:IP-ADDRESS:PATH)β device or NFS url for the root partition.rootflags=OPTIONSβ mount options for the device specified withroot=.rootfstype=FS_TYPEβ file system type for the device specified withroot=. allowed values are the same as the-toption formount(1).usrflags=OPTIONSβ mount options for/usr, if it's in a different filesystem than root. the special valuedisablecan be used to avoid/usrfrom being mounted from the initramfs. β οΈ only use it if you know what you're doing. like, actually know.s390x_net=qeth_l2,BUS-ID{,BUS-ID}β configure network devices for the S/390x architecture.singleβ launch a root shell before switching to the root partition.uevent_buf_size=BYTESβ set the buffer size for kernel uevents.
so if no root= parameter is given, the initramfs will build a live system in memory from scratch. this is also called diskless mode. β¨
when booting in diskless mode, these options are also available:
alpine_repo=(URL | PATH)β if set,/etc/apk/repositoriesgets filled with this. may be a comma-separated list of URLs.apkovl=(URL | [DEVICE[:FS_TYPE]:]PATH)β an HTTP, HTTPS or FTP URL to anapkovl.tar.gzfile which will be retrieved and applied. can also be a filesystem path, optionally prepended with the device name with the/dev/prefix.autodetect_serial=(no | setconsole | setconsole=(REGEX|dmi.ATTRIBUTE=REGEX){,...})β configure serial console detection and setup. if set tono, automatic detection and setup of serial consoles is disabled. if set tosetconsole, the first detected serial console is set as the system console early during boot. if set tosetconsole=(REGEX|dmi.ATTRIBUTE=REGEX){,...}, the same behavior applies, butsetconsoleis only invoked if any selector matches. a bareREGEXmatches/sys/class/dmi/id/modalias. admi.ATTRIBUTE=REGEXselector matches/sys/class/dmi/id/ATTRIBUTE. for example,setconsole=[Aa]mazon,dmi.chassis_asset_tag=OracleCloud[.]commatches either an Amazon modalias or the Oracle Cloud chassis asset tag. ok that example ate π₯ds=OPTIONSβ data source for tiny-cloud. ifOPTIONSstarts withnocloud, tiny-cloud will be enabled.nokeep_apk_newβ set up a fresh system and ignore any apkovl.pkgs=PACKAGE{,PACKAGE}β comma-separated list of packages to be installed.ssh_key=(URL | SSH_KEY)β this setting installs openssh and places the public key given as the value in/root/.ssh/authorized_keys. if the value is an HTTP or FTP URL, it fetches the key(s) from there. secure AND convenient πsplashβ enable splash screen.usbdelay=NUMBERβ waitNUMBERseconds for USB devices to show up before searching for boot media.wireguard=INTERFACE;IP_ADDRESS{,IP_ADDRESS,...}[;WG_CONFIG_FILE]β set up a wireguard interface namedINTERFACEwith the addressesIP_ADDRESSand use/etc/wireguard/initrd.conforWG_CONFIG_FILEas a classicwg(notwg-quick) config.zfs_force=NUMBERβ enable force importing the root zpool on boot, even if it was previously mounted from a different system/OS.
π FILES π
/usr/share/mkinitfs/initramfs-initβ default script that will be run in the initramfs. the main character script fr.
πΈ AUTHOR πΈ
written by Natanael Copa <ncopa@alpinelinux.org>, Timo TerΓ€s <timo.teras@iki.fi> and others. legends only π
π REPORTING BUGS π
Alpine Linux GitLab: <https://gitlab.alpinelinux.org/alpine/mkinitfs/-/issues>
π SEE ALSO π
nlplug-findfs(1), mkinitfs(1), bootparam(7)
and that's the whole vibe bestie β this was mkinitfs 3.14.1-r0, dated July 2018, signing off π¦β¨ no cap, go boot something iconic π
π¦ where this page comes from
- alpine 3.24: mkinitfs-doc 3.14.1-r0 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms