Architecture

From Alpine Linux
Revision as of 23:04, 27 April 2017 by TemptorSent (talk | contribs) (→‎Flavors: Update to reflect kernel name change from -grsec to -hardened)

Packaging

Alpine uses packages in the .apk file format.

Package Management Tools

Package Building Tools


Boot Process

Boot Loader

EFI

BIOS

Other

Kernel

Versioning

Flavors
  • vanilla
  • hardened
  • virthardened
  • rpi

Signing

Command line options

Initfs

The kernel will decompress the stream of compressed cpio archives passed to it by the 'append' bootloader option to the root of 'rootfs', a tmpfs automatically mounted at '/' by the kernel at boot.

'/init' Script

Not to be confused with '/sbin/init', the '/init' script in the root of the 'rootfs' is called by the kernel upon completion of its boot process, and is responsible for doing whatever steps are necessary to mount the real root file system to '/' and transfer control to '/sbin/init'.

Minimal Required Set

Directory Structure
  • / /bin /boot /dev /etc /lib /lib/modules /media /media/cdrom /media/usb /mnt /proc /sbin /sys /usr /usr/bin /usr/sbin
Devices
  • /dev/null
  • /dev/console
  • /dev/kmsg
Mounts
  • /proc
  • /sys
  • /dev (can be disabled?)
Configuration
  • /etc/passwd
  • /etc/group
  • /etc/fstab
Binaries

Feature Sets

Feature sets consist of lists for the set of modules and files that need to be included in a final initramfs to support the indicated feature.

Init

Not to be confused with the '/init' script in the initramfs, '/sbin/init' is the first process to be started in the live system after the initramfs completes its work.