安装相关依赖包

apt-get install bzip2 libncurses5-dev kernel-package zlib1g-dev gcc make kernel-package wget module-init-tools procps libncurses5-dev

下载源码

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.9.tar.bz2
tar -xvjf linux-2.6.35.9.tar.bz2
cp /boot/config-`uname -r` /usr/src/linux-2.6.35.9/.config
Then we must configure the new kernel:
cd linux-2.6.35.9
make menuconfig

裁剪不需要的东西

我们在内核配置里面至少有几个地方要修改。如下所示:

>File systems -> Btrfs filesystem (EXPERIMENTAL) Unstable disk format
在"Btrfs filesystem"之前标上<*>
Processor type and features -> Processor Family -> "our processor"
删除Dell laptop support、Toshiba Laptop support。
裁减sound card support。
裁减Bluetooth subsystem support。
裁减Wireless。
裁减Kernel hacking 。
多次点击“ESC”退出,保存
make-kpkg linux-image linux-headers --initrd
编译成功后执行
cd ..
dpkg -i linux-image-2.6.29_2.6.35.9-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.29_2.6.35.9-10.00.Custom_i386.deb

重启,用 uname-a 查看内核版本

错误处理

编译完成后生成linux deb 包,先dpkg -i装image,再装headers

安装完成以后再update-grub 进入/boot/grub/menu.lst 中选择启动的内核项 默认的第一项为0

在编译完成内核后开机可能出现 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)的错误 在/boot/grub/menu.lst中可以发现新加的内核可能是没有 initrd /initrd.img-2.6.37.6 未生成的原因不明 可以手动生成

执行命令

mkinitramfs -o /boot/initrd.img-2.6.34.10 2.6.34.10

/boot/initrd.img-2.6.34.10是这个启动加载文件的生成路径

2.6.34.10是 /lib/modules/2.6.34.10

然后update-grub 再启动新内核就没有问题了

卸载一个已经安装的内核包

debian卸载旧内核要先看看有哪些旧的内核,用命令

dpkg --get-selections |grep linux

如果你的内核是以kernel开头的就把上面的linux改成kernel,之后再用

dpkg --purge --force-remove-essential linux-image-XXX

更新历史

why when
创建 2011年12月16日
更新 2019年12月7日

Debian 64位内核升级步骤的更多相关文章

  1. 64位内核注冊tty设备

    在64位系统中,注冊tty设备须要注意的是,Android跑在EL0而且在32位模式下,kernel跑在EL1而且在64位模式下,不但内核须要打开CONFIG_COMPAT选项,非常多android上 ...

  2. Windows10下安装Oracle 11g 64位的详细步骤

    直接附上我整理后的Word版<Windows10下安装Oracle 11g 64位的详细步骤>下载地址,提取码:9vak. 参考文献: 1.Win10 64位系统下安装Oracle11g详 ...

  3. Win7 64位系统,IE11,如何让IE的Tab强制运行64位内核?

    有些人在使用TerraExplorer Pro 7版本进行web二次开发的时候,常会遇到下面截图中这样的问题, 这个问题主要是因为安装的TerraExplorer Pro 7 版本是64位的,而模型运 ...

  4. 64位内核第三讲,Windbg的使用.以及命令

    目录 一丶驱动的调试. 1.线程 2.断点 3.内存查看命令 4.修改内存命令 5.栈相关操作命令 6.进程线程命令(内核命令) 一丶驱动的调试. 编写驱动免不了调试.所以这里介绍一下WinDbg的常 ...

  5. Tomcat9 配置在Windows7 64位 上安装步骤

    安装 Tomcat 之前先安装java JDK . 本人在安装Tomcat之前,java的jdk安装的是jdk 11版本.安装java 网上教程一大把,我这里不再阐述. 百度直接搜 Tomcat,如下 ...

  6. Linux 内核升级步骤

    1.解压内核文件包#xz -d linux-3.2.63.tar.xz #tar xvf linux-3.2.63.tar 2.拷贝解压文件到/usr/src#cp -r linux-3.2.63 / ...

  7. 64位内核开发第十二讲,进程监视,ring3跟ring0事件同步.

    一丶同步与互斥详解,以及实现一个进程监视软件. 1.用于线程同步的 KEVENT 事件很简单分别分为 事件状态. 以及事件类别. 事件状态: 有信号 Signaled 无信号 Non-signaled ...

  8. 64位内核开发第四讲,查看SSDT表与showSSDT表

    目录 SSDt表与ShadowSSDT表的查看. 一丶SSDT表 1.什么是SSDT表 2.查看步骤 二丶ShadowSSDT表 1.什么是ShadowSSDT表 2.如何查看. 三丶工具介绍 SSD ...

  9. 64位内核开发第二讲.内核编程注意事项,以及UNICODE_STRING

    目录 一丶驱动是如何运行的 1.服务注册驱动 二丶Ring3跟Ring0通讯的几种方式 1.IOCTRL_CODE 控制代码的几种IO 2.非控制 缓冲区的三种方式. 三丶Ring3跟Ring0开发区 ...

随机推荐

  1. goland 2020 去除形参提醒

    IDEA依次打开File→settings → Editor →Inlay Hints →java ,根据个人喜好 在 Show parameter name hints 选项中灵活配置即可.新版对该 ...

  2. mysql间隙锁 转

    前面一文 mysql锁 介绍了mysql innodb存储引擎的各种锁,本文介绍一下innodb存储引擎的间隙锁,就以下问题展开讨论 1.什么是间隙锁?间隙锁是怎样产生的? 2.间隙锁有什么作用? 3 ...

  3. spring boot:shardingsphere多数据源,支持未分表的数据源(shardingjdbc 4.1.1)

    一,为什么要给shardingsphere配置多数据源? 1,shardingjdbc默认接管了所有的数据源, 如果我们有多个非分表的库时,则最多只能设置一个为默认数据库, 其他的非分表数据库不能访问 ...

  4. linux(centos8):zabbix配置邮件报警(监控错误日志)(zabbix5.0)

    一,zabbix5.0发邮件报警的准备工作: zabbix5.0在linux平台上的安装:参见这一篇: https://www.cnblogs.com/architectforest/p/129125 ...

  5. property和setter装饰器

    # property装饰器 # 作用: 将一个get方法转换为对象的属性. 就是 调用方法改为调用对象 # 使用条件: 必须和属性名一样 # setter方法的装饰器: # 作用:将一个set方法转换 ...

  6. js获取页面高度

    <script> function getInfo() { var s = ""; s += " 网页可见区域宽:"+ document.body. ...

  7. POI样式设置详细解析

    ````````由于看到网上对poi做报告合成的内容不是很全面, ````````自己最近又有新的需求, 作为勉励, 会慢慢补充详细的样式设置, 希望也能帮到各位 设置段落方向 (默认是纵向, 这里可 ...

  8. abstract关键字的说法

    含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象.含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必 ...

  9. 使用Node.js原生API写一个web服务器

    Node.js是JavaScript基础上发展起来的语言,所以前端开发者应该天生就会一点.一般我们会用它来做CLI工具或者Web服务器,做Web服务器也有很多成熟的框架,比如Express和Koa.但 ...

  10. vue自定义指令长按事件

    Vue.directive('longpress', {     bind: function (el, binding, vNode) {         // Make sure expressi ...