-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[marvell-armhf] Armada A385 soc support #176
Conversation
Duplicate of PR 172 #172, |
@paulmenzel, can you take a look at this pr? |
@paulmenzel , Would you please review the PR? |
Sorry, I thought, I replied in #172 to keep discussion there. |
Marvell armhf requires configuration from "sonic-linux-kernel/linux-4.19.118/arch/arm/configs/mvebu_v7_defconfig" however it is not so when debian prepares the .config. |
Paul - what is missing or required from Marvell/Nokia teams to merge this PR? -- we need to get this merged ASAP please |
Please read the discussion in merge/pull request #172. |
Please forgive my lack of clarity on this PR, but I did read PR 172 before asking you for help on this PR 176. I just re-read it again. I want to help resolve whatever is needed ASAP. Is my understanding correct? ... or are you also looking for a rebase to better define the list of commits for review? |
Yes, your understanding is correct. Then for example, it might become clear, why you have to add certain configs to the inclusion file, and it’s opposite configuration to the exclusion file at the same time ( |
Having to merge/pull requests is now even more confusing, but so be it. For example 9976144:
I asked several times to follow the guide on how to write commit messages. The summary belongs in the first line for example, and that’s what it at the very beginning and also well seen in the Linux kernel and git project repository. Why the kernel tag? It’s the sonic-linux-kernel repository. Maybe:
|
48eefd0
to
c8cff7f
Compare
@paulmenzel, @lguohan, |
Thank you, much better! Some nits:
|
c8cff7f
to
bc6dc33
Compare
@paulmenzel #1 Since only one compression method can be selected, added config to exclude XZ as it came as part of default config. The conf script didn't report any error. #2 Documented the file size in the commit description as suggested, please check and confirm if that is fine. #3 Corrected the typo "appened" in commit description. |
@antony-rheneus, it looks like this gz v.s xz issue has been brought up multiple times, and looks like xz is prefered over gz. since armhf maybe used for other sku in the future, can you change to xz instead of gz, so that in the future we won't need to discuss this option again. |
bceed9a
to
4b676dc
Compare
@lguohan, @paulmenzel , |
lgtm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I feel like I am missing something, that I have all these questions, nobody else has during review. Also, I am now spent over one hour with the merge/pull request, which actually tries to do a simple thing. I know you spent more time on it, but I actually do not get paid for this, and only stumbled upon in, while looking at the “project status” of SONiC.
patch/kconfig-exclusions
Outdated
CONFIG_NO_HZ_IDLE | ||
CONFIG_HZ_250 | ||
CONFIG_SLUB | ||
CONFIG_DEBUG_SLAB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is that added here? The config defaults to n, doesn’t it?
Paul - I will set up a meeting with you - this merge is blocking many people - lets get on a call please to answer your questions - we need to wrap this up please. I will send you invite and cc Guohan now. |
Thanks. It would be nice though to get some written reply to my comments beforehand. |
4b676dc
to
bd6a99e
Compare
@paulmenzel , @lguohan , |
Below are the recent commits under review.
|
@paulmenzel, Antony addressed your comment and pushed the changes. Can you please review and let us know if you have any further comments |
Thank you for the last changes. In commit 305dc69 you cite the numbers below:
Is that a hardware limitation? Or a U-Boot issue? Do you have an upstream bug report for that? So as talked about in the conference, it would be great, if you documented the maximum allowed size, and what compression algorithm was used (if it actually plays a role). The merge/pull request description would be something like (just a made-up suggestion):
|
In earlier sonic-kernel version to support nand flash driver has been back ported to it. With the recent kernel version driver is upstreamed Also the kernel kconfig variables were managed as a patch to .config file which is no longer needed with "manage-config" script Deleted backported nand flash patch Deleted kernel .config patches for armhf and arm64 Update series to remove marvell specific commented/unused patch files Signed-off-by: Antony Rheneus <arheneus@marvell.com>
Current sonic-linux-kernel does not support the platform specific kernel configuration. This commit addresses this by adding support to parse kconfig-inclusions and kconfig-exclusions based on platform string along with CPU architecture string Update manage-config script to parse the platform string to enable platform specific kconfig CONFIG_xxx variables based on CONFIGURED_PLATFORM. CONFIGURED_PLATFORM value will be passed from sonic-buildimage Makefile Testing: Checked the kernel builds and boots with proper .config Signed-off-by: Antony Rheneus <arheneus@marvell.com>
As per the base configuration from the upstreamed linux community linux-4.19.118/arch/arm/configs/mvebu_v7_defconfig, the following configuration changes are made - Set number of gpio pins to 0 as it would be configured from fdt - Enable mtd parts to access flash partition layout for nand mtd devices provided from fdt Testing: - Checked gpio pins are configured as per platform specific fdt - Checked mtd block and char devices accessible as defined in fdt Signed-off-by: Antony Rheneus <arheneus@marvell.com>
The current kernel configuration does not include optoe driver for qsfp/sfp eeprom, and gpio driver for gpio pin based i2c muxes - Enable OPTOE driver for [Q]SFP eeprom - Enable I2C Mux for gpio pin based mux Testing: - Checked sfp eeprom is accessible via optoe driver through gpio based i2c mux Signed-off-by: Antony Rheneus <arheneus@marvell.com>
Marvell-armhf platforms using u-boot has constraints when loading the kernel image into the physical memory region reserved for the kernel and ramdisk image. The size constraint is platform specific. This commit reduces the size of the kernel image to meet those constraints. The compression used for the kernel is xz. - Disable unused architectures to reduce the size of the kernel - Disable sound device driver module Testing: - Check kernel boots without any memory overlapping errors - kernel binary size before this commit : 6197760 bytes - kernel binary size after this commit : 3600624 bytes Signed-off-by: Antony Rheneus <arheneus@marvell.com>
As per the base configuration from the upstreamed linux community linux-4.19.118/arch/arm/configs/mvebu_v7_defconfig, the following configuration changes are made - Disable EFI as it is not supported in marvell armada soc - Disable uefi based kernel module load security Signed-off-by: Antony Rheneus <arheneus@marvell.com>
For armhf "unsigned" is not appended to the linux-image file name Hence removed it from the target name Testing: - Checked linux image debian is copied properly after sucessful build Signed-off-by: Antony Rheneus <arheneus@marvell.com>
bd6a99e
to
782ce13
Compare
Size constraint is hardware specific limitation for u-boot based platforms. |
@paulmenzel , I have updated the comment description, and also the PR description. Would you please review? |
Do you have a reference for that? |
Nice, looks good. Just to be sure: I made up the number in “Linux kernel size can only be 6 MB,”. That is correct. Also, just to be sure:
The 6.2 MB is really XZ compressed image or was it with GZIP? Because if you try XZ which results in smaller size, maybe you can use the default kernel configuration. |
Just to be clear, although I am interested in the answers of the questions above, I do not want to hold anything up. So, if @lguohan wants to accept this, please go ahead. |
@paulmenzel , thanks for the reviewing. the pr is good. @antony-rheneus , please try to answer the questions, I am also curious to learn. |
@antony-rheneus, it’d be great if you replied to my questions. |
@paulmenzel , sure, I will test the kernel with the changes and reply back. |
@paulmenzel ,
However, the kernel hangs, so there is some conflicting CONFIG variable when all SOCs are defined. I will require some more time to debug this to narrow down the invalid configuration.
|
Over three months have passed. Were you able to fix the issue? |
Not yet, we will get back. |
@carl-nokia, could you (or the responsible project manager) please allocate time for @antony-rheneus or some other developer/engineer to work on this? |
Over a year has passed, and the promised work, convincing the reviewers to merge the changes, has not happened yet. |
@paulmenzel, |
@paulmenzel, If I recollect the issue,
This was the question remained unanswered. Please help me recollect the issue. And to add more details, if above was the issue that left unanswered, we had similar issue with Kernel hang due to image size |
Add platform specific SOC kernel configuration based on CONFIGURED_PLATFORM variable passed from sonic-buildimage.
Marvell patches applied to Linux 4.19 are removed,
Kernel driver for SFF, optoe Eeprom are enabled for Armhf architecture.
Due to a platform limitation the (compressed) Linux kernel size can only be 6 MB, so the Linux kernel configuration is shrinked to reduce the size.
Enable MTD parts and command line to access the nand flash