New personality for more accurate armv7l emulation on arm64

Bug #1520627 reported by Colin Watson on 2015-11-27
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Andy Whitcroft
Andy Whitcroft
Andy Whitcroft

Bug Description

We're working on bringing up new arm64 builder infrastructure in Launchpad scalingstack to replace the current bare-metal builders, and the current plan is that they should be able to cover armhf as well. Ideally, we would be able to do this using the same guest images: scalingstack builders are reset at the end of the previous build so that latency for new builds is lower when the build farm isn't at 100% use, which means that we don't in general know which architecture a given builder is going to need to build next, so we can get better density out of our hardware by having the same guest images be able to handle more than one architecture.

Things mostly work just by chrooting into an armhf chroot under linux32. However, this causes "uname -m" to print "armv8l", while our current value on our armhf builders is "armv7l". I'd initially thought that this would be tolerable, but my understanding from Adam Conrad is that the breakage from poorly-written build scripts that misdetect the architecture as a result is quite widespread. So, we would like to have a personality value available that would cause "uname -m" to print "armv7l".

This doesn't look completely trivial, because newuname() basically just has compat and non-compat mode for architectures based on whether the personality is PER_LINUX32 or not, and doesn't currently seem to have extension points beyond that. I'm hoping this is fixable. If not, we need to know with as much lead time as possible so that we can bring up separate armhf guests, since that's going to be a fair amount of work for us to arrange.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1520627

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Colin Watson (cjwatson) wrote :

This is a specific actionable feature request with no relevant log files.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Andy Whitcroft (apw) wrote :

It looks like we could off you a kernel command line like compat_uts_machine=<string> to allow the 32bit architecture be overridden at boot time for the life of the machine.

Changed in linux (Ubuntu):
status: Confirmed → In Progress
importance: Undecided → High
assignee: nobody → Andy Whitcroft (apw)
Changed in linux (Ubuntu Wily):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Andy Whitcroft (apw)
Changed in linux (Ubuntu Xenial):
milestone: none → ubuntu-15.12
William Grant (wgrant) wrote :

I've tested the compat_uts_machine patch, and it works fine. Thanks!

Andy Whitcroft (apw) on 2016-01-19
Changed in linux (Ubuntu):
milestone: ubuntu-15.12 → ubuntu-16.01
Brad Figg (brad-figg) on 2016-01-22
Changed in linux (Ubuntu Wily):
status: In Progress → Fix Committed
Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-wily' to 'verification-done-wily'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-wily
Andy Whitcroft (apw) on 2016-02-01
Changed in linux (Ubuntu):
milestone: ubuntu-16.01 → ubuntu-16.02
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 4.2.0-27.32

linux (4.2.0-27.32) wily; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1536867

  [ Andy Whitcroft ]

  * SAUCE: (no-up) add compat_uts_machine= kernel command line override
    - LP: #1520627

  [ Colin Ian King ]

  * SAUCE: (no-up) ACPI / tables: Add acpi_force_32bit_fadt_addr option to
    force 32 bit FADT addresses
    - LP: #1529381

  [ Eric Dumazet ]

  * SAUCE: (no-up) udp: properly support MSG_PEEK with truncated buffers
    - LP: #1527902

  [ Guilherme G. Piccoli ]

  * SAUCE: powerpc/eeh: Validate arch in eeh_add_device_early()
    - LP: #1486180

  [ Tim Gardner ]

  * SAUCE: (no-up) Revert "[SCSI] libiscsi: Reduce locking contention in
    fast path"
    - LP: #1517142
  * [Config] Add DRM ast driver to udeb installer image
    - LP: #1514711

  [ Upstream Kernel Changes ]

  * net/mlx5e: Re-eanble client vlan TX acceleration
    - LP: #1533249
  * net/mlx5e: Fix LSO vlan insertion
    - LP: #1533249
  * net/mlx5e: Fix inline header size calculation
    - LP: #1533249
  * net: usb: cdc_ncm: Adding Dell DW5812 LTE Verizon Mobile Broadband Card
    - LP: #1533118
  * net: usb: cdc_ncm: Adding Dell DW5813 LTE AT&T Mobile Broadband Card
    - LP: #1533118
  * powerpc/eeh: Fix recursive fenced PHB on Broadcom shiner adapter
    - LP: #1532942

linux (4.2.0-26.31) wily; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1535795
  * Merged back Ubuntu-4.2.0-25.30

 -- Brad Figg <email address hidden> Thu, 21 Jan 2016 18:44:37 -0800

Changed in linux (Ubuntu Wily):
status: Fix Committed → Fix Released
Andy Whitcroft (apw) wrote :

In xenial this was released in: Ubuntu-4.4.0-3.17.

Changed in linux (Ubuntu Xenial):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers