内核编译
1 | #查看当前内核版本 |
关于配置选项相关操作,参考::star::star:Linux 内核动手编译实用指南
KGDB配置
编译选项

内核启动参数
1 | kgdboc=ttyS0,115200 kgdbwait kgdbtcp=192.168.1.2:1234 |
kgdboc=ttyS0,115200:设置串口调试(可选)kgdbwait:启动时等待调试器连接kgdbtcp=192.168.1.2:1234:被调试主机的IP和端口
永久修改:/etc/default/grub下GRUB_CMDLINE_LINUX变量
proxmox-boot-tool
proxmox-boot-tool,一个脚本,设置启动内核、增删内核等,使用设置grub内核启动参数的方式不一定生效的情况下可以使用这个工具。
1 git clone https://git.proxmox.com/git/proxmox-kernel-helper.git之后
make deb会在当前路径下生成对应的deb包,apt install安装后可以正常使用/usr/sbin/proxmox-boot-tool
DKMS
DKMS(Dynamic Kernel Module Support)让“非内核自带模块”在内核升级或更换时自动重新编译并安装。
linux 内核中除了自带的模块,包含在linux源码树中,内核编译时这些模块会随之编译。还有一些外部的动态模块,比如比较重要的 ZFS、NVDIA驱动等模块,这类模块不依赖源码树,但是依赖具体的内核版本。内核变动以后,模块的ABI就会变化,导致内核启动失败。
如,以DKMS- ZFS为例,dpkg安装新内核、或dkms autoinstall都会触发模块自动编译、并拷贝到指定的内核模块位置。
1 | apt install zfs-dkms |
所以modele_install 以后,建议执行dkms autoinstall触发自动编译
单独模块编译
1.可以侧面开一个tmux窗口,sudo dmesg -w等待内核输出;
1 |
|
(参考)[https://astojanov.github.io/blog/2013/05/30/intel-pcm.html]