linux更换内核 - CSDN
精华内容
参与话题
  • 下载内核代码仓库: mkdir -p git/kernels; cd git/kernels git clone -b staging-testing git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git cd staging 配置~/.gitc...

    环境:在ubuntu18.04 LTS版本上开发和测试

     

    下载内核代码仓库:

    mkdir -p git/kernels; cd git/kernels
    git clone -b staging-testing git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
    cd staging

    配置~/.gitconfig, 与~/.muttrc一致

    name =

    email =

     

    内核编译配置

    拷贝当期系统的内核编译配置文件 cp /boot/config-`uname -r`* .config

    make oldconfig //命令行方式配置,对于内核的新特性,可敲回车默认

    make menuconfig //图形化方式配置,对于内核的新特性设置为默认配置,保存后退出

    make config //全新配置,太多选项,不建议

    完成后,原来的.config重命名未.config.old

     

    编译内核

    make -j4 //根据/proc/cpuinfo中的CPU核数

     

    修改grub配置文件支持选择内核版本选择

    在启动时显示用户可以选择的内核版本

    sudo vim /etc/default/grub

    #GRUB_DEFAULT=0
    #GRUB_HIDDEN_TIMEOUT=0
    #GRUB_HIDDEN_TIMEOUT_QUIET=true
    GRUB_TIMEOUT=60
    GRUB_TIMEOUT_STYLE=menu

    sudo update-grub2 

    安装内核

    先备份:/boot/grub/grub.cfg

    ubuntu提供一个安装脚本: /sbin/installkernel

    使用以下命令安装内核,安装内核到/boot, 安装模块到/lib/modules/x.y.z,并更新/boot/grub/grub.cfg
    sudo make modules_install install 

     

    重启,确认选择新内核

     

    启动后,查看内核启动日志有无异常

    确认内核版本

    liyumin@liyumin-B250M-D3H:~$ uname -a
    Linux liyumin-B250M-D3H 5.3.0-rc5+ #1 SMP Mon Aug 19 23:52:17 CST 2019 x86_64 x86_64 x86_64 GNU/Linux

    liyumin@liyumin-B250M-D3H:~$ grep "error" dmsg5.3.0.20190819
    [   10.662983] usb 1-4: device descriptor read/64, error -110
    [   26.278977] usb 1-4: device descriptor read/64, error -110
    [   31.654960] usb 1-4: device descriptor read/64, error -110
    [   47.270961] usb 1-4: device descriptor read/64, error -110
    [   53.414960] usb 1-4: device descriptor read/64, error -110
    [   69.030967] usb 1-4: device descriptor read/64, error -110
    [   74.406982] usb 1-4: device descriptor read/64, error -110
    [   90.022969] usb 1-4: device descriptor read/64, error -110
    [   93.550530] EXT4-fs (sdb9): re-mounted. Opts: errors=remount-ro

    可以重定向到dmsg5.3.0.20190819方便以后查看

     

    附:部分内核安装日志:

    。。。。

      INSTALL sound/usb/line6/snd-usb-pod.ko
      INSTALL sound/usb/line6/snd-usb-podhd.ko
      INSTALL sound/usb/line6/snd-usb-toneport.ko
      INSTALL sound/usb/line6/snd-usb-variax.ko
      INSTALL sound/usb/misc/snd-ua101.ko
      INSTALL sound/usb/snd-usb-audio.ko
      INSTALL sound/usb/snd-usbmidi-lib.ko
      INSTALL sound/usb/usx2y/snd-usb-us122l.ko
      INSTALL sound/usb/usx2y/snd-usb-usx2y.ko
      INSTALL sound/x86/snd-hdmi-lpe-audio.ko
      INSTALL virt/lib/irqbypass.ko
      DEPMOD  5.3.0-rc5+
    sh ./arch/x86/boot/install.sh 5.3.0-rc5+ arch/x86/boot/bzImage \
        System.map "/boot"
    run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 5.3.0-rc5+ /boot/vmlinuz-5.3.0-rc5+
    run-parts: executing /etc/kernel/postinst.d/initramfs-tools 5.3.0-rc5+ /boot/vmlinuz-5.3.0-rc5+
    update-initramfs: Generating /boot/initrd.img-5.3.0-rc5+
    /sbin/ldconfig.real: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf: No such file or directory
    run-parts: executing /etc/kernel/postinst.d/pm-utils 5.3.0-rc5+ /boot/vmlinuz-5.3.0-rc5+
    run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 5.3.0-rc5+ /boot/vmlinuz-5.3.0-rc5+
    run-parts: executing /etc/kernel/postinst.d/update-notifier 5.3.0-rc5+ /boot/vmlinuz-5.3.0-rc5+
    run-parts: executing /etc/kernel/postinst.d/zz-update-grub 5.3.0-rc5+ /boot/vmlinuz-5.3.0-rc5+
    Sourcing file `/etc/default/grub'
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-5.3.0-rc5+
    Found initrd image: /boot/initrd.img-5.3.0-rc5+
    Found linux image: /boot/vmlinuz-4.15.0-58-generic
    Found initrd image: /boot/initrd.img-4.15.0-58-generic
    Found linux image: /boot/vmlinuz-4.10.0-37-generic
    Found initrd image: /boot/initrd.img-4.10.0-37-generic
    Found memtest86+ image: /memtest86+.elf
    Found memtest86+ image: /memtest86+.bin
    Found Windows 7 on /dev/sda1
    done

     

    附:git操作

    在提交内核改动时使用

     1741  git log
     1742  git log --pretty=oneline --abbrev-commit
     1743  git branch
     1744  git checkout -b first-patch
     1745  git branch
     1746  git branch -a
     1747  git fetch origin
     1748  gitk
     1749  git log --pretty=oneline --abbrev-commit
     1750  git log --pretty=oneline --abbrev-commit origin/staging-testing
     1751  git rebase origin/staging-testing
     1752  git log --pretty=oneline --abbrev-commit
     1753  git checkout staging-testing
     1754  git rebase origin/staging-testing
     1755  git log --pretty=oneline --abbrev-commit
     1756  git checkout first-patch

     

    展开全文
  • Ubuntu更换Linux内核版本

    万次阅读 2018-07-04 16:52:33
    Ubuntu14.04.5默认Linux内核版本号是4.4.0-31,这几天为了换一个低版本的内核,在网上查了蛮多帖子,最后虽然有点小问题(切换内核版本不是很方便),但总算是勉强更换成功。试了几个方法不行后,按照 ...

    Ubuntu14.04.5默认Linux内核版本号是4.4.0-31,这几天为了换一个低版本的内核,在网上查了蛮多帖子,最后虽然有点小问题(切换内核版本不是很方便),但总算是勉强更换成功。

    试了几个方法不行后,按照 https://blog.csdn.net/xin_yu_xin/article/details/42184899 这篇帖子的方法成功更换。博主的步骤基本没问题,我是一步一步对照着进行的,这里将我遇到的意外情况说明一下。

    首先第5步的(2),#make mrproper,这一步按照博主说的,如果使用刚下载的完整的源程序包即第一次进行编译,这一步省略,这一步会把上一步(1)的 .config文件删除,我稀里糊涂运行了这一句,于是又把(1)在复制一次。

    然后第6步make时,提示我 警告: 检测到时钟错误。您的创建可能是不完整的,开始以为反正是警告就忽略了,结果make了5 6个小时还没make完,于是按ctrl+c停止,再make clean,准备解决警告再重新make。按照 https://blog.csdn.net/maopig/article/details/6599660 说明的,使用语句

    find . -type f -exec touch {} \;

    警告完美解除(上面这条语句,看起来有点奇怪,最后是个\;,开始还真有点不相信),最后make了几十分钟就成功结束了。

    再就是第10步,提示


    于是在改成/usr/sbin/update-initramfs -c -k 3.2.65,也不知道改的对不对,反正我就当这样是可以的,最后内核是成功能用了。

    第12步的设置没有按照博主的说明,而是另外找了蛮多帖子,最后是用命令sudo gedit /etc/default/grub来更改GRUB_DEFAULT的值。


    这里我也不知道我的3.16.57应该把值设置成多少,反正我设置成2后,重新启动,进入了Memory test(如下蓝屏所示)


    然后按Esc,再按住shift回到下面这个界面


    这里可以看到GRUB_DEFAULT=2对应的是Memory test,由于我这里没有显示3.16.57,所以我不能通过直接设置GRUB_DEFAULT来进入3.16.57.但是选择Ubuntu高级选项,可以选择不同的Linux内核版本。


    这里再选择Ubuntu,Linux 3.16.57就可以成功进入刚装好的新版本Linux了。

    展开全文
  • linux更换内核

    2017-07-21 14:11:44
    1.查看当前系统内核一般 ssh 登录信息页就可以看到内核信息了,比如窝是:Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-36-generic i686)或者使用 uname -r 查看2.安装新内核锐速支持的内核可以在这里查看,窝...

    1.查看当前系统内核

    一般 ssh 登录信息页就可以看到内核信息了,比如窝是:

    Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-36-generic i686)

    或者使用 uname -r 查看

    2.安装新内核

    锐速支持的内核可以在这里查看,窝要安装的是 3.13.0-24-generic

    $ sudo apt-get install linux-image-extra-3.13.0-24-generic
    3.卸载其他内核

    查看系统现有内核

    $ dpkg -l|grep linux-image
    卸载列出的其他内核:

    $ sudo apt-get purge linux-image-3.16.0-36-generic linux-image-extra-3.16.0-36-generic
    4.更新 grub 系统引导文件并重启

    sudoupdategrub sudo reboot
    不出意外的话重启后启用的就是新的内核了~

    展开全文
  • linux 内核替换过程

    2020-01-09 13:52:38
    一、内核编译命令的简介 配置内核文件: make menuconfig #基于ncurse库编制的图形工具界面 make config #基于文本交互命令行工具 make xconfig #基于x11图形工具界面 make gconfig #基于gtk+的图形工具界面 ...

     

    一、内核编译命令的简介

    配置内核文件:

    make menuconfig   #基于ncurse库编制的图形工具界面
    make config       #基于文本交互命令行工具
    make xconfig      #基于x11图形工具界面
    make gconfig      #基于gtk+的图形工具界面
    
    make clean      #只清理所有产生的文件
    make mrproper   #清理所有产生的文件与config配置文件
    make distclean  #清理所有产生的文件与config配置文件与编辑过的补丁文件。
    
    在2.6内核中make相当于:
    make dep
    make bzimage
    的功能
    
    make -j4   # 以4个内核多线程方式编译内核
    make -c /usr/src/linux-...   #到指定目录下编译内核
    make modules   # 编译内核模块
    make install   # 安装内核文件
    make module_install  # 安装内核模块文件
    

    二、编译流程

    1.清理所有产生的文件与config配置文件(第一次编译内核时可省略)

    make mrproper

    2.配置内核

    make menuconfig

    3.编译

    make -j4
    make modules -j4

    4.安装内核与模块

    sudo make modules_install  #安装模块
    sudo make install          #安装内核
    ———————————————安装到指定目录下———————————————————————————————
    make INSTALL_PATH=/home/zhangna/test  install
    make INSTALL_MOD_PATH=/home/zhangna/test  modules_install

    5.替换系统内核

    不想删除原有的内核,那么需要将编译好的modules放在/lib/modules/$release下

    拷贝的内核文件为主要有4个,分别是:.config,bzImage,System.map 和系统/lib/modules/linux-3.12.5目录。

    具体操作如下:

    (1)将生成的linux-3.12.5/.config 拷贝到要替换内核系统的/boot下,并重命名为config-3.12.5

    (2)将生成的linux-3.12.5/arch/x86-64/boot/bzImage 拷贝到要替换内核系统的/boot下,并重命名为vmlinuz-3.12.5(注:这里需特别注意拷贝后的文件名变为vmlinuz-x.x.x)。

    (3)将生成的linux-3.12.5/System.map 拷贝到要替换内核系统的/boot下,并重命名为System.map-3.12.5

    (4)将make modules_install生成的系统目录/lib/modules/linux-3.12.5 拷贝到要替换内核系统的/lib/modules下。

    (5)在要替换新内核的系统的/lib/modules目录下执行以下命令:

      dracut  -f  /boot/initrd.img-3.12.5 3.12.5,生成/boot/initrd.img-3.12.5

      (6) 修改启动项的配置文件boot.cfg 或者grub.cfg

    修改配置文件 : boot/boot.cfg 或者 boot/grub.cfg(根据固件不同。如果不知道读的哪个配置文件,可以都修改了)

    (7) reboot

     

    展开全文
  • nasri@ubuntu:~$ cat /boot/grub/grub.cfg |grep menuentry if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" menuentry_id_option="" export menuentry_id_option ...
  • 如何编译和更换Linux系统内核

    万次阅读 2018-09-11 17:21:48
    step0 — 完成编译和安装Linux需要的基本条件 内核源代码 从http://www.kernel.org即可下载代码,注意你需要下载的是完整的源代码包(点击tarball即可下载),而不是patch或change log之类。 编译需要的软件 ...
  • Linux(ubuntu)更换内核方法

    千次阅读 2020-02-18 19:21:55
    简介:Linux搭建实时系统预备篇。 一、环境 硬件:x86 系统:Ubuntu14.04.5 初始内核:4.4.0-31 替换内核:3.14.44 注意:系统版本可通过cat /etc/issue查看,内核版本可通过uname -r查看。 二、资源获取 (1) ubuntu...
  • Ubuntu 如何更换内核

    万次阅读 2018-10-13 00:40:07
    对IT小白的详细更换内核指南
  • ubuntu16.04 查看内核,升级内核,删除内核,切换内核 1:查看内核列表 sudo dpkg --get-selections |grep linux-image linux-image-4.4.0-21-generic install linux-image-4.4.0-66-generic deinstall ...
  • openwrt更换原有Linux内核版本

    万次阅读 2016-07-15 15:24:45
    将openwrt14.07中的内核版本从3.10.49更换成3.10.102 a;更改文件include/kernel-version.mk b;修改target/linux/generic/patches-3.10中的文件 c;修改target/linux/ramips/patches-3.10中的文件,ramips即make ...
  • Ubuntu 14.04更换内核

    千次阅读 2017-02-15 18:05:32
    1:查看当前安装的内核 2:查看可以更新的内核版本: 3:安装新内核 4:卸载不要的内核
  • Linux升级内核的正确姿势

    万次阅读 热门讨论 2018-08-21 11:26:10
    Linux升级内核的正确姿势 很多童鞋在玩耍linux发行版的时候,都会遇到各种各样的问题,比如:网卡不能使用,亮度不能调节,触摸板不能识别,蓝牙不能使用等等,这些关系都和linux内核有关系。 什么是linux内核...
  • Linux修改内核版本

    千次阅读 2017-07-04 16:04:11
    如果执行以上命令后,输出的内核版本号低于 3.8,请参考下面的方法来来升级您的 Linux 内核。 对于 CentOS 6.5 而言,内核版本默认是 2.6。首先,可通过以下命令安装最新内核: rpm --import ...
  • Linux 内核切换 grub (Ubuntu)

    千次阅读 2019-02-26 08:40:33
    csdn上很多linux内核切换的文章有些错误和不全的地方. 在这提供两种方法来切换linux内核. 建议全程在root下进行, 新安装的linux可以通过sudo su进入root. 再输入passwd来创建或修改管理员密码 1. 延时启动时的grub...
  • ubuntu 更新内核切换内核启动

    万次阅读 2015-02-02 21:22:34
    1. 查看需要更新的内核命令: apt-cache search linux 该命令将会显示所有可以获取的内核 2. 安装内核,假设你要安装的内核为2.6.39-0,则使用下面的命令 sudo apt-get install linux-headers-2.6.39-0-...
  • 2.apt-cache search linux 查看可获取的内核 3.sudo apt-get install linux-headers-4.4.0-62-generic linux-image-4.4.0-62-generic 安装所需要版本的内核 4.查看内核启动顺序grep menuentry /bo...
  • 用这种不是最新的,但是可以更换比较新的内核,比如我刚刚换了4.19的,事实上现在官网最新的是4.20的。 1,设置源(stretch-backports) guoyanzhang@bogon:~$ sudo cat /etc/apt/sources.list [sudo] guoyanzhang ...
  • Ubuntu 切换系统默认启动内核

    万次阅读 2019-01-10 15:54:14
    例如我的最后显示如下,复制所要的内核名称(例如我需要的Ubuntu,Linux 4.15.0-29-generic)。 if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" menuentry_id.....
  • Ubuntu更改切换Linux内核

    千次阅读 2019-03-11 23:23:50
    因为想在拥有高版本Linux内的Ubuntu系统中,降低Linux内核版本,所以尝试了一下的操作(同样适用于提高Linux内核版本)。故写出来当做记录,也是希望可以帮助到你。 OS: Ubuntu 16.04 LTS 问题出现 我是在Ubuntu ...
  • Ubuntu14.04编译安装Kernel(上)

    千次阅读 2017-01-01 14:44:35
    在一个Linux系统中, 可以同时存在多个内核, 启动时可选其中之一来运行. 启动之后, 不管使用的是哪个内核, 表现是一样的. 下面, 我们就尝试着在Ubuntu16.04中安装新的内核. 参考资料 [1]Linux 内核的安装 [2]编译...
1 2 3 4 5 ... 20
收藏数 150,588
精华内容 60,235
热门标签
关键字:

linux更换内核