This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
cmd:imgfetch [2012/11/20 01:12] mcb30 |
cmd:imgfetch [2021/05/24 12:37] mcb30 |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Synopsis ===== | ===== Synopsis ===== | ||
- | imgfetch [--name <name>] <uri> [<arguments>...] | + | imgfetch [--name <name>] [--timeout <timeout>] <uri> [<arguments>...] |
or | or | ||
- | module [--name <name>] <uri> [<arguments>...] | + | module [--name <name>] [--timeout <timeout>] <uri> [<arguments>...] |
or | or | ||
- | initrd [--name <name>] <uri> [<arguments>...] | + | initrd [--name <name>] [--timeout <timeout>] <uri> [<arguments>...] |
===== Examples ===== | ===== Examples ===== | ||
Line 19: | Line 19: | ||
imgfetch http://boot.ipxe.org/1mb | imgfetch http://boot.ipxe.org/1mb | ||
- | === Download and boot a Linux kernel, initrd and kernel module (using a script) === | + | === Download and boot a Linux kernel, initrd and kernel module === |
#!ipxe | #!ipxe | ||
- | kernel /boot/vmlinuz-2.6.31 | + | kernel /boot/vmlinuz-2.6.31 initrd=initrd.magic |
initrd initrd.img | initrd initrd.img | ||
initrd /modules/2.6.31/e1000.ko /lib/modules/e1000.ko | initrd /modules/2.6.31/e1000.ko /lib/modules/e1000.ko | ||
Line 29: | Line 29: | ||
===== Description ===== | ===== Description ===== | ||
- | Download an image from the specified URI. A name for the downloaded image can be specified using the ''%%--name%%'' option. Any remaining arguments will be passed directly to the image. | + | 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 | 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 | ||
Line 54: | Line 54: | ||
There is no difference between the commands ''imgfetch'', ''module'', and ''initrd''. | There is no difference between the commands ''imgfetch'', ''module'', and ''initrd''. | ||
- | When booting a Linux kernel, any argument supplied to the ''initrd'' command will be used as the pathname for that image within the initial RAM filesystem. For example, if you have the script | + | When booting a Linux kernel, iPXE can 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 | #!ipxe | ||
| | ||
- | kernel /boot/vmlinuz-2.6.31 | + | kernel /boot/vmlinuz-2.6.31 initrd=initrd.magic |
initrd initrd.img | initrd initrd.img | ||
- | initrd /modules/2.6.31/e1000.ko /lib/modules/e1000.ko | + | initrd /initscripts/deploy.sh /sbin/init mode=755 |
boot | boot | ||
- | then the file ''initrd.img'' will be treated as a normal initramfs filesystem image, and the file ''e1000.ko'' will appear as an extra file ''/lib/modules/e1000.ko'' within this filesystem. | + | 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. | ||