Project

General

Profile

Bug #17179

create-usb-image-from-iso maybe mixes syslinux data between Vagrant box and chroot

Added by anonym 3 months ago. Updated 7 days ago.

Status:
In Progress
Priority:
Normal
Category:
Build system
Target version:
-
Start date:
Due date:
% Done:

40%

Feature Branch:
https://gitlab.com/johanbluecreek/tails.git:bugfix/17179-proper-chroot-for-syslinux
Type of work:
Code
Blueprint:
Starter:
Affected tool:

Description

When working on migrating the Vagrant box to Debian buster some syslinux-related differences between the USB images were found.

The changes we did in #16748 were probably incomplete: for example, even if we run chroot/usr/bin/syslinux, that binary will probably look for its data files (MBR and such) in / and not in chroot/, so there's a change that we were still mixing up bits of Stretch (from the Vagrant box) with bits from Buster (from the chroot).

So, let's properly chroot into chroot/ when running syslinux. The comment #16748#note-12 might be a starting point.


Related issues

Blocks Tails - Feature #16209: Core work: Foundations Team Confirmed

Associated revisions

Revision fa4ce1c8 (diff)
Added by johanbluecreek 10 days ago

create-usb-image-from-iso: Run syslinux within proper chroot (Will-fix: #17179)

History

#1 Updated by anonym 3 months ago

#2 Updated by anonym 3 months ago

anonym wrote:

The changes we did in #16748 were probably incomplete: for example, even if we run chroot/usr/bin/syslinux, that binary will probably look for its data files (MBR and such) in / and not in chroot/, so there's a change that we were still mixing up bits of Stretch (from the Vagrant box) with bits from Buster (from the chroot).

We should verify this before we implement the suggested solution. I guess we could just run the same commands under strace or similar to record which files are actually accessed.

#3 Updated by anonym 3 months ago

  • Subject changed from create-usb-image-from-iso mixes syslinux data between Vagrant box and chroot to create-usb-image-from-iso maybe mixes syslinux data between Vagrant box and chroot

#4 Updated by intrigeri 19 days ago

anonym wrote:

We should verify this before we implement the suggested solution.

Absolutely!

I guess we could just run the same commands under strace or similar to record which files are actually accessed.

This, or… build in a basebox that has no syslinux bits at all, and see if the build fails :)

#5 Updated by johanbluecreek 9 days ago

  • Feature Branch set to https://gitlab.com/johanbluecreek/tails.git:bugfix/17179-proper-chroot-for-syslinux

In this branch syslinux is called from within the chroot env., and syslinux has been removed from the builder.

#6 Updated by johanbluecreek 9 days ago

  • Status changed from Confirmed to In Progress

#7 Updated by anonym 9 days ago

  • Assignee set to johanbluecreek
  • % Done changed from 0 to 40

johanbluecreek wrote:

In this branch syslinux is called from within the chroot env., and syslinux has been removed from the builder.

Thanks a lot! :)

I have pushed your branch to our CI infra to get your work automatically tested before marking this as Needs Validation.

#8 Updated by intrigeri 8 days ago

Woohoo!

First, welcome aboard, johanbluecreek :)

anonym wrote:

I have pushed your branch to our CI infra to get your work automatically tested before marking this as Needs Validation.

I understand that you expect johanbluecreek to manually test the image that will land in https://nightly.tails.boum.org/build_Tails_ISO_bugfix-17179-proper-chroot-for-syslinux/lastSuccessful within 24h after the 4.2.1 release.

johanbluecreek, once you've done so, please report back and deassign yourself, and then a Foundations Team member will check Jenkins results and review the code changes :)

#9 Updated by anonym 7 days ago

intrigeri wrote:

anonym wrote:

I have pushed your branch to our CI infra to get your work automatically tested before marking this as Needs Validation.

I understand that you expect johanbluecreek to manually test the image that will land in https://nightly.tails.boum.org/build_Tails_ISO_bugfix-17179-proper-chroot-for-syslinux/lastSuccessful within 24h after the 4.2.1 release.

From what I understand he has built it himself and tested it, but he hasn't run the automated test suite, so that's why I pushed it (and what we are waiting for)!

johanbluecreek, once you've done so, please report back and deassign yourself, and then a Foundations Team member will check Jenkins results and review the code changes :)

Since he does not have access to Jenkins' test results, I'll monitor this for him, and do those steps. Would be great if we could give read-only access ( publicly?) as a remedy.

#10 Updated by intrigeri 7 days ago

anonym wrote:

Since he does not have access to Jenkins' test results, I'll monitor this for him, and do those steps.

Great! :)

Would be great if we could give read-only access ( publicly?) as a remedy.

Yep (#6270). The main blocker we had for years (#10068) is gone. I don't know how much work #6270 would take.

Meanwhile, some of the results can be found on https://nightly.tails.boum.org/, but not everything is accessible, because log files contain passwords.

Also available in: Atom PDF