====== Download an image ====== ===== Synopsis ===== imgfetch [--name ] [--timeout ] [...] or module [--name ] [--timeout ] [...] or initrd [--name ] [--timeout ] [...] ===== Examples ===== === Download a 1MB test file === imgfetch http://boot.ipxe.org/1mb === Download and boot a Linux kernel, initrd and kernel module === #!ipxe kernel vmlinuz initrd initrd.img initrd modules/6.0.16/e1000.ko /lib/modules/e1000.ko boot ===== Description ===== Download an image from the specified URI. A name for the downloaded image can be specified using the ''%%--name%%'' option. A download progress timeout can be specified (in milliseconds) using the ''%%--timeout%%'' option. Any remaining arguments will be passed directly to the image. If this command is executed from within an iPXE [[:scripting|script]], then the URI will be interpreted as being relative to the URI of the script itself. For example, if the script ''%%http://boot.ipxe.org/demo/boot.php%%'' contains the line imgfetch initrd.img then iPXE will download ''%%http://boot.ipxe.org/demo/initrd.img%%''. ===== Command status ===== ^ Success | The image was successfully downloaded | ^ Failure | The image was not successfully downloaded | ===== See also ===== * ''[[:cmd:imgstat]]'' * ''[[:cmd:chain]]'' * ''[[:cmd:kernel]]'' * ''[[:cmd:imgfree]]'' * [[:cmd|List of all iPXE commands]] ===== Notes ===== There is no difference between the commands ''imgfetch'', ''module'', and ''initrd''. When booting a Linux kernel, iPXE will construct a "magic initrd" by injecting downloaded files into the initial RAM filesystem image. Any argument supplied to the ''initrd'' command will be used as the pathname for that image within the ''initrd.magic'' initial RAM filesystem. For example, if you have the script #!ipxe kernel vmlinuz initrd initrd.img initrd initscripts/deploy.sh /sbin/init mode=755 boot then the file ''initrd.img'' will be treated as a normal initramfs filesystem image, and the file ''deploy.sh'' will appear as an extra executable file ''/sbin/init'' within this filesystem. The optional ''mode'' parameter can be used to change the file mode, which defaults to 644. This can be useful for binaries that need to be executed. For older kernels (before Linux 5.7), you will need to add the kernel command-line argument ''initrd=initrd.magic'' when booting in UEFI mode.