Community
cancel
Showing results for 
Search instead for 
Did you mean: 
BHund
Novice
891 Views

Quark BSP Linux Kernel Patch Issue (1.2.0)

Hello,

In the quark_linux_v3.14+v1.2.0.tar.gz is a file: upstream.cfg

that explains the upstream source to apply the patches to

=====================================================

[upstream]

name = quark_linux

url = git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

tag = v3.14

sha = 5d559a740483b867d79f8b7a6a94019271fca8f7

=====================================================

 

Yet looking at the linux-stable tree, this sha commit id does not exist.

The v3.14 tag is actually: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?h=v3.14&id=455c6fdbd219161bd... 455c6fdbd219161bd09b1165f11699d6d73de11c

in both the stable tree, and in Linus's tree.

I created a branch from this tag and tried to `git am` the patches anyway.

A few of the patches had whitespace issues and would not apply using `git am`, and had to be manually patched, then run `git am --continue` after adding the changed files.

That was until I got to patch 0290: [PATCH 290/366] net: can: slcan: Added XSLCAN version of slcan module

This patch did not apply cleanly, and I'm not familiar with this code.

Is there something I'm missing?

5 Replies
BHund
Novice
95 Views

Instead of going the `git am` route, I tried to just use gnu/patch.

I downloaded the https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-3.14.tar.gz tarball of 3.14, and extracted it inside the directories with the Intel BSP tarballs, and did this for loop:

for i in $(ls ../quark_linux_v3.14+v1.2.0/*.patch); do echo ${i}; patch -F3 -l -p1 < ${i} || break; done

The -F3 gets me past an issue with patch 254: [PATCH 254/366] pch_udc: Pass VBUS GPIO from BSP

where hunk # 1 fails to apply to drivers/usb/gadget/Kconfig:

=====================================================

../quark_linux_v3.14+v1.2.0/0254-pch_udc-Pass-VBUS-GPIO-from-BSP.patch

patching file drivers/usb/gadget/Kconfig

Hunk # 1 FAILED at 467.

1 out of 1 hunk FAILED -- saving rejects to file drivers/usb/gadget/Kconfig.rej

patching file drivers/usb/gadget/Makefile

patching file drivers/usb/gadget/pch_gpio_vbus.c

patching file drivers/usb/gadget/pch_udc.c

Hunk # 2 succeeded at 3168 (offset -10 lines).

patching file include/linux/platform_data/pch_udc.h

patching file include/linux/usb/pch_gpio_vbus.h

=====================================================

the -l gets me past the whitespace issues in other patches (the kernel code style uses tabs, not spaces!).

If the patch fails, the loop breaks and I know where it fails. So, as I mentioned in the previous post, here is the patch and the failure:

=====================================================

../quark_linux_v3.14+v1.2.0/0290-net-can-slcan-Added-XSLCAN-version-of-slcan-module.patch

patching file drivers/net/can/slcan.c

Hunk # 1 FAILED at 65.

Hunk # 2 succeeded at 135 (offset -2 lines).

Hunk # 3 succeeded at 170 (offset -2 lines).

Hunk # 4 succeeded at 212 (offset -2 lines).

Hunk # 5 succeeded at 247 (offset -2 lines).

Hunk # 6 FAILED at 305.

Hunk # 7 FAILED at 347.

Hunk # 8 succeeded at 359 (offset -12 lines).

Hunk # 9 succeeded at 377 (offset -12 lines).

Hunk # 10 succeeded at 388 (offset -12 lines).

Hunk # 11 succeeded at 397 (offset -12 lines).

Hunk # 12 succeeded at 412 (offset -12 lines).

Hunk # 13 succeeded at 480 (offset -12 lines).

Hunk # 14 FAILED at 519.

Hunk # 15 succeeded at 572 (offset -13 lines).

Hunk # 16 succeeded at 597 (offset -13 lines).

Hunk # 17 succeeded at 610 (offset -13 lines).

Hunk # 18 succeeded at 650 (offset -13 lines).

Hunk # 19 succeeded at 662 with fuzz 1 (offset -17 lines).

Hunk # 20 succeeded at 677 (offset -17 lines).

Hunk # 21 succeeded at 686 (offset -17 lines).

Hunk # 22 succeeded at 715 (offset -17 lines).

Hunk # 23 succeeded at 748 (offset -17 lines).

Hunk # 24 succeeded at 762 (offset -17 lines).

Hunk # 25 succeeded at 779 (offset -17 lines).

4 out of 25 hunks FAILED -- saving rejects to file drivers/net/can/slcan.c.rej

=====================================================

Sergio_A_Intel
Employee
95 Views

Hi,

We will investigate on this case. We will post a reply for you soon.

Sergio

Sergio_A_Intel
Employee
95 Views

I noticed you're using the kernel from kernel.org. Can you try to use the Yocto BSP for Quark? We built successfully BSP 1.2.0 on Ubuntu 14.04 LTS. The image built with the Quark BSP also builds a 3.14 kernel.

Sergio

BHund
Novice
95 Views

I'm using the upstream linux-stable v3.14, as that is what the upstream.cfg says is the upstream. Not the yocto version of the linux kernel.

I am making a custom build that does not use yocto, and I expected the patches to apply to the upstream vanilla linux kernel.

In the case that these patches only apply to the yocto version of the linux kernel, then the upstream.cfg should reflect that.

Sergio_A_Intel
Employee
95 Views

The Yocto BSP is the only image we support. You can see more information here https://downloadcenter.intel.com/download/23197/Intel-Quark-BSP Download Intel® Quark™ BSP

Sergio

Reply