3CPIO(1) 3cpio 3CPIO(1) (NAME) 3cpio - cpio initramfs (SYNOPSIS) 3cpio --count ARCHIVE 3cpio {-c|--create} [-v|--debug] [-C DIR] [--data-align ALIGNMENT] [ARCHIVE] < manifest 3cpio {-e|--examine} [--raw] ARCHIVE 3cpio {-t|--list} [-v|--debug] [-P LIST] ARCHIVE [pattern...] 3cpio {-x|--extract} [-v|--debug] [-C DIR] [-P LIST] [-p] [-s NAME] [--to-stdout] [--force] [-F] ARCHIVE [-F|--file ARCHIVE...] [pattern...] 3cpio {-V|--version} 3cpio {-h|--help} (DESCRIPTION) 3cpio cpio initramfs . initramfs cpio newc crc . cpio . . 3cpio cpio initramfs cpio . : bzip2 gzip lz4 lzma lzop xz zstd. (MODES) --count ARCHIVE cpio . -c, --create [ARCHIVE] cpio . . MANIFEST . cpio ARCHIVE . ARCHIVE ( ). -e, --examine ARCHIVE cpio . SI ( 1 kB = 1000 ). . --raw . : Start cpio . End cpio . Size cpio (end - start). Compression cpio ( cpio). Extracted size cpio . -t, --list ARCHIVE [pattern...] cpio . . --verbose ( ls --long). --debug inode . pattern pattern . pattern (wildcard) ( glob(7) ). -x, --extract [-F|--file] ARCHIVE [-F|--file ARCHIVE] [pattern...] cpio . -F . -F . pattern pattern . pattern (wildcard) ( glob(7) ). -V, --version . -h, --help . (OPTIONS) --data-align ALIGNMENT cpio cpio (pad) ALIGNMENT . reflink cpio reflink . / ALIGNMENT PATH_MAX cpio . ALIGNMENT . --create . cpio (fragmented) / / ( ) . : cpio newc . namesize ( ) . PATH_MAX GNU cpio Linux initramfs . ( $path cpio ): stat --file-system -c "%s" -- "$path" -C DIR, --directory=DIR ARCHIVE . --extract . --make-directories: . --extract . -P LIST, --parts LIST cpio LIST . --list --extract . LIST . : N cpio N N- cpio N ( ) N-M cpio N M ( ) -M cpio M ( ) -p, --preserve-permissions ( /). --extract . --raw . . --examine . -s NAME, --subdir=NAME cpio ( NAME ). --extract . --to-stdout . . . --extract . -v, --verbose . --extract --list . --debug . --extract --list . --force . --extract . (MANIFEST) initrd cpio . . #cpio cpio . . cpio Zstandard : #cpio: zstd -9 # #cpio ( ) () . (tab) : file dir block char link fifo sock fifo (named pipe) ( fifo(7) ). - . . ( ) . : # - . cpio. . : - . (mode) () . () . . (Epoch) (1970-01-01 00:00 UTC). SOURCE_DATE_EPOCH . . 3cpio . / . / . . : - . : # ( ) - ( ) ( ). . (ENVIRONMENT VARIABLES) SOURCE_DATE_EPOCH cpio . "SOURCE_DATE_EPOCH" . (thread) . cpio (reproducible) . (EXIT STATUS) 0 . 1 . 2 . (EXAMPLES) cpio initramfs: $ 3cpio --count /boot/initrd.img 4 initramfs cpio Ubuntu 24.04: $ 3cpio --examine /boot/initrd.img Start End Size Compr. Extracted 0 B 148 kB 148 kB cpio 147 kB 148 kB 13.3 MB 13.1 MB cpio 13.1 MB 13.3 MB 55.2 MB 41.9 MB cpio 41.7 MB 55.2 MB 62.0 MB 6.74 MB zstd 15.6 MB : $ 3cpio --examine --raw /boot/initrd.img 0 148480 148480 cpio 147350 148480 13275136 13126656 cpio 13125632 13275136 55215104 41939968 cpio 41692226 55215104 61956920 6741816 zstd 15616306 initramfs cpio cpio cpio Zstandard . initramfs cpio Ubuntu 24.04: $ 3cpio --list /boot/initrd.img . kernel kernel/x86 kernel/x86/microcode kernel/x86/microcode/AuthenticAMD.bin kernel kernel/x86 kernel/x86/microcode kernel/x86/microcode/.enuineIntel.align.0123456789abc kernel/x86/microcode/GenuineIntel.bin . usr usr/lib usr/lib/firmware usr/lib/firmware/3com usr/lib/firmware/3com/typhoon.bin.zst [...] cpio AMD . cpio Intel . cpio (firmware) . initramfs cpio initrd Ubuntu 24.04: $ 3cpio --extract -C initrd /boot/initrd.img $ ls initrd bin cryptroot init lib lib.usr-is-merged run scripts var conf etc kernel lib64 libx32 sbin usr cpio cpio find: $ cd inputdir && find . | sort | 3cpio --create ../example.cpio 3cpio cpio . cpio : $ cat manifest - kernel dir 755 0 0 1751654557 - kernel/x86 dir 755 0 0 1752011622 /usr/lib/firmware/amd-ucode kernel/x86/microcode /usr/lib/firmware/amd-ucode/microcode_amd_fam19h.bin kernel/x86/microcode/AuthenticAMD.bin $ 3cpio --create amd-ucode.img < manifest $ 3cpio --list --verbose amd-ucode.img drwxr-xr-x 2 root root 0 Jul 4 20:42 kernel drwxr-xr-x 2 root root 0 Jul 8 23:53 kernel/x86 drwxr-xr-x 2 root root 0 Jun 10 10:51 kernel/x86/microcode -rw-r--r-- 1 root root 100684 Mar 23 22:42 kernel/x86/microcode/AuthenticAMD.bin initrd cpio cpio Zstandard: $ cat manifest #cpio - kernel dir 755 0 0 1751654557 - kernel/x86 dir 755 0 0 1752011622 /usr/lib/firmware/amd-ucode kernel/x86/microcode /usr/lib/firmware/amd-ucode/microcode_amd_fam19h.bin kernel/x86/microcode/AuthenticAMD.bin #cpio: zstd -9 / /bin /usr /usr/bin /usr/bin/bash # This is a comment. Leaving the remaining files as task for the reader. $ 3cpio --create initrd.img < manifest $ 3cpio --examine initrd.img Start End Size Compr. Extracted 0 B 101 kB 101 kB cpio 101 kB 101 kB 786 kB 685 kB zstd 1.45 MB $ 3cpio --list --verbose initrd.img drwxr-xr-x 2 root root 0 Jul 4 20:42 kernel drwxr-xr-x 2 root root 0 Jul 8 23:53 kernel/x86 drwxr-xr-x 2 root root 0 Jun 10 10:51 kernel/x86/microcode -rw-r--r-- 1 root root 100684 Mar 23 22:42 kernel/x86/microcode/AuthenticAMD.bin drwxr-xr-x 2 root root 0 Jun 5 14:11 . lrwxrwxrwx 1 root root 7 Mar 20 2022 bin -> usr/bin drwxr-xr-x 2 root root 0 Apr 20 2023 usr drwxr-xr-x 2 root root 0 Jul 9 09:56 usr/bin -rwxr-xr-x 1 root root 1446024 Mar 31 2024 usr/bin/bash (SEE ALSO) bsdcpio(1), cpio(1), lsinitramfs(8), lsinitrd(1) (COPYING) (C) 2024-2026 Benjamin Drung. ISC . (AUTHORS) Benjamin Drung 3cpio 0.5.1 2026-02-15 3CPIO(1)