ubuntu 内核降级,切换linux内核版本

    起因是安装了ubuntu 20.04 版本 其内核是5.8,用该版本内核编译 正点原子 MX6ULL 开发板的4.15版本内核时提示 文件系统报错,无论是NXP原厂还是正点原子的都报错。但是自己下载5.10版本的内核编译则顺利通过。不知道是何种原因,既然不想会重新装ubuntu 16.04 ,只能选择内核降级。

    本次安装的是 linux-4.15.0-39 版本内核,其他版本大家自行选择下载

    一、添加源镜像,防止出现 “E: 无法定位软件包问题 ”

    1、切换到root模式

    2、备份镜像源

    sudo cp ~/etc/apt/sources.list ~/etc/apt/sources.list.bak

    3、编辑镜像源

    sudo vim /etc/apt/sources.list

    4、增加镜像源,本次添加的是清华的镜像源,也可以添加其他源 在sources.list 最后一行添加以下内容

    deb http://security.ubuntu.com/ubuntu trusty-security main

    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

    5、更新镜像

    sudo apt-get update

    二、下载linux 内核 (方式1) 1、查询内核列表

    sudo apt-cache search linux-image 查询列表中可更新的内核

    2、安装4.15.0-39版本镜像

    sudo apt-get install linux-image-4.15.0-39-generic

    3、安装4.15.0-39版本的内核

    sudo apt-get install linux-headers-4.15.0-39-generic

    4、安装4.15.0-39版本内核模块

    sudo apt-get install linux-modules-4.15.0-39-generic

    5、安装4.15.0-39版本的驱动

    sudo apt-get install linux-modules-extra-4.15.0-39-generic

    6、查询当前当前已安装的内核

    dpkg -l |grep linux-image

    从上面可以查看内核是否安装成功。

    三 安装linux内核(方式二) 1、从内核官网或者其他地方下载linux内核安装包 2、使用cd 命令进入到安装装包目录下 3、安装内核

    sudo dpkg -i *.deb

    4、查询当前当前已安装的内核

    dpkg -l |grep linux-image

    如果报错,根据提示查找错误原因,解决后重新执行

    四、切换内核版本 (重要) 众所周知,Bootloader是计算机启动时运行的第一个程序。 负责装载和传输控制信息到操作系统内核,而内核负责初始化其余的操作系统。 GNU GRUB是一个非常强大的Bootloader,可以加载很多种免费操作系统以及使用chain-loading的操作系统。

    GRUB有两种不同的引导方法,一种是直接加载操作系统,另外一种是链式加载(chain-load)。通常采用的是第一种方式,因为它不需要安装或维护其他引导装载程序,GRUB能够通过这种方式从任意磁盘/分区加载操作系统。但是,后一种方式有时是必需的,因为GRUB并不支持对所有操作系统的直接加载。链式加载只支持PC BIOS和EFI平台。

    GRUB由’grub.cfg’文件进行配置,通常位于/boot/grub路径下。这个文件相当灵活,但它通常不需要完全由用户手动写入

    1、 查看需要使用的内核位置

    gedit /boot/grub/grub.cfg

    打开后如下所示,第2行明确的写着 “不要编辑该文件”。

    之后我们向下查找,直至看到 menuentry ‘Ubuntu’ ,menuentry表示grub启动选项的显示条目。如下所示。

    export linux_gfx_mode

    menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0adfee8d-6cc2-4769-8572-b4936f092cc3' {

    recordfail

    load_video

    gfxmode $linux_gfx_mode

    insmod gzio

    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi

    insmod part_msdos

    insmod ext2

    set root='hd0,msdos5'

    if [ x$feature_platform_search_hint = xy ]; then

    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 0adfee8d-6cc2-4769-8572-b4936f092cc3

    else

    search --no-floppy --fs-uuid --set=root 0adfee8d-6cc2-4769-