Mailinglist Archive: opensuse-factory (765 mails)

< Previous Next >
Re: [opensuse-factory] New Tumbleweed snapshot 20171120 released!
Hi Daniel,

Let's move the discussion to opensuse-arm list.

Am 23.11.2017 um 12:07 schrieb Daniel Molkentin:
On 11/22/2017 06:31 PM, Andreas Färber wrote:
Am 22.11.2017 um 04:25 schrieb Dominique Leuenberger:
==== kernel-source ====
Version update (4.13.12 -> 4.14.0)
Subpackages: kernel-default kernel-default-devel kernel-devel kernel-docs
kernel-macros kernel-syms

- Update to 4.14-final.
On the aarch64 based Pine64 board it has been observed that the updated
dtb-allwinner package now requires the axp20x-regulator module in the
initrd for using the MMC driver, and its parent module axp20x-rsb does
not get loaded automatically even if added to the initrd.
I would prefer if that would be fixed in the kernel by adding the proper
dependencies.
Is there any chance for that?

There's multiple issues at play here:

1) This is not a module compile-time dependency issue, but rather a
run-time dependency issue, which AFAIU dracut is not resolving today.

As a result the JeOS images in openSUSE:Factory:ARM etc. contain a
number of add_drivers entries to load such extra modules:
https://build.opensuse.org/package/view_file/openSUSE:Factory:ARM/JeOS/config.sh?expand=1
That is of course ugly and would be nice to get resolved differently.

Dracut would need to parse the Device Tree in /sys/firmware/ to discover
what regulator, clock, power domain, etc. nodes are being referenced,
then read their "compatible" strings and resolve them to the modules to
add. The kernel uses generic API calls such as clk_get() and
regulator_get(), thus no compile-time dependency for e.g. mmc modules.

However when updating from 4.13 to 4.14 or from 4.14-rc4 to -rc8 it
would've still read the current Device Tree and not discovered this new
dependency for next boot. And Kiwi images get built in KVM, which will
have a different Device Tree than the user's system or even ACPI. So I
don't see a full solution yet.

Let me know if I should report this somewhere upstream - it didn't seem
a distro-specific issue for our Bugzilla.
https://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html#_troubleshooting
explains what info to include in a bug report, but not actually where to
file it. ;) No link on dracut.wiki.kernel.org either.

2) axp20x-rsb driver does have MODULE_DEVICE_TABLE(of, ...), so it is
unclear to me why the DT -> module resolution for auto-loading is not
working here.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/mfd/axp20x-rsb.c?h=v4.14

It is almost certainly an upstream kernel issue, possibly in sunxi-rsb
bus driver. Stefan has already reported this on #linux-sunxi.

Otherwise, the "proper" dracut patch would
looks something like the attached one.

Hm, instmod is just the equivalent of "add_drivers", is it? That would
not be enough here. Also not all ARM systems need this driver, it's an
extra chip on some boards only.

What you could do is more generally add all =drivers/mfd drivers. But if
we keep adding drivers by category instead of addressing the underlying
discovery issue, we risk at some point the initrd getting too large for
low-RAM systems.

Regards,
Andreas

--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups