Comments (5)
Thanks @flaming-toast for reporting this issue!
I think we could do something like dpkg -l linux-image-$(uname -r)
, find the version in the output (e.g. 3.13.0-24.47
), and then apt-get source linux=3.13.0-24.47
. That still has the downside that you wouldn't be able to get older versions of the kernel, so you'd have to install the latest available kernel before it would work. But at least it would prevent mismatches between the running kernel and the compiled source.
As to how to get older versions of kernel source, I don't like the git clone
approach so much because it's very slow and hackish. Maybe ubuntu has an archived source repository out there somewhere for older packages?
from kpatch.
Ah, found several versions of kernel source at http://us.archive.ubuntu.com/ubuntu/pool/main/l/linux/.
So maybe we could do dpkg -l linux-image-$(uname -r)
to get the kernel version and then download the source from there.
from kpatch.
I've found apt-get source ${package}=${version}
to be very fickle, and apt would be sneaky sometimes by choosing a different package over the one you supply as an argument. It's probably not reliable if we want to grab very specific versions of the kernel source.
I agree with your point about git -- cloning the ubuntu repo was painstakingly slow. We could use the pool archive to alleviate this issue for now.
So perhaps something like...
dpkg-query -W -f='$(Version}' linux-image-$(uname -r)
to grab the exact version
With the extracted version numbers, use wget
to download the deb package from http://us.archive.ubuntu/pool/main/l/linux/
Using dpkg -x
to extract the deb to a temporary directory. Then extract the kernel source, compile, etc.
How does this all sound?
from kpatch.
Sounds good to me! Pull requests are welcome ;-)
from kpatch.
Fixed with #240.
from kpatch.
Related Issues (20)
- Linux 6.1 LTS: livepatch module fails to load HOT 26
- create-diff-object static local variable correlation and inlining HOT 5
- 1.0 release HOT 2
- Do we need more robust archeticture protection HOT 4
- kpatch-build: verify_patch_files might miss a parameter HOT 2
- ERROR in find_local_syms, couldn't find matching XXX local symbols in vmlinux symbol table HOT 14
- Can you add support for Rocky and Alma? HOT 1
- relocation with type R_X86_64_GOTPCREL is not supported HOT 5
- Arch Compile kpatch-git test failed HOT 4
- Regarding "statically allocated data" again HOT 2
- kpatch-build error when modifying an object file's only syscall
- nowhere to find the definition of klp_register_patch HOT 5
- x86 paravirt code uses alternatives v6.8+ HOT 1
- special-static.patch can fail to build on s390x / upstream v6.8 HOT 6
- CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY not supported on ppc64le HOT 6
- function __pfx_new_sync_read has no fentry/mcount call, unable to patch HOT 6
- Unchanged and unpatchable function moves from .text to .text.unlikely HOT 5
- Why did the kpatch-build script export the KPATCH-BUILD environment variable from the BUILD directory to the SOURCE directory? HOT 3
- CONFIG_WERROR=y and CONFIG_LD_ORPHAN_WARN_LEVEL="error" break kpatch-build HOT 2
- linux 6.9.0-rc6 can't find special struct paravirt_patch_site size HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kpatch.