distro_bootcmd: add VirtIO distro boot command

Add a boot command to distro boot to support disks connected over the
VirtIO bus. The boot command uses the shared block environment.

Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Lukas Auer 2018-11-22 11:26:33 +01:00 committed by Andes
parent c3b1a99040
commit a8da9ff466
2 changed files with 15 additions and 1 deletions

View file

@ -292,7 +292,7 @@ Each entry in the macro defines a single boot device (e.g. a specific eMMC
device or SD card) or type of boot device (e.g. USB disk). The parameters to device or SD card) or type of boot device (e.g. USB disk). The parameters to
the func macro (passed in by the internal implementation of the header) are: the func macro (passed in by the internal implementation of the header) are:
- Upper-case disk type (MMC, SATA, SCSI, IDE, USB, DHCP, PXE). - Upper-case disk type (MMC, SATA, SCSI, IDE, USB, DHCP, PXE, VIRTIO).
- Lower-case disk type (same options as above). - Lower-case disk type (same options as above).
- ID of the specific disk (MMC only) or ignored for other types. - ID of the specific disk (MMC only) or ignored for other types.
@ -398,6 +398,7 @@ The list of possible targets consists of:
* scsi * scsi
* ide * ide
* usb * usb
* virtio
Other *boot* variables than the ones defined above are only for internal use Other *boot* variables than the ones defined above are only for internal use
of the boot environment and are not guaranteed to exist or work in the same of the boot environment and are not guaranteed to exist or work in the same

View file

@ -242,6 +242,18 @@
BOOT_TARGET_DEVICES_references_USB_without_CONFIG_CMD_USB BOOT_TARGET_DEVICES_references_USB_without_CONFIG_CMD_USB
#endif #endif
#ifdef CONFIG_CMD_VIRTIO
#define BOOTENV_SHARED_VIRTIO BOOTENV_SHARED_BLKDEV(virtio)
#define BOOTENV_DEV_VIRTIO BOOTENV_DEV_BLKDEV
#define BOOTENV_DEV_NAME_VIRTIO BOOTENV_DEV_NAME_BLKDEV
#else
#define BOOTENV_SHARED_VIRTIO
#define BOOTENV_DEV_VIRTIO \
BOOT_TARGET_DEVICES_references_VIRTIO_without_CONFIG_CMD_VIRTIO
#define BOOTENV_DEV_NAME_VIRTIO \
BOOT_TARGET_DEVICES_references_VIRTIO_without_CONFIG_CMD_VIRTIO
#endif
#if defined(CONFIG_CMD_DHCP) #if defined(CONFIG_CMD_DHCP)
#if defined(CONFIG_EFI_LOADER) #if defined(CONFIG_EFI_LOADER)
/* http://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml */ /* http://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml */
@ -350,6 +362,7 @@
BOOTENV_SHARED_IDE \ BOOTENV_SHARED_IDE \
BOOTENV_SHARED_UBIFS \ BOOTENV_SHARED_UBIFS \
BOOTENV_SHARED_EFI \ BOOTENV_SHARED_EFI \
BOOTENV_SHARED_VIRTIO \
"boot_prefixes=/ /boot/\0" \ "boot_prefixes=/ /boot/\0" \
"boot_scripts=boot.scr.uimg boot.scr\0" \ "boot_scripts=boot.scr.uimg boot.scr\0" \
"boot_script_dhcp=boot.scr.uimg\0" \ "boot_script_dhcp=boot.scr.uimg\0" \