Skip to content

Repository files navigation

Steps to build your own kernel!!@! trust me

  • Download a generic kernel (anyone on your distro repo)
  • Load your system (most difficult step)
  • Download the version of the kernel you want (kernel.org) and execute make localmodconfig (this will make that your loaded modules at the moment of execution will be saved into a .config file, in that way you disable any other module that your system are not goona use)
  • Copy it to srcpkgs/pkg or compile your kernel there.

Why I WOULD compile my own kernel?

generic kernels came with 5k modules at least, why? because they're generic, that's obvious. they want to provide support for systems from even 1998. when you compile only the modules you need, that numbers decrease to just ~220 modules. also, you can add patches like the zen-kernel one, select the compression and de-compression algorithm (zstd), memory, crypto, debug options, etc. you have the control over your system. Also, if you decrease the modules enabled, you are decreasing the compile time. In my case, i enabled a option that is not available on the generic one, that is related to XDNA.

image

Bro what do y, m and n mean into .config?

the linux kernel is a monolithic one. y means that module will be compile inside of the linux kernel image (vmlinuz), m means that you include that module, but not inside of the kernel, but as a module, that would be stored inside of initramfs. with n` or commenting it you are excluding modules.

What's the deal with xbps-src?

xbps-src workflow is: binary-bootstrap -> build package into the virtual host -> install it to your system. xbps packages are attached with the package name, version and revision. every package have a lot of versions, but also can have a bunch of revisions. by default it's package-version_1, like linux7.0-7.0.3_1.

Linux 7.0 zen

Kernelvmlinuzinitramfs.img
🦃 Linux Stable14MB146MB
🦃 Linux Zen11MB43MB

image

Linux 6.17 zen

linux6.17-zen (click here) is optimized for Ryzen 5 8600G. A Zen 4 monolithic CPU (Phoenix architecture), with 2 NPUs from Ryzen AI (XDNA drivers). Also dual-channel DDR5 and NVME configuration. All debugging options disabled, Intel and NUMA disabled. Power saving is not useful at all because I use a desktop computer, so the power supply is managed by AMD drivers and PSU itself. Everything works, at least in my environment, where I use virtual machines, Waydroid, and KVM.

mirror.linux.ec/voidlinux is the mirror I set up in /etc/xbps.d/ because I live in Ecuador, that's all. Initramfs is created with mkinitpcio instead of dracut. (Reduction from 200 MB to 32 MB). The kernel is compiled using ZSTD instead of GZIP, which increases decompression speed.

Kernelvmlinuzinitramfs.img
🦃 Linux Stable13MB146MB
🦃 Linux Mainline13MB200MB
🦃 Linux Zen9MB32MB

image

About

:shipit: The Void source packages collection

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - hyduez/void-packages: :shipit: The Void source packages collection · GitHub
Skip to content

Repository files navigation

Steps to build your own kernel!!@! trust me

  • Download a generic kernel (anyone on your distro repo)
  • Load your system (most difficult step)
  • Download the version of the kernel you want (kernel.org) and execute make localmodconfig (this will make that your loaded modules at the moment of execution will be saved into a .config file, in that way you disable any other module that your system are not goona use)
  • Copy it to srcpkgs/pkg or compile your kernel there.

Why I WOULD compile my own kernel?

generic kernels came with 5k modules at least, why? because they're generic, that's obvious. they want to provide support for systems from even 1998. when you compile only the modules you need, that numbers decrease to just ~220 modules. also, you can add patches like the zen-kernel one, select the compression and de-compression algorithm (zstd), memory, crypto, debug options, etc. you have the control over your system. Also, if you decrease the modules enabled, you are decreasing the compile time. In my case, i enabled a option that is not available on the generic one, that is related to XDNA.

image

Bro what do y, m and n mean into .config?

the linux kernel is a monolithic one. y means that module will be compile inside of the linux kernel image (vmlinuz), m means that you include that module, but not inside of the kernel, but as a module, that would be stored inside of initramfs. with n` or commenting it you are excluding modules.

What's the deal with xbps-src?

xbps-src workflow is: binary-bootstrap -> build package into the virtual host -> install it to your system. xbps packages are attached with the package name, version and revision. every package have a lot of versions, but also can have a bunch of revisions. by default it's package-version_1, like linux7.0-7.0.3_1.

Linux 7.0 zen

Kernelvmlinuzinitramfs.img
🦃 Linux Stable14MB146MB
🦃 Linux Zen11MB43MB

image

Linux 6.17 zen

linux6.17-zen (click here) is optimized for Ryzen 5 8600G. A Zen 4 monolithic CPU (Phoenix architecture), with 2 NPUs from Ryzen AI (XDNA drivers). Also dual-channel DDR5 and NVME configuration. All debugging options disabled, Intel and NUMA disabled. Power saving is not useful at all because I use a desktop computer, so the power supply is managed by AMD drivers and PSU itself. Everything works, at least in my environment, where I use virtual machines, Waydroid, and KVM.

mirror.linux.ec/voidlinux is the mirror I set up in /etc/xbps.d/ because I live in Ecuador, that's all. Initramfs is created with mkinitpcio instead of dracut. (Reduction from 200 MB to 32 MB). The kernel is compiled using ZSTD instead of GZIP, which increases decompression speed.

Kernelvmlinuzinitramfs.img
🦃 Linux Stable13MB146MB
🦃 Linux Mainline13MB200MB
🦃 Linux Zen9MB32MB

image

About

:shipit: The Void source packages collection

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - hyduez/void-packages: :shipit: The Void source packages collection · GitHub
Skip to content

Repository files navigation

Steps to build your own kernel!!@! trust me

  • Download a generic kernel (anyone on your distro repo)
  • Load your system (most difficult step)
  • Download the version of the kernel you want (kernel.org) and execute make localmodconfig (this will make that your loaded modules at the moment of execution will be saved into a .config file, in that way you disable any other module that your system are not goona use)
  • Copy it to srcpkgs/pkg or compile your kernel there.

Why I WOULD compile my own kernel?

generic kernels came with 5k modules at least, why? because they're generic, that's obvious. they want to provide support for systems from even 1998. when you compile only the modules you need, that numbers decrease to just ~220 modules. also, you can add patches like the zen-kernel one, select the compression and de-compression algorithm (zstd), memory, crypto, debug options, etc. you have the control over your system. Also, if you decrease the modules enabled, you are decreasing the compile time. In my case, i enabled a option that is not available on the generic one, that is related to XDNA.

image

Bro what do y, m and n mean into .config?

the linux kernel is a monolithic one. y means that module will be compile inside of the linux kernel image (vmlinuz), m means that you include that module, but not inside of the kernel, but as a module, that would be stored inside of initramfs. with n` or commenting it you are excluding modules.

What's the deal with xbps-src?

xbps-src workflow is: binary-bootstrap -> build package into the virtual host -> install it to your system. xbps packages are attached with the package name, version and revision. every package have a lot of versions, but also can have a bunch of revisions. by default it's package-version_1, like linux7.0-7.0.3_1.

Linux 7.0 zen

Kernelvmlinuzinitramfs.img
🦃 Linux Stable14MB146MB
🦃 Linux Zen11MB43MB

image

Linux 6.17 zen

linux6.17-zen (click here) is optimized for Ryzen 5 8600G. A Zen 4 monolithic CPU (Phoenix architecture), with 2 NPUs from Ryzen AI (XDNA drivers). Also dual-channel DDR5 and NVME configuration. All debugging options disabled, Intel and NUMA disabled. Power saving is not useful at all because I use a desktop computer, so the power supply is managed by AMD drivers and PSU itself. Everything works, at least in my environment, where I use virtual machines, Waydroid, and KVM.

mirror.linux.ec/voidlinux is the mirror I set up in /etc/xbps.d/ because I live in Ecuador, that's all. Initramfs is created with mkinitpcio instead of dracut. (Reduction from 200 MB to 32 MB). The kernel is compiled using ZSTD instead of GZIP, which increases decompression speed.

Kernelvmlinuzinitramfs.img
🦃 Linux Stable13MB146MB
🦃 Linux Mainline13MB200MB
🦃 Linux Zen9MB32MB

image

About

:shipit: The Void source packages collection

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - hyduez/void-packages: :shipit: The Void source packages collection · GitHub
Skip to content

Repository files navigation

Steps to build your own kernel!!@! trust me

  • Download a generic kernel (anyone on your distro repo)
  • Load your system (most difficult step)
  • Download the version of the kernel you want (kernel.org) and execute make localmodconfig (this will make that your loaded modules at the moment of execution will be saved into a .config file, in that way you disable any other module that your system are not goona use)
  • Copy it to srcpkgs/pkg or compile your kernel there.

Why I WOULD compile my own kernel?

generic kernels came with 5k modules at least, why? because they're generic, that's obvious. they want to provide support for systems from even 1998. when you compile only the modules you need, that numbers decrease to just ~220 modules. also, you can add patches like the zen-kernel one, select the compression and de-compression algorithm (zstd), memory, crypto, debug options, etc. you have the control over your system. Also, if you decrease the modules enabled, you are decreasing the compile time. In my case, i enabled a option that is not available on the generic one, that is related to XDNA.

image

Bro what do y, m and n mean into .config?

the linux kernel is a monolithic one. y means that module will be compile inside of the linux kernel image (vmlinuz), m means that you include that module, but not inside of the kernel, but as a module, that would be stored inside of initramfs. with n` or commenting it you are excluding modules.

What's the deal with xbps-src?

xbps-src workflow is: binary-bootstrap -> build package into the virtual host -> install it to your system. xbps packages are attached with the package name, version and revision. every package have a lot of versions, but also can have a bunch of revisions. by default it's package-version_1, like linux7.0-7.0.3_1.

Linux 7.0 zen

Kernelvmlinuzinitramfs.img
🦃 Linux Stable14MB146MB
🦃 Linux Zen11MB43MB

image

Linux 6.17 zen

linux6.17-zen (click here) is optimized for Ryzen 5 8600G. A Zen 4 monolithic CPU (Phoenix architecture), with 2 NPUs from Ryzen AI (XDNA drivers). Also dual-channel DDR5 and NVME configuration. All debugging options disabled, Intel and NUMA disabled. Power saving is not useful at all because I use a desktop computer, so the power supply is managed by AMD drivers and PSU itself. Everything works, at least in my environment, where I use virtual machines, Waydroid, and KVM.

mirror.linux.ec/voidlinux is the mirror I set up in /etc/xbps.d/ because I live in Ecuador, that's all. Initramfs is created with mkinitpcio instead of dracut. (Reduction from 200 MB to 32 MB). The kernel is compiled using ZSTD instead of GZIP, which increases decompression speed.

Kernelvmlinuzinitramfs.img
🦃 Linux Stable13MB146MB
🦃 Linux Mainline13MB200MB
🦃 Linux Zen9MB32MB

image

About

:shipit: The Void source packages collection

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - hyduez/void-packages: :shipit: The Void source packages collection · GitHub
Skip to content

Repository files navigation

Steps to build your own kernel!!@! trust me

  • Download a generic kernel (anyone on your distro repo)
  • Load your system (most difficult step)
  • Download the version of the kernel you want (kernel.org) and execute make localmodconfig (this will make that your loaded modules at the moment of execution will be saved into a .config file, in that way you disable any other module that your system are not goona use)
  • Copy it to srcpkgs/pkg or compile your kernel there.

Why I WOULD compile my own kernel?

generic kernels came with 5k modules at least, why? because they're generic, that's obvious. they want to provide support for systems from even 1998. when you compile only the modules you need, that numbers decrease to just ~220 modules. also, you can add patches like the zen-kernel one, select the compression and de-compression algorithm (zstd), memory, crypto, debug options, etc. you have the control over your system. Also, if you decrease the modules enabled, you are decreasing the compile time. In my case, i enabled a option that is not available on the generic one, that is related to XDNA.

image

Bro what do y, m and n mean into .config?

the linux kernel is a monolithic one. y means that module will be compile inside of the linux kernel image (vmlinuz), m means that you include that module, but not inside of the kernel, but as a module, that would be stored inside of initramfs. with n` or commenting it you are excluding modules.

What's the deal with xbps-src?

xbps-src workflow is: binary-bootstrap -> build package into the virtual host -> install it to your system. xbps packages are attached with the package name, version and revision. every package have a lot of versions, but also can have a bunch of revisions. by default it's package-version_1, like linux7.0-7.0.3_1.

Linux 7.0 zen

Kernelvmlinuzinitramfs.img
🦃 Linux Stable14MB146MB
🦃 Linux Zen11MB43MB

image

Linux 6.17 zen

linux6.17-zen (click here) is optimized for Ryzen 5 8600G. A Zen 4 monolithic CPU (Phoenix architecture), with 2 NPUs from Ryzen AI (XDNA drivers). Also dual-channel DDR5 and NVME configuration. All debugging options disabled, Intel and NUMA disabled. Power saving is not useful at all because I use a desktop computer, so the power supply is managed by AMD drivers and PSU itself. Everything works, at least in my environment, where I use virtual machines, Waydroid, and KVM.

mirror.linux.ec/voidlinux is the mirror I set up in /etc/xbps.d/ because I live in Ecuador, that's all. Initramfs is created with mkinitpcio instead of dracut. (Reduction from 200 MB to 32 MB). The kernel is compiled using ZSTD instead of GZIP, which increases decompression speed.

Kernelvmlinuzinitramfs.img
🦃 Linux Stable13MB146MB
🦃 Linux Mainline13MB200MB
🦃 Linux Zen9MB32MB

image

About

:shipit: The Void source packages collection

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - hyduez/void-packages: :shipit: The Void source packages collection · GitHub
Skip to content

Repository files navigation

Steps to build your own kernel!!@! trust me

  • Download a generic kernel (anyone on your distro repo)
  • Load your system (most difficult step)
  • Download the version of the kernel you want (kernel.org) and execute make localmodconfig (this will make that your loaded modules at the moment of execution will be saved into a .config file, in that way you disable any other module that your system are not goona use)
  • Copy it to srcpkgs/pkg or compile your kernel there.

Why I WOULD compile my own kernel?

generic kernels came with 5k modules at least, why? because they're generic, that's obvious. they want to provide support for systems from even 1998. when you compile only the modules you need, that numbers decrease to just ~220 modules. also, you can add patches like the zen-kernel one, select the compression and de-compression algorithm (zstd), memory, crypto, debug options, etc. you have the control over your system. Also, if you decrease the modules enabled, you are decreasing the compile time. In my case, i enabled a option that is not available on the generic one, that is related to XDNA.

image

Bro what do y, m and n mean into .config?

the linux kernel is a monolithic one. y means that module will be compile inside of the linux kernel image (vmlinuz), m means that you include that module, but not inside of the kernel, but as a module, that would be stored inside of initramfs. with n` or commenting it you are excluding modules.

What's the deal with xbps-src?

xbps-src workflow is: binary-bootstrap -> build package into the virtual host -> install it to your system. xbps packages are attached with the package name, version and revision. every package have a lot of versions, but also can have a bunch of revisions. by default it's package-version_1, like linux7.0-7.0.3_1.

Linux 7.0 zen

Kernelvmlinuzinitramfs.img
🦃 Linux Stable14MB146MB
🦃 Linux Zen11MB43MB

image

Linux 6.17 zen

linux6.17-zen (click here) is optimized for Ryzen 5 8600G. A Zen 4 monolithic CPU (Phoenix architecture), with 2 NPUs from Ryzen AI (XDNA drivers). Also dual-channel DDR5 and NVME configuration. All debugging options disabled, Intel and NUMA disabled. Power saving is not useful at all because I use a desktop computer, so the power supply is managed by AMD drivers and PSU itself. Everything works, at least in my environment, where I use virtual machines, Waydroid, and KVM.

mirror.linux.ec/voidlinux is the mirror I set up in /etc/xbps.d/ because I live in Ecuador, that's all. Initramfs is created with mkinitpcio instead of dracut. (Reduction from 200 MB to 32 MB). The kernel is compiled using ZSTD instead of GZIP, which increases decompression speed.

Kernelvmlinuzinitramfs.img
🦃 Linux Stable13MB146MB
🦃 Linux Mainline13MB200MB
🦃 Linux Zen9MB32MB

image

About

:shipit: The Void source packages collection

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - hyduez/void-packages: :shipit: The Void source packages collection · GitHub
Skip to content

Repository files navigation

Steps to build your own kernel!!@! trust me

  • Download a generic kernel (anyone on your distro repo)
  • Load your system (most difficult step)
  • Download the version of the kernel you want (kernel.org) and execute make localmodconfig (this will make that your loaded modules at the moment of execution will be saved into a .config file, in that way you disable any other module that your system are not goona use)
  • Copy it to srcpkgs/pkg or compile your kernel there.

Why I WOULD compile my own kernel?

generic kernels came with 5k modules at least, why? because they're generic, that's obvious. they want to provide support for systems from even 1998. when you compile only the modules you need, that numbers decrease to just ~220 modules. also, you can add patches like the zen-kernel one, select the compression and de-compression algorithm (zstd), memory, crypto, debug options, etc. you have the control over your system. Also, if you decrease the modules enabled, you are decreasing the compile time. In my case, i enabled a option that is not available on the generic one, that is related to XDNA.

image

Bro what do y, m and n mean into .config?

the linux kernel is a monolithic one. y means that module will be compile inside of the linux kernel image (vmlinuz), m means that you include that module, but not inside of the kernel, but as a module, that would be stored inside of initramfs. with n` or commenting it you are excluding modules.

What's the deal with xbps-src?

xbps-src workflow is: binary-bootstrap -> build package into the virtual host -> install it to your system. xbps packages are attached with the package name, version and revision. every package have a lot of versions, but also can have a bunch of revisions. by default it's package-version_1, like linux7.0-7.0.3_1.

Linux 7.0 zen

Kernelvmlinuzinitramfs.img
🦃 Linux Stable14MB146MB
🦃 Linux Zen11MB43MB

image

Linux 6.17 zen

linux6.17-zen (click here) is optimized for Ryzen 5 8600G. A Zen 4 monolithic CPU (Phoenix architecture), with 2 NPUs from Ryzen AI (XDNA drivers). Also dual-channel DDR5 and NVME configuration. All debugging options disabled, Intel and NUMA disabled. Power saving is not useful at all because I use a desktop computer, so the power supply is managed by AMD drivers and PSU itself. Everything works, at least in my environment, where I use virtual machines, Waydroid, and KVM.

mirror.linux.ec/voidlinux is the mirror I set up in /etc/xbps.d/ because I live in Ecuador, that's all. Initramfs is created with mkinitpcio instead of dracut. (Reduction from 200 MB to 32 MB). The kernel is compiled using ZSTD instead of GZIP, which increases decompression speed.

Kernelvmlinuzinitramfs.img
🦃 Linux Stable13MB146MB
🦃 Linux Mainline13MB200MB
🦃 Linux Zen9MB32MB

image

About

:shipit: The Void source packages collection

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - hyduez/void-packages: :shipit: The Void source packages collection · GitHub
Skip to content

Repository files navigation

Steps to build your own kernel!!@! trust me

  • Download a generic kernel (anyone on your distro repo)
  • Load your system (most difficult step)
  • Download the version of the kernel you want (kernel.org) and execute make localmodconfig (this will make that your loaded modules at the moment of execution will be saved into a .config file, in that way you disable any other module that your system are not goona use)
  • Copy it to srcpkgs/pkg or compile your kernel there.

Why I WOULD compile my own kernel?

generic kernels came with 5k modules at least, why? because they're generic, that's obvious. they want to provide support for systems from even 1998. when you compile only the modules you need, that numbers decrease to just ~220 modules. also, you can add patches like the zen-kernel one, select the compression and de-compression algorithm (zstd), memory, crypto, debug options, etc. you have the control over your system. Also, if you decrease the modules enabled, you are decreasing the compile time. In my case, i enabled a option that is not available on the generic one, that is related to XDNA.

image

Bro what do y, m and n mean into .config?

the linux kernel is a monolithic one. y means that module will be compile inside of the linux kernel image (vmlinuz), m means that you include that module, but not inside of the kernel, but as a module, that would be stored inside of initramfs. with n` or commenting it you are excluding modules.

What's the deal with xbps-src?

xbps-src workflow is: binary-bootstrap -> build package into the virtual host -> install it to your system. xbps packages are attached with the package name, version and revision. every package have a lot of versions, but also can have a bunch of revisions. by default it's package-version_1, like linux7.0-7.0.3_1.

Linux 7.0 zen

Kernelvmlinuzinitramfs.img
🦃 Linux Stable14MB146MB
🦃 Linux Zen11MB43MB

image

Linux 6.17 zen

linux6.17-zen (click here) is optimized for Ryzen 5 8600G. A Zen 4 monolithic CPU (Phoenix architecture), with 2 NPUs from Ryzen AI (XDNA drivers). Also dual-channel DDR5 and NVME configuration. All debugging options disabled, Intel and NUMA disabled. Power saving is not useful at all because I use a desktop computer, so the power supply is managed by AMD drivers and PSU itself. Everything works, at least in my environment, where I use virtual machines, Waydroid, and KVM.

mirror.linux.ec/voidlinux is the mirror I set up in /etc/xbps.d/ because I live in Ecuador, that's all. Initramfs is created with mkinitpcio instead of dracut. (Reduction from 200 MB to 32 MB). The kernel is compiled using ZSTD instead of GZIP, which increases decompression speed.

Kernelvmlinuzinitramfs.img
🦃 Linux Stable13MB146MB
🦃 Linux Mainline13MB200MB
🦃 Linux Zen9MB32MB

image

About

:shipit: The Void source packages collection

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages