GRUB-MKIMAGE(1)

✨ NAME ✨

grub-mkimage β€” bestie, this is the one that makes a bootable image of GRUB. like, literally builds you a bootable GRUB image. πŸ’…


🌸 SYNOPSIS 🌸

grub-mkimage [OPTION...] [OPTION]... [MODULES]

πŸ’– DESCRIPTION πŸ’–

Okay so real talk: make a bootable image of GRUB. that's the whole vibe. you hand it your options and your MODULES, it hands you back an image that boots. iconic behavior, honestly. πŸ¦‹

πŸ’… the options, bestie πŸ’…

  • -c, --config=FILE β€” embed FILE as an early config. like a lil pre-game config that's already inside the image. πŸŽ€
  • -C, --compression=(xz|none|auto) β€” choose the compression to use for core image. pick your fighter: xz, none, or auto.
  • --disable-cli β€” disable command line interface access. no CLI for you. πŸ™ˆ
  • --disable-shim-lock β€” disable shim_lock verifier.
  • -d, --directory=DIR β€” use images and modules under DIR. default is /usr/lib/grub/<platform>. ⭐
  • -D, --dtb=FILE β€” embed FILE as a device tree (DTB).
  • -k, --pubkey=FILE β€” embed FILE as public key for PGP signature checking. πŸ”
  • -m, --memdisk=FILE β€” embed FILE as a memdisk image.
    • Implies -p (memdisk)/boot/grub and overrides any prefix supplied previously, but the prefix itself can be overridden by later options. yes this is a whole chain of "actually, no" and we respect it. πŸ’€
  • -n, --note β€” add NOTE segment for CHRP IEEE1275.
  • -o, --output=FILE β€” output a generated image to FILE. default is stdout.
  • -O, --format=FORMAT β€” generate an image in FORMAT. available formats are:
    • i386-coreboot, i386-multiboot, i386-pc, i386-xen_pvh, i386-pc-pxe, i386-pc-eltorito, i386-efi, i386-ieee1275, i386-qemu, x86_64-efi, i386-xen, x86_64-xen, mipsel-yeeloong-flash, mipsel-fuloong2f-flash, mipsel-loongson-elf, powerpc-ieee1275, sparc64-ieee1275-raw, sparc64-ieee1275-cdcore, sparc64-ieee1275-aout, ia64-efi, mips-arc, mipsel-arc, mipsel-qemu_mips-elf, mips-qemu_mips-flash, mipsel-qemu_mips-flash, mips-qemu_mips-elf, arm-uboot, arm-coreboot-vexpress, arm-coreboot-veyron, arm-efi, arm64-efi, loongarch64-efi, riscv32-efi, riscv64-efi
    • that's a LOT of formats and yes, you read all of them right. no skimming bestie, they're all real. πŸ”₯
  • -p, --prefix=DIR β€” set prefix directory.
  • -s, --sbat=FILE β€” SBAT metadata.
  • -S, --appended-signature-size=SIZE β€” add a note segment reserving SIZE bytes for an appended signature.
  • -v, --verbose β€” print verbose messages.
  • -x, --x509=FILE β€” embed FILE as an x509 certificate for appended signature checking.
  • -?, --help β€” give this help list.
  • --usage β€” give a short usage message.
  • -V, --version β€” print program version.
heads up bestie: mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. the rule applies both ways, no cap. πŸ’œ

πŸ› REPORTING BUGS πŸ›

found a bug? report bugs to bug-grub@gnu.org. don't be shy, the maintainers wanna know. 🫢


πŸ‘€ SEE ALSO πŸ‘€

the full documentation for grub-mkimage is maintained as a Texinfo manual. if the info and grub-mkimage programs are properly installed at your site, the command

info grub-mkimage

should give you access to the complete manual. go read it, it's giving full lore. πŸ“š


okay that's the whole page bestie, you're so welcome πŸ’– this was GRUB 2.12, dated April 2026, and yeah it's page GRUB-MKIMAGE(1) β€” now go make a bootable image and slay. periodt. βœ¨πŸ‘‘

πŸ“¦ where this page comes from