Bug 1215326 - [aarch64] Installation support for lenovo X13s
Summary: [aarch64] Installation support for lenovo X13s
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Installation (show other bugs)
Version: Current
Hardware: aarch64 Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Steffen Winterfeldt
QA Contact: Jiri Srain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-14 05:41 UTC by Chester Lin
Modified: 2023-09-25 08:55 UTC (History)
6 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chester Lin 2023-09-14 05:41:59 UTC
There are some kernel modules that need to be included in the initrd of the opensuse installer in order to boot Lenovo X13s, which is an arm64 laptop based on Qualcomm 8cx gen3 CPU.

The machine wouldn't boot without the following modules:

kernel/drivers/clk/qcom/clk-rpmh.ko
kernel/drivers/clk/qcom/dispcc-sc8280xp.ko
kernel/drivers/clk/qcom/gcc-sc8280xp.ko
kernel/drivers/remoteproc/qcom_q6v5.ko
kernel/drivers/remoteproc/qcom_q6v5_pas.ko
Comment 1 Chester Lin 2023-09-14 06:01:44 UTC
I have created a PR:

https://github.com/openSUSE/installation-images/pull/660
Comment 2 Chester Lin 2023-09-14 06:19:23 UTC
(In reply to Chester Lin from comment #1)
> I have created a PR:
> 
> https://github.com/openSUSE/installation-images/pull/660

Another problem that I haven't figured out is that firmware blobs need to be loaded with the remoteproc drivers [qcom_q6v5 & qcom_q6v5] are not mentioned by driver code via the MODULE_FIRMWARE() macro, which means there's no firmware field in their modinfo. But they are mentioned in the devicetree[1] like this:


&remoteproc_adsp {
	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn";

	status = "okay";
};

&remoteproc_nsp0 {
	firmware-name = "qcom/sc8280xp/LENOVO/21BX/qccdsp8280.mbn";

	status = "okay";
};

Could installation-images still fetch these two .mbn files into /lib/firmware?

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts?h=v6.5#n938
Comment 3 Chester Lin 2023-09-14 06:26:57 UTC
Lenovo does not provide X13s ACPI support for Linux so hardware information is all from devicetree.
Comment 4 Steffen Winterfeldt 2023-09-18 11:51:15 UTC
pr merged, thanks!
Comment 5 Chester Lin 2023-09-25 02:46:25 UTC
Sorry for reopening this bug.

There are a few more modules that need to be added since the original list is based on JeOS, and I found that the installer needs more modules included for X13s boot since the installer doesn't rely on an additional "root=" part to hold the other kernel modules, which means everything should be included in initrd ->parts/00_lib.
Comment 6 Chester Lin 2023-09-25 02:52:59 UTC
(In reply to Chester Lin from comment #5)
> Sorry for reopening this bug.
> 
> There are a few more modules that need to be added since the original list
> is based on JeOS, and I found that the installer needs more modules included
> for X13s boot since the installer doesn't rely on an additional "root=" part
> to hold the other kernel modules, which means everything should be included
> in initrd ->parts/00_lib.

Hi Steffen,

Another PR has been created here:
https://github.com/openSUSE/installation-images/pull/663

Could you please help to review it? Thank you.
Comment 7 Chester Lin 2023-09-25 03:54:48 UTC
More modules required for installation-images:

gpucc-sc8280xp
nvmem_qcom-spmi-sdam
qcom_hwspinlock
qnoc-sc8280xp
pmic_glink
pmic_glink_altmode
smp2p
spmi-pmic-arb
Comment 8 Steffen Winterfeldt 2023-09-25 08:55:33 UTC
This pr also merged, thanks!