Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scos: testiso with uefi get grub terminal #954

Closed
HuijingHei opened this issue Aug 16, 2022 · 11 comments · Fixed by coreos/coreos-assembler#3048
Closed

scos: testiso with uefi get grub terminal #954

HuijingHei opened this issue Aug 16, 2022 · 11 comments · Fixed by coreos/coreos-assembler#3048

Comments

@HuijingHei
Copy link
Contributor

Build scos locally and run kola testiso -S --qemu-firmware uefi --scenarios iso-live-login, get grub terminal.

BdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00011 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x5,0xFFFF,0x0)
BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00011 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x5,0xFFFF,0x0)
      Minimal BASH-like line editing is supported. For the first word,    
      TAB lists possible command completions. Anywhere else TAB lists     
      possible device or file completions.                                


grub>

A little like #953, but they have different error logs

@HuijingHei
Copy link
Contributor Author

HuijingHei commented Aug 16, 2022

Try more about the uefi, run the following commands, get result is PASS: iso-live-login (uefi + metal) (1m46.346s).

$ kola testiso -S --qemu-firmware uefi --scenarios iso-live-login --console

BdsDxe: loading Boot0001 "UEFI QEMU DVD-ROM QM00011 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x5,0xFFFF,0x0)
BdsDxe: starting Boot0001 "UEFI QEMU DVD-ROM QM00011 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x5,0xFFFF,0x0)
      Minimal BASH-like line editing is supported. For the first word,    
      TAB lists possible command completions. Anywhere else TAB lists     
      possible device or file completions.                                


grub> ls
(proc) (cd0) (cd0,msdos2)
grub> configfile (cd0)/EFI/redhat/grub.cfg

Is there any suggestion about how to fix this? Thanks!

@cgwalters
Copy link
Member

I suspect what's going on here is related to the "EFI vendor directory" being redhat for scos when it should be centos. Specifically, we need to fix https://github.com/openshift/os/tree/master/live/EFI/redhat to be dynamically switched.

Note we have a separate copy of this in https://github.com/coreos/fedora-coreos-config/tree/testing-devel/live/EFI/fedora - if we changed e.g. coreos-assembler to support dynamically generating this based on the distribution name, then we wouldn't need a separate copy in openshift/os for rhel/centos.

@cgwalters
Copy link
Member

To say this another way, does it work to do: mv src/config/live/EFI/{redhat,centos} before doing a build for scos?

@HuijingHei
Copy link
Contributor Author

To say this another way, does it work to do: mv src/config/live/EFI/{redhat,centos} before doing a build for scos?

Yes, it works, thanks! Seems also fix #953

[coreos-assembler]$ mv src/config/live/EFI/redhat src/config/live/EFI/centos
[coreos-assembler]$ ls src/config/live/EFI/centos/grub.cfg
[coreos-assembler]$ cosa fetch && cosa build && cosa buildextend-metal && cosa buildextend-metal4k && cosa buildextend-live

$ kola testiso -S --qemu-firmware uefi --scenarios iso-live-login,iso-as-disk --output-dir tmp/kola-uefi/insecure
Testing scenarios: [iso-as-disk iso-live-login]
Ignoring verification of signature on metal image
PASS: iso-live-login (uefi + metal) (39.666s)
PASS: iso-as-disk (uefi + metal) (34.479s)

[coreos-assembler]$ kola testiso -S --qemu-native-4k --qemu-multipath --scenarios iso-install --output-dir tmp/kola-metal4k
Testing scenarios: [iso-install]
Ignoring verification of signature on metal image
PASS: iso-install (uefi + metal4k + multipath) (2m52.826s)

@HuijingHei
Copy link
Contributor Author

if we changed e.g. coreos-assembler to support dynamically generating this based on the distribution name, then we wouldn't need a separate copy in openshift/os for rhel/centos.

Agree, maybe can add this based on coreos/coreos-assembler#2934

@HuijingHei
Copy link
Contributor Author

Silly question, the root cause here is by default boot/efi/EFI/centos/grubx64.efi only find live/EFI/centos/grub.cfg instead of live/EFI/redhat/grub.cfg?

@cgwalters
Copy link
Member

Yep, that's my understanding!

@HuijingHei
Copy link
Contributor Author

@cgwalters much appreciated for your guidance! 👍

@travier
Copy link
Member

travier commented Aug 23, 2022

It's probably not for the variant support but could be a distinct PR for COSA to add support in image.yaml.

@HuijingHei
Copy link
Contributor Author

It's probably not for the variant support but could we a distinct PR for COSA to add support in image.yaml.

Do you mean add config in image.yaml, and parse it in cmd-buildextend-live?

@travier
Copy link
Member

travier commented Aug 23, 2022

Yes, I'm thinking of something like coreos/coreos-assembler#2971

HuijingHei added a commit to HuijingHei/coreos-assembler that referenced this issue Aug 26, 2022
HuijingHei added a commit to HuijingHei/coreos-assembler that referenced this issue Aug 26, 2022
HuijingHei added a commit to HuijingHei/coreos-assembler that referenced this issue Aug 29, 2022
HuijingHei added a commit to HuijingHei/coreos-assembler that referenced this issue Aug 29, 2022
HuijingHei added a commit to HuijingHei/coreos-assembler that referenced this issue Aug 30, 2022
HuijingHei added a commit to HuijingHei/coreos-assembler that referenced this issue Aug 31, 2022
HuijingHei added a commit to HuijingHei/coreos-assembler that referenced this issue Aug 31, 2022
HuijingHei added a commit to HuijingHei/coreos-assembler that referenced this issue Aug 31, 2022
cgwalters pushed a commit to coreos/coreos-assembler that referenced this issue Aug 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants