You are not logged in.
Pages: 1
Hello,
I need to apply a single patch to the kernel to make my AverMedia Volar Green HD (A835B) work. However, this need a kernel recompilation every single time the kernel updates. I need to pull the latest abs tree, alter the PKGBUILD (1 single line) and build it.
Is there any solution to all that mess?
I use the default kernel, but right now I'm testing linux-ck. What can I do? Is there any specific folder that i put all my patches and yaourt applies it? or any way to build the specific module I need with the patch applied outside of the kernel?
Also, I have an nvidia card and I use the propriety drivers (I need 3D acceleration). It may cause some trouble...
Last edited by ttouch (2013-04-27 06:51:35)
GitHub | Git Server | Blog
Offline
I need to pull the latest abs tree, alter the PKGBUILD (1 single line) and build it. Is there any solution to all that mess?
That doesn't really sound like a mess to me. Add the patch to the kernel you want to use (official from ABS, linux-ck...) and use makepkg.
You're right, there is a way to rebuild only the module you patched, but I unfortunately don't know how to do that. I'd just take the lazy way and use the ABS.
Offline
but I have to do all the abs thing EVERY time...
GitHub | Git Server | Blog
Offline
You can use https://aur.archlinux.org/packages/customizepkg/ to help things along but, yes, you will have to compile the kernel on every update (which a lot of us do anyway if we're using -ck/...)
Offline
I want to be able to just yaourt -Syua. Editing the PKGBUILD every single time is not a smart way of maintaining your system...
EDIT: customizepkg is just what I needed! thank you!
Last edited by ttouch (2013-02-27 16:19:17)
GitHub | Git Server | Blog
Offline
You can automate it further, if customizepkg is not enough. Create your own script that does the following:
- sync abs
- compare kernel version in abs to version in your custom PKGBUILD
- if new kernel available:
- - clean build dir
- - copy new PKGBUILD and patches
- - add your patch file, mdsum and patch command
- - run makepkg
- - run pacman and wait for user to complete installation
Last edited by progandy (2013-02-27 16:20:16)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
For a better long-term solution, you should submit the patch upstream (check if it's already been submitted first, of course).
Offline
@prograndy: wow, thats an overkill it's a single patch
@tomk: where? I mean the arch official kernel?
It doesn't work with customizepkg 99.99% my mistake.
Here is my /etc/customizepkg.d/linux-ck:
replace#global#patch -p1 -i "${srcdir}/patch-${pkgver}"#patch -p1 -i "${srcdir}/patch-${pkgver}"\npatch -p1 -i "/media/files/Linux/a835.patch"
I just need to add the line:
patch -p1 -i "/media/files/Linux/a835.patch"
after the line:
patch -p1 -i "${srcdir}/patch-${pkgver}"
Last edited by ttouch (2013-02-27 18:25:14)
GitHub | Git Server | Blog
Offline
Offline
Well, as an old Gentoo guy --
Create a directory someplace convenient (Like your home directory).
Download and unpack the kernel source there
Your configuration of the the running kernel is in /proc/config.gz. Unpack that to your build directory.
Apply your patches
If you have to change your configuration, use make menuconfig. I strongly recommend you change the name of your kernel to something unique (add your initials to the name.)
compile using make
install modules using sudo make modules_install
copy the kernel from the appropriate place in ./arch (I don't remember the exact place in there, but it is something like ./arch/x86_64/boot/bzimage) to your /boot directory with a new name
Edit your bootloader configuration to add an new entry that is just like ArchLinux, but uses the name of your new kernel instead.
Good Luck. I'll watch this tread to lend a hand....
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Offline
ewaller no. I have to do all the process every time I update the kernel. thats harder, not easier?
Can anyone check my custompkg config?
is it right?
GitHub | Git Server | Blog
Offline
... just run it and check the results.
Offline
Offline
You know what customizepkg is doing right? So check what it did to your PKGBUILD, and compare that to a working PKGBUILD that you amended yourself. Then change your customizepkg configuration accordingly.
BTW, can you post the patch, or a link to it? I don't use this kind of gear, I'm just a bit curious now.
Offline
--- linux-3.7.1/drivers/media/dvb-core/dvb-usb-ids.h.orig 2012-12-27 23:10:35.000000000 +0100
+++ linux-3.7.1/drivers/media/dvb-core/dvb-usb-ids.h 2012-12-27 23:13:50.049680727 +0100
@@ -233,6 +233,10 @@
#define USB_PID_AVERMEDIA_A815M 0x815a
#define USB_PID_AVERMEDIA_A835 0xa835
#define USB_PID_AVERMEDIA_B835 0xb835
+#define USB_PID_AVERMEDIA_A835B_1835 0x1835
+#define USB_PID_AVERMEDIA_A835B_2835 0x2835
+#define USB_PID_AVERMEDIA_A835B_3835 0x3835
+#define USB_PID_AVERMEDIA_A835B_4835 0x4835
#define USB_PID_AVERMEDIA_1867 0x1867
#define USB_PID_AVERMEDIA_A867 0xa867
#define USB_PID_AVERMEDIA_TWINSTAR 0x0825
--- linux-3.7.1/drivers/media/usb/dvb-usb-v2/it913x.c.orig 2012-12-27 23:10:35.000000000 +0100
+++ linux-3.7.1/drivers/media/usb/dvb-usb-v2/it913x.c 2012-12-27 23:13:49.000693841 +0100
@@ -773,6 +773,18 @@
{ DVB_USB_DEVICE(USB_VID_ITETECH, USB_PID_ITETECH_IT9135_9006,
&it913x_properties, "ITE 9135(9006) Generic",
RC_MAP_IT913X_V1) },
+ { DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A835B_1835,
+ &it913x_properties, "Avermedia A835B(1835)",
+ RC_MAP_IT913X_V2) },
+ { DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A835B_2835,
+ &it913x_properties, "Avermedia A835B(2835)",
+ RC_MAP_IT913X_V2) },
+ { DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A835B_3835,
+ &it913x_properties, "Avermedia A835B(3835)",
+ RC_MAP_IT913X_V2) },
+ { DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A835B_4835,
+ &it913x_properties, "Avermedia A835B(4835)",
+ RC_MAP_IT913X_V2) },
{} /* Terminating entry */
};
I'll report the output PKGBUILD later.
GitHub | Git Server | Blog
Offline
Well, as an old Gentoo guy --
Create a directory someplace convenient (Like your home directory).
Download and unpack the kernel source there
Your configuration of the the running kernel is in /proc/config.gz. Unpack that to your build directory.
Apply your patches
Wow, that's so 20th century.
I use git to maintain my patches. Much less PITA.
Last edited by mich41 (2013-02-28 19:41:20)
Offline
Wow, that's so 20th century.
Hey, I spent 75% of my life (Thus Far) in the 20th century. I guess I am so 20th century too!
Get of my Lawn!
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Offline
After some hours, I finally made it!
my /etc/customizepkg.d/linux-ck:
replace#global#.*DEFAULT_CONSOLE_LOGLEVEL.*#patch -p1 -i \"\\/media\\/files\\/Linux\\/a835.patch\"
GitHub | Git Server | Blog
Offline
Pages: 1