|
iPXE
|
Linux bzImage image format. More...
#include <stdint.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <errno.h>#include <assert.h>#include <realmode.h>#include <bzimage.h>#include <ipxe/initrd.h>#include <ipxe/uaccess.h>#include <ipxe/image.h>#include <ipxe/segment.h>#include <ipxe/init.h>#include <ipxe/cpio.h>#include <ipxe/features.h>Go to the source code of this file.
Data Structures | |
| struct | bzimage_context |
| bzImage context More... | |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| FEATURE (FEATURE_IMAGE, "bzImage", DHCP_EB_FEATURE_BZIMAGE, 1) | |
| static int | bzimage_parse_header (struct image *image, struct bzimage_context *bzimg) |
| Parse bzImage header. More... | |
| static void | bzimage_update_header (struct image *image, struct bzimage_context *bzimg) |
| Update bzImage header in loaded kernel. More... | |
| static int | bzimage_parse_cmdline (struct image *image, struct bzimage_context *bzimg) |
| Parse kernel command line for bootloader parameters. More... | |
| static void | bzimage_set_cmdline (struct image *image, struct bzimage_context *bzimg) |
| Set command line. More... | |
| static int | bzimage_check_initrds (struct image *image, struct bzimage_context *bzimg) |
| Check that initrds can be loaded. More... | |
| static void | bzimage_load_initrds (struct image *image, struct bzimage_context *bzimg) |
| Load initrds, if any. More... | |
| static int | bzimage_exec (struct image *image) |
| Execute bzImage image. More... | |
| int | bzimage_probe (struct image *image) |
| Probe bzImage image. More... | |
| struct image_type bzimage_image_type | __image_type (PROBE_NORMAL) |
| Linux bzImage image type. More... | |
Linux bzImage image format.
Definition in file bzimage.c.
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
| FEATURE | ( | FEATURE_IMAGE | , |
| "bzImage" | , | ||
| DHCP_EB_FEATURE_BZIMAGE | , | ||
| 1 | |||
| ) |
|
static |
Parse bzImage header.
| image | bzImage file |
| bzimg | bzImage context |
| rc | Return status code |
Definition at line 92 of file bzimage.c.
References bzimage_header::boot_flag, BZI_ASSUMED_RM_SIZE, BZI_BOOT_FLAG, BZI_CMDLINE_SIZE, BZI_HDR_OFFSET, BZI_INITRD_MAX, BZI_LOAD_HIGH, BZI_LOAD_HIGH_ADDR, BZI_LOAD_LOW_ADDR, BZI_SIGNATURE, BZI_STACK_SIZE, bzimage_context::cmdline_size, bzimage_header::cmdline_size, image::data, DBGC, ENOEXEC, bzimage_header::header, bzimage_header::initrd_addr_max, image::len, bzimage_header::loadflags, bzimage_context::mem_limit, memset(), image::name, bzimage_context::pm_kernel, bzimage_context::pm_sz, real_to_virt(), bzimage_context::rm_cmdline, bzimage_context::rm_filesz, bzimage_context::rm_heap, bzimage_context::rm_kernel, bzimage_context::rm_kernel_seg, bzimage_context::rm_memsz, bzimage_header::setup_sects, syssize, bzimage_header::syssize, bzimage_header::version, bzimage_context::version, bzimage_header::vid_mode, and bzimage_context::vid_mode.
Referenced by bzimage_exec(), and bzimage_probe().
|
static |
Update bzImage header in loaded kernel.
| image | bzImage file |
| bzimg | bzImage context |
Definition at line 195 of file bzimage.c.
References BZI_CAN_USE_HEAP, BZI_CMDLINE_MAGIC, BZI_CMDLINE_OFFSET, BZI_HDR_OFFSET, BZI_LOADER_TYPE_IPXE, bzimage_header::cmd_line_ptr, cmdline, DBGC, bzimage_header::heap_end_ptr, bzimage_context::initrd, bzimage_context::initrd_size, bzimage_header::loadflags, image::name, bzimage_header::ramdisk_image, bzimage_header::ramdisk_size, bzimage_context::rm_cmdline, bzimage_context::rm_heap, bzimage_context::rm_kernel, bzimage_context::rm_memsz, bzimage_header::setup_move_size, bzimage_header::type_of_loader, bzimage_context::version, bzimage_header::vid_mode, and bzimage_context::vid_mode.
Referenced by bzimage_exec().
|
static |
Parse kernel command line for bootloader parameters.
| image | bzImage file |
| bzimg | bzImage context |
| rc | Return status code |
Definition at line 241 of file bzimage.c.
References BZI_VID_MODE_ASK, BZI_VID_MODE_EXT, BZI_VID_MODE_NORMAL, DBGC, end, image_argument(), bzimage_context::mem_limit, image::name, strchr(), strcmp(), strtoul(), and bzimage_context::vid_mode.
Referenced by bzimage_exec().
|
static |
Set command line.
| image | bzImage image |
| bzimg | bzImage context |
Definition at line 307 of file bzimage.c.
References cmdline, image::cmdline, bzimage_context::cmdline_size, DBGC, image::name, bzimage_context::rm_cmdline, bzimage_context::rm_kernel, and snprintf().
Referenced by bzimage_exec().
|
static |
Check that initrds can be loaded.
| image | bzImage image |
| bzimg | bzImage context |
| rc | Return status code |
Definition at line 326 of file bzimage.c.
References DBGC, dest, ENOBUFS, bzimage_context::initrd, INITRD_ALIGN, initrd_len, initrd_region(), bzimage_context::initrd_size, max, memmap_region::max, bzimage_context::mem_limit, min, memmap_region::min, image::name, bzimage_context::pm_kernel, bzimage_context::pm_sz, rc, and strerror().
Referenced by bzimage_exec().
|
static |
Load initrds, if any.
| image | bzImage image |
| bzimg | bzImage context |
Definition at line 383 of file bzimage.c.
References assert(), DBGC, bzimage_context::initrd, initrd_load_all(), initrd_reshuffle(), bzimage_context::initrd_size, len, and image::name.
Referenced by bzimage_exec().
|
static |
Execute bzImage image.
| image | bzImage image |
| rc | Return status code |
Definition at line 408 of file bzimage.c.
References __asm__(), __volatile__(), assert(), bzimage_check_initrds(), bzimage_load_initrds(), bzimage_parse_cmdline(), bzimage_parse_header(), bzimage_set_cmdline(), bzimage_update_header(), image::data, DBGC, ECANCELED, image_get(), memcpy(), image::name, bzimage_context::pm_kernel, bzimage_context::pm_sz, prep_segment(), rc, REAL_CODE, bzimage_context::rm_filesz, bzimage_context::rm_heap, bzimage_context::rm_kernel, bzimage_context::rm_kernel_seg, bzimage_context::rm_memsz, shutdown_boot(), strerror(), and unregister_image().
| int bzimage_probe | ( | struct image * | image | ) |
Probe bzImage image.
| image | bzImage file |
| rc | Return status code |
Definition at line 492 of file bzimage.c.
References bzimage_parse_header(), and rc.
| struct image_type bzimage_image_type __image_type | ( | PROBE_NORMAL | ) |
Linux bzImage image type.
1.8.15