I have initramfs file in gz format (initramfs.cpio.gz). I tried to boot with above gz file, but it shows following error.

Wrong Ramdisk Image Format Ramdisk image is corrupt or invalid

Then i tried to convert the cpio.gz image to uboot supported format by using below command.

mkimage -n 'Ramdisk Image' -A arm -O linux -T ramdisk -C gzip -d initramfs.cpio.gz initramfs.uImage

But there is no support for arm64 in mkimage tool.

Please advice how to create uboot supported arm64 initramfs file.

Thanks in advance.

  • My ARM devices at home do not use initramfs. Commented Sep 20, 2016 at 12:34

1 Answer 1


After installing the proper uboot tools in host machine, i am able to get the AARCH64 initramfs image successfully.


sudo apt-get install u-boot-tools

root@OptiPlex-790:~$ mkimage -A arm64 -O linux -T ramdisk -C gzip -d init.cpio.gz initramfs.uImage
Image Name:   
Created:      Tue Sep 20 18:14:33 2016
Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
Data Size:    10240 Bytes = 10.00 kB = 0.01 MB
Load Address: 00000000
Entry Point:  00000000
  • While correct you may also wish to use either a FIT image or make sure that CONFIG_SUPPORT_RAW_INITRD is set and just pass the location along with your (Linux Kernel generated) Image file to booti.
    – Tom Rini
    Commented Sep 20, 2016 at 13:20
  • I'm asking for clarification on behalf of user @GT with insufficient reputation to post a comment: What version of u-boot-tools are you running? I am doing an apt-get install, and it is finding version 2013.10-3. I tried giving it the -A arm64 flag, and it prints this out : Invalid CPU Type - valid names are: alpha, arm, x86, ia64, m68k, microblaze, mips, mips64, nios2, powerpc, ppc, s390, sh, sparc, sparc64, blackfin, avr32, nds32, or1k, sandbox. So what is the "proper" version? Thank you. Commented Feb 15, 2017 at 18:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .