温馨提示×

如何编译debian swapper内核

小樊
37
2026-09-07 10:55:38
栏目: 智能运维

在 Debian 下编译“swapper 相关内核”,通常你指的是重新编译 Linux 内核(swapper 是内核线程 swapper/0 等,属于内核本身,不是单独模块)。下面按最常用、最稳妥的方式说明。


一、准备工作(推荐在 root 或 sudo 下)

1. 安装编译依赖

sudo apt update
sudo apt install -y \
  build-essential \
  libncurses-dev \
  bison flex \
  libssl-dev \
  libelf-dev \
  bc \
  rsync \
  fakeroot

二、获取内核源码

方式 1:使用 Debian 官方内核源码(推荐)

apt source linux

或指定版本:

apt-cache search linux-source
sudo apt install linux-source-6.1

解压:

cd /usr/src
tar -xvf linux-source-6.1.tar.xz
cd linux-source-6.1

方式 2:使用 upstream 内核

git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
cd linux

三、配置内核

使用当前系统配置

cp /boot/config-$(uname -r) .config
make olddefconfig

(可选)手动调整

make menuconfig

swapper 本身不可关闭,但你可以调整:

  • General setup → Configure standard kernel features
  • Kernel hacking(调试 swapper 时用)

四、编译内核

编译(多线程)

make -j$(nproc)

编译并打包为 Debian 包(推荐)

make deb-pkg

生成:

  • linux-image-*.deb
  • linux-headers-*.deb

五、安装内核

sudo dpkg -i ../linux-image-*.deb
sudo dpkg -i ../linux-headers-*.deb

更新 grub:

sudo update-grub

重启:

reboot

六、确认 swapper 属于新内核

uname -a
ps aux | grep swapper

你会看到:

root         0  0.0  0.0      0     0 ?        S    swapper/0

七、常见说明

  • swapper 不是模块,无法单独编译
  • 修改 swapper 行为需改内核源码(如 init/main.ckernel/sched/
  • 调试 swapper 建议开启:
    Kernel hacking → Debug scheduler
    

如果你是指:

  • 编译 某个 swapper 补丁
  • 编译 RT / Xen / ARM 内核
  • 修改 swapper 源码

可以告诉我具体场景,我可以给你更针对性的步骤。

0