Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions api/core/v1alpha2/vmcondition/condition.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ const (
ReasonPodTerminating RunningReason = "PodTerminating"
ReasonPodNotFound RunningReason = "PodNotFound"
ReasonPodConditionMissing RunningReason = "PodConditionMissing"
ReasonBootFailed RunningReason = "BootFailed"
ReasonGuestNotRunning RunningReason = "GuestNotRunning"
)

Expand Down
62 changes: 62 additions & 0 deletions images/edk2/patches/0001-0x402.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
index d9f61757cf..d2a0e5f6a1 100644
--- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
+++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c
@@ -2020,6 +2020,14 @@ PlatformBootManagerUnableToBoot (
EFI_BOOT_MANAGER_LOAD_OPTION BootManagerMenu;
UINTN Index;

+ {
+ STATIC CONST CHAR8 Msg[] = "No bootable device.\r\n";
+ UINTN i;
+ for (i = 0; i < sizeof (Msg) - 1; i++) {
+ IoWrite8 (0x402, (UINT8)Msg[i]);
+ }
+ }
+
if (FeaturePcdGet (PcdBootRestrictToFirmware)) {
AsciiPrint (
"%a: No bootable option was found.\n",
diff --git a/ShellPkg/Application/Shell/Shell.c b/ShellPkg/Application/Shell/Shell.c
index 9bacf9d8c7..ea78559516 100644
--- a/ShellPkg/Application/Shell/Shell.c
+++ b/ShellPkg/Application/Shell/Shell.c
@@ -359,6 +359,14 @@ UefiMain (
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *OldConIn;
SPLIT_LIST *Split;

+ {
+ STATIC CONST CHAR8 Msg[] = "No bootable device.\r\n";
+ UINTN i;
+ for (i = 0; i < sizeof (Msg) - 1; i++) {
+ IoWrite8 (0x402, (UINT8)Msg[i]);
+ }
+ }
+
if (PcdGet8 (PcdShellSupportLevel) > 3) {
return (EFI_UNSUPPORTED);
}
diff --git a/ShellPkg/Application/Shell/Shell.h b/ShellPkg/Application/Shell/Shell.h
index 89b4ac6b02..cd82e6f608 100644
--- a/ShellPkg/Application/Shell/Shell.h
+++ b/ShellPkg/Application/Shell/Shell.h
@@ -42,6 +42,7 @@
#include <Library/HandleParsingLib.h>
#include <Library/FileHandleLib.h>
#include <Library/UefiHiiServicesLib.h>
+#include <Library/IoLib.h>

#include "ShellParametersProtocol.h"
#include "ShellProtocol.h"
diff --git a/ShellPkg/Application/Shell/Shell.inf b/ShellPkg/Application/Shell/Shell.inf
index f1e41de133..88b033bc35 100644
--- a/ShellPkg/Application/Shell/Shell.inf
+++ b/ShellPkg/Application/Shell/Shell.inf
@@ -66,6 +66,7 @@
SortLib
HandleParsingLib
UefiHiiServicesLib
+ IoLib

[Guids]
gShellVariableGuid ## SOMETIMES_CONSUMES ## GUID
16 changes: 16 additions & 0 deletions images/edk2/werf.inc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,13 @@ git:
stageDependencies:
install:
- '*.json'
- add: {{ .ModuleDir }}/images/{{ .ImageName }}/patches
to: /src/patches
includePaths:
- '*.patch'
stageDependencies:
install:
- '*.patch'
- add: {{ .ModuleDir }}/images/{{ .ImageName }}/uefi-revocation-list
to: /src/FIRMWARE
includePaths:
Expand All @@ -68,6 +75,8 @@ shell:
- |
cd /src

echo "123456789"

echo "Git clone Edk2 repository..."
git clone \
--depth=1 $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} \
Expand All @@ -90,6 +99,13 @@ shell:
submodule update --init --recursive --depth=1
fi

echo "Applying patches..."
for p in /src/patches/*.patch; do
[ -f "$p" ] || continue
echo "Applying $p"
git apply "$p"
done

---

image: {{ .ModuleNamePrefix }}{{ .ImageName }}
Expand Down
3 changes: 2 additions & 1 deletion images/virt-artifact/werf.inc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ shell:
install:
- |
echo "Git clone {{ $gitRepoName }} repository..."
git clone --depth=1 $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} --branch {{ $tag }} /src/kubevirt
echo "kek23"
git clone --depth=1 $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} --branch v1.6.2-virtualization-no-bootable /src/kubevirt

rm -rf /src/kubevirt/.git

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,14 @@ func (h *LifeCycleHandler) syncRunning(ctx context.Context, vm *v1alpha2.Virtual
if kvvmi != nil {
vm.Status.Node = kvvmi.Status.NodeName

for _, c := range kvvmi.Status.Conditions {
if string(c.Type) == "BootFailed" {
cb.Reason(vmcondition.ReasonBootFailed).Status(metav1.ConditionFalse).Message(c.Reason)
conditions.SetCondition(cb, &vm.Status.Conditions)
return
}
}

if vm.Status.Phase == v1alpha2.MachineRunning {
cb.Reason(vmcondition.ReasonVirtualMachineRunning).Status(metav1.ConditionTrue)
conditions.SetCondition(cb, &vm.Status.Conditions)
Expand Down
Loading