Bug #8992

USB sticks installed with UUI fail to boot in UEFI mode: "no configuration file found"

Added by goupille 2015-03-02 11:56:23 . Updated 2017-11-15 11:34:10 .

Status:
Resolved
Priority:
Elevated
Assignee:
Category:
Installation
Target version:
Start date:
2015-03-02
Due date:
% Done:

100%

Feature Branch:
bugfix/8992-uui-vs-uefi
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Deliverable for:

Description

we got few reports from users having difficulties to boot from a Tails installed with Universal USB Installer. just at the begining of the boot process (before tails boot menu), it stops and display “no configuration file found”.

a user found out that he could reproduce this error with a FAT32 formatted USB stick (before installing Tails), but that if the device was formatted with NTFS before installing Tails, the error wasn’t there anymore.


Subtasks


Related issues

Related to Tails - Bug #14959: Test UEFI boot with a Tails installed with UUI Resolved 2017-11-11
Blocks Tails - Feature #13244: Core work 2017Q4: Foundations Team Resolved 2017-06-29

History

#1 Updated by BitingBird 2015-03-02 22:38:43

  • Category set to Installation

#2 Updated by intrigeri 2015-03-03 10:42:38

  • Assignee set to goupille
  • QA Check set to Info Needed

Which version(s) of UUI?

#3 Updated by BitingBird 2015-04-10 16:22:26

Any news on this one? goupille, can you contact those users to have more details, or is this impossible and the ticket could be closed?

#4 Updated by goupille 2015-04-28 07:38:02

There is another user affected by that issue, I just asked for more informations about it.

#5 Updated by intrigeri 2015-06-10 18:07:27

Any news on this one?

#6 Updated by goupille 2015-06-11 10:40:30

the user didn’t answered so, no news about that…

#7 Updated by intrigeri 2015-06-18 09:54:29

  • Status changed from New to Rejected

> the user didn’t answered so, no news about that…

OK, thanks. We’re now four months after requesting additional info that might allow someone to reproduce and debug this problem => closing.

#8 Updated by tscpd 2016-12-30 11:57:18

I just experienced the same “no configuration file found” on boot. Due to this bugreport i formatted my USB-Stick with NTFS to actually get it work. One special thing: I selected “steamos” in my BIOS boot-order to start Tails. (steamos is another deb-based live-os) Version of UUI is i think the latest downloaded today from tails install advise-link on https://tails.boum.org/install/win/usb/index.en.html: https://git-tails.immerda.ch/uui-binary/plain/Universal-USB-Installer.exe

#9 Updated by goupille 2017-11-07 13:14:13

a user reported being prompted with this “no configuration file” error while trying to boot in UEFI mode with a dell inspirion 11, the error did not show up in Legacy mode.

#10 Updated by intrigeri 2017-11-11 14:37:56

  • related to Bug #14959: Test UEFI boot with a Tails installed with UUI added

#11 Updated by intrigeri 2017-11-11 14:39:53

goupille wrote:
> a user reported being prompted with this “no configuration file” error while trying to boot in UEFI mode with a dell inspirion 11, the error did not show up in Legacy mode.

Thanks. I’m not very surprised: it looks like the Installation Assistant was developed without access to UEFI hardware. I’ve created Bug #14959 about it.

#12 Updated by intrigeri 2017-11-11 16:12:05

  • Subject changed from "no configuration file found" when booting a UUI made Tails device to "no configuration file found" when booting Tails installed with UUI in UEFI mode
  • Status changed from Rejected to In Progress
  • Assignee changed from goupille to intrigeri
  • Priority changed from Normal to Elevated
  • Target version set to Tails_3.3
  • % Done changed from 0 to 10
  • QA Check deleted (Info Needed)
  • Type of work changed from Research to Code

I’ve finally managed to get a hold on a Windows system and then it was easy to reproduce this problem (Bug #14959#note-7). On both test systems (ThinkPad T460 and MacBook Pro 8,1), having a look at the GRUB config on the USB stick was enough to identify the culprit: efi/boot/grub/grub.cfg says syslinux_configfile /efi/boot/syslinux.cfg, but we ship no such file, hence the “no configuration file found”. copy boot/efi/isolinux.cfg to boot/efi/syslinux.cfg. This seems too good to be true but I think the fix will be a one liner in our Git repo… to be continued :)

I’m not quite sure why the GRUB chainloading is involved on the ThinkPad T460 (normally we only use GRUB for 32-bit UEFI), and I can’t investigate easily as its screen is broken. I guess it’s due to some weirdness Whatever.

I don’t understand how we (Installation Assistant developers, Foundations Team members, Help Desk) have not managed to do Bug #14959 in 2 years. I think a blame-free postmortem process would be in order. I suspect it’s another instance of too vague scope of responsibilities, which leads us to not go through the extra mile needed to test it (e.g. me to get access to a Windows system, or sajolida to get access to a UEFI computer, or getting a picture of the screen which would have allowed me to understand it was a GRUB problem).

#13 Updated by intrigeri 2017-11-11 16:12:19

#14 Updated by intrigeri 2017-11-11 16:24:52

  • Feature Branch set to bugfix/8992-uui-vs-uefi

#15 Updated by intrigeri 2017-11-11 16:39:46

  • Subject changed from "no configuration file found" when booting Tails installed with UUI in UEFI mode to USB sticks installed with UUI fail to boot in UEFI mode: "no configuration file found"

#16 Updated by intrigeri 2017-11-11 18:03:13

  • % Done changed from 10 to 20

A USB stick installed with UUI with an ISO built from this branch boots fine (up to the Greeter):

  • in UEFI mode: on a ThinkPad T460 and a MacBook Pro 8,1
  • in legacy mode: on a ThinkPad X200

Same for a USB stick installed with dd on the ThinkPad T460 (that fallbacks to legacy boot) and X200 (legacy boot), but the MacBook Pro 8,1 won’t boot, which is kind of expected.

I’ve started a full test suite run locally to ensure this doesn’t break other supported use cases. I have great hopes this can make it into Tails 3.3.

#17 Updated by intrigeri 2017-11-11 20:47:03

  • Assignee changed from intrigeri to anonym
  • % Done changed from 20 to 50
  • QA Check set to Ready for QA

Crap, I see a kernel panic in the first “When I shutdown Tails and wait for the computer to power off” step during the “Writing a Tails isohybrid to a USB drive and booting it, then installing Tails on top of it using Tails Installer, and it still boots”. But, I’ve tested the important part (“installing Tails on top of it using Tails Installer, and it still boots”) by hand and it still works. The only supported installation scenarios that go through the failing step are:

  • Linux expert: no big deal, these people will manage to turn off the machine by hand;
  • Mac: they won’t be affected as the intermediary isohybrid stick can’t currently boot on their hardware in the first place, i.e. this installation scenario is uterly broken anyway, so they won’t even go far enough to see this problem; let’s pretend it’s good news in this context…

=> IMO repairing a major installation scenario, as done by this branch, is totally worth introducing this regression… which is probably unrelated to this branch anyway: I don’t see how a UEFI bootloader config file being renamed can affect the behaviour of a device booted in legacy mode. If you agree I’ll file a ticket about it and will take a closer look later.

Other than that, these features pass flawlessly on 1st try on my local Jenkins:

  • features/usb_install.feature
  • features/usb_upgrade.feature
  • features/persistence.feature

(I have a full test suite running but given this change should only affect UEFI boot, it doesn’t feel worth waiting for it to complete before I send this to QA. I prefer to give you more time to review and raise any concern you may have.)

#18 Updated by anonym 2017-11-12 13:41:52

From commit:1ac411ac3af98f8dfaa29ed5882cf95e1cff1b78:
> If we’re extremely lucky, this might also incidentally fix booting in UEFI mode
> Tails devices created with dd on the command line (e.g. following our
> Installation Assistant for macOS) — we’ll see.

I tested this (by modifying the isohybrid scenario to boot from it in UEFI mode) and sadly we are not extremely lucky. :/

#19 Updated by intrigeri 2017-11-12 14:03:16

> I tested this (by modifying the isohybrid scenario to boot from it in UEFI mode) and sadly we are not extremely lucky. :/

Yes, this matches my results for the same test I had already done on bare metal (Bug #8992#note-16).

#20 Updated by anonym 2017-11-12 16:29:09

  • % Done changed from 50 to 90
  • QA Check changed from Ready for QA to Pass

intrigeri wrote:
> Crap, I see a kernel panic in the first “When I shutdown Tails and wait for the computer to power off” step during the “Writing a Tails isohybrid to a USB drive and booting it, then installing Tails on top of it using Tails Installer, and it still boots”.

I cannot reproduce this (5 tries) and neither can Jenkins (2 tries) so I think it was unrelated. But…

> But, I’ve tested the important part (“installing Tails on top of it using Tails Installer, and it still boots”) by hand and it still works. The only supported installation scenarios that go through the failing step are:
>
> * Linux expert: no big deal, these people will manage to turn off the machine by hand;
> * Mac: they won’t be affected as the intermediary isohybrid stick can’t currently boot on their hardware in the first place, i.e. this installation scenario is uterly broken anyway, so they won’t even go far enough to see this problem; let’s pretend it’s good news in this context…
>
> => IMO repairing a major installation scenario, as done by this branch, is totally worth introducing this regression… which is probably unrelated to this branch anyway: I don’t see how a UEFI bootloader config file being renamed can affect the behaviour of a device booted in legacy mode. If you agree I’ll file a ticket about it and will take a closer look later.

If it turns out the kernel panic is related: I agree with your reasoning.

> Other than that, these features pass flawlessly on 1st try on my local Jenkins:
>
> * features/usb_install.feature
> * features/usb_upgrade.feature
> * features/persistence.feature

Passed on my system too!

> (I have a full test suite running but given this change should only affect UEFI boot, it doesn’t feel worth waiting for it to complete before I send this to QA. I prefer to give you more time to review and raise any concern you may have.)

Ok. I’m ready to merge this branch and I’ll do so in time for 3.3 unless you report that this test suite run failed for related reasons.

#21 Updated by intrigeri 2017-11-12 17:06:17

> Ok. I’m ready to merge this branch and I’ll do so in time for 3.3 unless you report that this test suite run failed for related reasons.

It went fine.

#22 Updated by anonym 2017-11-13 11:07:59

  • Status changed from In Progress to Fix committed
  • Assignee deleted (anonym)
  • % Done changed from 90 to 100

#23 Updated by anonym 2017-11-15 11:34:10

  • Status changed from Fix committed to Resolved