|
Bugzilla – Full Text Bug Listing |
| Summary: | Fatal error "ARM with non-EFI" in yast2-bootloader module on Raspberry Pi 2 model B | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Tumbleweed | Reporter: | Sergio Lindo <sergiolindo.empresa> |
| Component: | YaST2 | Assignee: | E-mail List <yast2-maintainers> |
| Status: | RESOLVED FIXED | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | afaerber, agraf, guillaume.gardet, jreidinger, kanderssen, locilka, sergiolindo.empresa |
| Version: | Current | Flags: | kanderssen:
needinfo?
(jreidinger) |
| Target Milestone: | --- | ||
| Hardware: | armv7 | ||
| OS: | openSUSE Factory | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: | y2log | ||
Josef, Could you check it? Sergio - can you please check content of /etc/sysconfig/bootloader? It looks like it sets grub2 and not grub2-efi. But yast2-bootloader currently supports only EFI boot on aarch. It is set to grub2. AFAIK it is necessary for RPI since it doesn't use EFI. Here the content of /etc/sysconfig/bootloader: DEFAULT_APPEND="loglevel=3 splash=silent plymouth.enable=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200n8 kgdboc=ttyAMA0,115200 console=tty rootflags=commit=120,data=writeback root=UUID=27a10a70-becf-4b05-b4e1-18b631523af3 rw " FAILSAFE_APPEND="loglevel=3 splash=silent plymouth.enable=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200n8 kgdboc=ttyAMA0,115200 console=tty rootflags=commit=120,data=writeback root=UUID=27a10a70-becf-4b05-b4e1-18b631523af3 rw ide=nodma apm=off noresume edd=off nomodeset 3 " LOADER_LOCATION="mbr" LOADER_TYPE="grub2" ## Path: System/Bootloader ## Description: Bootloader configuration ## Type: yesno ## Default: "no" # # Enable UEFI Secure Boot support # This setting is only relevant to UEFI which supports Secure Boot. It won't # take effect on any other firmware type. # # SECURE_BOOT="no" ## Path: System/Bootloader ## Description: Bootloader configuration ## Type: yesno ## Default: "no" # # Enable Trusted Boot support # Only available for legacy (non-UEFI) boot. # TRUSTED_BOOT="no" (In reply to Sergio Lindo from comment #3) > It is set to grub2. AFAIK it is necessary for RPI since it doesn't use EFI. > > Here the content of /etc/sysconfig/bootloader: > > DEFAULT_APPEND="loglevel=3 splash=silent plymouth.enable=0 > dwc_otg.lpm_enable=0 console=ttyAMA0,115200n8 kgdboc=ttyAMA0,115200 > console=tty rootflags=commit=120,data=writeback > root=UUID=27a10a70-becf-4b05-b4e1-18b631523af3 rw " > FAILSAFE_APPEND="loglevel=3 splash=silent plymouth.enable=0 > dwc_otg.lpm_enable=0 console=ttyAMA0,115200n8 kgdboc=ttyAMA0,115200 > console=tty rootflags=commit=120,data=writeback > root=UUID=27a10a70-becf-4b05-b4e1-18b631523af3 rw ide=nodma apm=off > noresume edd=off nomodeset 3 " > LOADER_LOCATION="mbr" > LOADER_TYPE="grub2" > > ## Path: System/Bootloader > ## Description: Bootloader configuration > ## Type: yesno > ## Default: "no" > # > # Enable UEFI Secure Boot support > # This setting is only relevant to UEFI which supports Secure Boot. It won't > # take effect on any other firmware type. > # > # > SECURE_BOOT="no" > > ## Path: System/Bootloader > ## Description: Bootloader configuration > ## Type: yesno > ## Default: "no" > # > # Enable Trusted Boot support > # Only available for legacy (non-UEFI) boot. > # > TRUSTED_BOOT="no" well, then I worry yast2-bootloader does not support it. aarch support was added by arm guys and I do not have much clue how easy/hard is to add support also for non-EFI. So, what to do about this bug? Shall we add it as a feature request? (In reply to Knut Alejandro Anderssen González from comment #5) > So, what to do about this bug? Shall we add it as a feature request? well, it depends on arm guys. I expect yast2-bootloader part will be smaller one, but we need info how: 1) recognize that it is not EFI arm 2) grub2 will work on arm 3) what grub2 target should be used there 4) anything other that is needed in future bug report I think currently RPi booting is done by preload image, so no grub2 involved. Andreas - as you did initial bootloader support for arm, I hope you can answer this questions and also suggest how to proceed. Thanks Please see FATE #323484: Enable normal SLES installation in the Raspberry Pi
We plan to support it, but it hasn't been done yet.
Josef: Take a look at that feature and try to understand what they need from
us; ask if something is missing
Sergio: I'm afraid it's a ... bug, but unsupported yet, so feature?
Knut: All above :)
openSUSE on Raspberry Pi 2 (and 1/0) has been using UEFI for quite some time, so unless someone from the community wants to contribute something else, we should stick to UEFI. We are working with Arm and others on an EBBR specification that will mandate that compliant embedded systems use (a subset of) UEFI for booting. https://github.com/ARM-software/ebbr I'll have to double-check at home how my /etc/sysconfig/bootloader looks, i.e. whether this is a regression in Kiwi generating those configs, or whether some check inside yast2-bootloader is misdetecting things. I recall that I had to wait on some pull requests to get merged and then didn't follow up yet for further dependent armv7hl changes: Mainly 32-bit arm should behave similar to aarch64 as opposed to x86 default, but the grub2 packaging slightly differs, with armv7hl defaulting to a U-Boot target and efi being an optional package (whereas aarch64 has efi only). The currently published armv7 tree does not contain kiwi fix 384392360 yet, so the LOADER_TYPE variable is set incorrectly. This has been resolved in newer kiwi versions (v9.15.3 and higher) and the currently built tumbleweed image is built with 9.16.2 so the next published tumbleweed image should also include the fix. If you want to try the latest unpublished image, please run osc getbinaries openSUSE:Factory:ARM:Live images armv7l JeOS:JeOS-raspberrypi2 |
Created attachment 777687 [details] y2log Steps to reproduce: 1. Open yast2-bootloader 2. Go to tab "Bootloader Options" 3. Change the timeout Yast will ask you to install the necessary packages to configure the bootloader and it will get a fatal error.