udev firmware handler needs to support multiple firmware sources for Ubuntu Touch

Bug #1187616 reported by Steve Langasek
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Fix Released
Undecided
Martin Pitt

Bug Description

Currently, udev has a hardcoded firmware search path of /lib/firmware. This prevents it from being usable to load all firmware on ubuntu touch images, which necessarily have separate partitions for vendor-provided firmware vs. system-provided firmware - we can't expose both of these sets of firmware in /lib/firmware. So to address this, udev would need to be configured to search more than one firmware path. This appears to be supported using a space-separated list of directories as the argument to --with-firmware-path.

The logical directories to search in an Ubuntu Touch context would be /lib/firmware, /system/firmware, and /vendor/firmware. If we want to avoid the latter two as being non-standard directories, we can use bind mounts or symlinks to the appropriate places and only search "standard" directories like /lib/firmware and /usr/local/lib/firmware. But at minimum we need one extra search path.

Revision history for this message
Martin Pitt (pitti) wrote :

There is nothing wrong with adding these two to the search path but they don't actually exist on disk, so I committed that for now. These are certainly not LSB-blessed directories (something you were adamant about in other cases, incidentally :-) ), but if the underlying Android system puts the files there anyway, we shouldn't make it even more complicated by adding symlinks on top of that structure.

Changed in systemd (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
status: New → Fix Committed
Revision history for this message
Oliver Grawert (ogra) wrote :

i'm not actually sure you want to handle the device initialization at all on the ubuntu side,

device initialization should rather be handled inside the container and udev should only provide the device nodes and platform-api sockets for us (see the lxc-android-config package which ships a udev rule to provide symlinks and permission settings for android handled devices)

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package systemd - 204-0ubuntu2

---------------
systemd (204-0ubuntu2) saucy; urgency=low

  * debian/rules: Add /system/firmware and /vendor/firmware to firmware search
    paths. (LP: #1187616)
  * debian/libpam-systemd.postinst: Notify about required reboot when
    upgrading from < 204, as due to changed cgroup layout restarting logind
    after the upgrade would lose all existing sessions. (LP: #1187579)
 -- Martin Pitt <email address hidden> Wed, 05 Jun 2013 11:07:38 +0200

Changed in systemd (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.