{"id":15051085,"url":"https://github.com/tmiland/kernel-installer","last_synced_at":"2025-06-28T11:06:27.847Z","repository":{"id":39153721,"uuid":"493393302","full_name":"tmiland/kernel-installer","owner":"tmiland","description":"Script to install the Linux kernel from source on Debian-based distributions, for all architectures.","archived":false,"fork":false,"pushed_at":"2024-12-24T13:36:14.000Z","size":799,"stargazers_count":18,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T02:52:41.085Z","etag":null,"topics":["debian","debian-linux","kernel","kernel-install","kernel-installation"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tmiland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-17T19:49:27.000Z","updated_at":"2025-02-23T01:01:46.000Z","dependencies_parsed_at":"2024-09-24T21:30:54.021Z","dependency_job_id":"6923af43-0e28-4152-8459-181d5a459f2a","html_url":"https://github.com/tmiland/kernel-installer","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/tmiland/kernel-installer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmiland%2Fkernel-installer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmiland%2Fkernel-installer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmiland%2Fkernel-installer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmiland%2Fkernel-installer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tmiland","download_url":"https://codeload.github.com/tmiland/kernel-installer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmiland%2Fkernel-installer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262419807,"owners_count":23308100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debian","debian-linux","kernel","kernel-install","kernel-installation"],"created_at":"2024-09-24T21:30:49.467Z","updated_at":"2025-06-28T11:06:27.830Z","avatar_url":"https://github.com/tmiland.png","language":"Shell","readme":"# kernel-installer\nAutomatic install script for [The Linux kernel](https://www.kernel.org)\n\nInspired by [LinuxKernelBuild](https://github.com/Angristan/LinuxKernelBuild)\n\n[![GitHub release](https://img.shields.io/github/release/tmiland/kernel-installer.svg?style=for-the-badge)](https://github.com/tmiland/kernel-installer/releases)\n[![licence](https://img.shields.io/github/license/tmiland/kernel-installer.svg?style=for-the-badge)](https://github.com/tmiland/kernel-installer/blob/master/LICENSE)\n![Bash](https://img.shields.io/badge/Language-SH-4EAA25.svg?style=for-the-badge)\n\n### Script to install the latest [stable/mainline/longterm] kernel from source on Debian-based distributions, for all architectures.\n\n[![kernel-installer Image](https://raw.githubusercontent.com/tmiland/kernel-installer/main/_images/kernel_installer.png)](https://github.com/tmiland/kernel-installer/blob/main/_images/kernel_installer.png)\n\n### Dependencies\n\nWill be installed when running script.\n```bash\nwget curl git rsync fakeroot build-essential ncurses-dev xz-utils libssl-dev bc liblz4-tool paxctl libelf-dev flex bison\n```\n\n### Download the script:\n\nQuick install with default options:\n\nWith Curl:\n```bash\ncurl -sSL https://github.com/tmiland/kernel-installer/raw/main/kernel_installer.sh | bash || exit 0\n```\nWith Wget:\n```bash\nwget -qO - https://github.com/tmiland/kernel-installer/raw/main/kernel_installer.sh | bash || exit 0\n```\n\nFor latest release\n\n```bash\ncurl -s https://api.github.com/repos/tmiland/kernel-installer/releases/latest \\\n| grep \"browser_download_url.*sh\" \\\n| cut -d : -f 2,3 \\\n| tr -d \\\" \\\n| wget -qi -\n```\n\nFor main branch\n```bash\nwget https://github.com/tmiland/kernel-installer/raw/main/kernel_installer.sh\n```\n\nSet execute permission:\n```bash\nchmod +x kernel_installer.sh\n```\nFor usage, run:\n```bash\n./kernel_installer.sh -h\n```\n\n### Help output:\n\n```bash\nIf called without arguments, installs stable kernel using /opt/linux\n\n--help                 |-h          display this help and exit\n--kernel               |-k          kernel version of choice\n--stable               |-s          stable kernel version 5.18\n--mainline             |-m          mainline kernel version 5.18\n--longterm             |-l          longterm kernel version 5.15.41\n--dir                  |-d          install directory\n--kexec                |-x          load new kernel without reboot\n--config               |-c          set configuration target\n--verbose              |-v          increase verbosity\n--get-verified-tarball |-gvt        cryptographically verify kernel tarball\n--nproc                |-n          set the number of processing units to use\n--enable-debug-info    |-edi        enable debug info\n--lowlatency           |-low        convert generic config to lowlatency\n--changelog            |-cl         view changelog for kernel version\n--update               |-upd        check for script update\n--uninstall            |-u          uninstall kernel\n```\n\nTo use opt --kernel:\n```bash\n./kernel_installer.sh --kernel 5.17.8\n```\nElse use:\n```bash\n./kernel_installer.sh --stable, --mainline or --longterm separately\n```\nTo use --dir opt:\n```bash\n./kernel_installer.sh --dir /path/to/dir\n```\nTo load [kernel without reboot](https://linux.die.net/man/8/kexec):\n```bash\n./kernel_installer.sh --kexec\n```\nTo use --config:\n```bash\n./kernel_installer.sh --config menuconfig\n```\ndefault is `olddefconfig`\n\n### Configuration targets:\n\n```bash\nconfig          - Update current config utilising a line-oriented program\nnconfig         - Update current config utilising a ncurses menu based program\nmenuconfig      - Update current config utilising a menu based program\nxconfig         - Update current config utilising a QT based front-end\ngconfig         - Update current config utilising a GTK based front-end\noldconfig       - Update current config utilising a provided .config as base\nlocalmodconfig  - Update current config disabling modules not loaded\nlocalyesconfig  - Update current config converting local mods to core\nsilentoldconfig - Same as oldconfig, but quietly, additionally update deps\ndefconfig       - New config with default from ARCH supplied defconfig\nsavedefconfig   - Save current config as ./defconfig (minimal config)\nallnoconfig     - New config where all options are answered with no\nallyesconfig    - New config where all options are accepted with yes\nallmodconfig    - New config selecting modules when possible\nalldefconfig    - New config with all symbols set to default\nrandconfig      - New config with random answer to all options\nlistnewconfig   - List new options\nolddefconfig    - Same as silentoldconfig but sets new symbols to their default value\nkvmconfig       - Enable additional options for guest kernel support\ntinyconfig      - Configure the tiniest possible kernel\n```\n\nTo use --get-verified-tarball:\n```bash\n./kernel_installer.sh --get-verified-tarball\n```\n - [Linux kernel releases PGP signatures](https://www.kernel.org/category/signatures.html)\n - Source script [get-verified-tarball](https://git.kernel.org/pub/scm/linux/kernel/git/mricon/korg-helpers.git/tree/get-verified-tarball)\n - Installing dependencies `gnupg2` and `gpgv2` if not installed\n\nUsed together:\n```bash\n./kernel_installer.sh --stable --config menuconfig --kexec --dir /path/to/dir --get-verified-tarball\n```\n\nWatch install log:\n```bash\ntail -f ./kernel_installer.log\n```\n\n- installation log in kernel_installer.log\n- [./src/slib.sh](https://github.com/tmiland/kernel-installer/blob/main/src/slib.sh) function script is sourced remotely if not found locally\n  - This script is a combination of functions for spinners, colors and logging\n    - Source: Spinner: [swelljoe/spinner](https://github.com/swelljoe/spinner)\n    - Source: Run ok: [swelljoe/run_ok](https://github.com/swelljoe/run_ok)\n    - Source: Slog: [swelljoe/slog](https://github.com/swelljoe/slog)\n    - Source: Slib: [virtualmin/slib](https://github.com/virtualmin/slib)\n\n***Note: you will need to run this script as root***\n\nIf root password is not set, type:\n\n```bash\nsudo passwd root\n```\n\nThen:\n\n```bash\nsu root\n```\n\n## Uninstall kernel\n\nTo uninstall previously installed kernel:\n```bash\n./kernel_installer.sh --uninstall --kernel 5.17.7\n```\n\n- You will be prompted with a yes/no answer\n\n## Testing\n\nTested and working on: Debian 11\n\n- See [kernel_installer.log](https://raw.githubusercontent.com/tmiland/kernel-installer/main/log/kernel_installer.log)\n\n## Feature request and bug reports\n- [Bug report](https://github.com/tmiland/kernel-installer/issues/new?assignees=tmiland\u0026labels=bug\u0026template=bug_report.md\u0026title=Bug-report:)\n- [Feature request](https://github.com/tmiland/kernel-installer/issues/new?assignees=tmiland\u0026labels=enhancement\u0026template=feature_request.md\u0026title=Feature-request:)\n\n## Donations\n\u003ca href=\"https://www.buymeacoffee.com/tmiland\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n- [PayPal me](https://paypal.me/milandtommy)\n- [BTC] : 33mjmoPxqfXnWNsvy8gvMZrrcG3gEa3YDM\n\n#### Disclaimer \n\n*** ***Use at own risk*** ***\n\n### License\n\n[![MIT License Image](https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/MIT_logo.svg/220px-MIT_logo.svg.png)](https://github.com/tmiland/kernel-installer/blob/master/LICENSE)\n\n[MIT License](https://github.com/tmiland/kernel-installer/blob/master/LICENSE)\n","funding_links":["https://www.buymeacoffee.com/tmiland","https://paypal.me/milandtommy"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmiland%2Fkernel-installer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftmiland%2Fkernel-installer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftmiland%2Fkernel-installer/lists"}