ARM Ubuntu内核更新记录

这篇具有很好参考价值的文章主要介绍了ARM Ubuntu内核更新记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1,系统版本说明:ARM 鲲鹏920

 cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"

2, 将source.list中的deb-src打开

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
 deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
 deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
 deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
 deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse

deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
 deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
# # deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse

3, 安装编译所需文件和软件

sudo apt-get update
sudo apt install -y make  dpkg dpkg-dev libncurses5-dev libssl-dev libpciaccess0  ncurses-dev  flex bison libelf-dev  libssl-dev dwarves zstd

sudo apt build-dep linux  #需要第一步

4, 下载内核源码

//查看系统可获得的内核源码
apt search linux-source
//下载系统源码文件(下载内核版本为4.15.0)
apt install linux-source-4.15.0=4.15.0-88.88
//解压源码
cd /usr/src/linux-source-4.15.0
tar -xjvf linux-source-4.15.0

或者: 

apt install linux-source

5, 编译内核源码

//解压源码

cd /usr/src/linux-source-4.15.0
tar -xjvf linux-source-4.15.0

拷贝/boot/config-xxx ,到当前内核源码中

make menuconfig    //直接保存、退出,生成配置文件.config
make -j64               //编译
make modules            //编译模块
make modules_install    //安装模块
make install            //安装内核
cd /boot/grub   
sudo update-grub2       //更新启动项
reboot

6,编译出错问题

root@Fish:/usr/src/linux-hwe-5.4-headers-5.4.0-42# make
scripts/kconfig/conf  --syncconfig Kconfig
  HOSTCC  scripts/selinux/genheaders/genheaders
scripts/selinux/genheaders/genheaders.c:18:10: fatal error: classmap.h: No such file or directory
   18 | #include "classmap.h"
      |          ^~~~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.host:107: scripts/selinux/genheaders/genheaders] Error 1
make[2]: *** [scripts/Makefile.build:522: scripts/selinux/genheaders] Error 2
make[1]: *** [scripts/Makefile.build:522: scripts/selinux] Error 2
make: *** [Makefile:1131: scripts] Error 2
 

 原因就是因为使用了header的源码,这个源码时不完整的

七:编译deb包的升级方法

apt install make  dpkg dpkg-dev libncurses5-dev libssl-dev libpciaccess0

mkdir /usr/src/linux-source-4.15.0/
tar -xvf linux-source-4.15.0.tgz -C  /usr/src/linux-source-4.15.0/

cd /usr/src/linux-source-4.15.0/linux-source-4.15.0/
make menuconfig    //直接保存、退出,生成配置文件.config
make -j64               //编译
make modules            //编译模块
sudo make-kpkg  --initrd --append-to-version -20220228  --revision 001 kernel_image kernel_headers -j4


在当前目录的上一级目录会生成: 

inux-headers-4.15.18-20220228_001_arm64.deb  
linux-image-4.15.18-20220228_001_arm64.deb

 //内核升级安装

sudo dpkg -i linux-headers-4.15.18-20220228_001_arm64.deb 
sudo dpkg -i linux-image-4.15.18-20220228_001_arm64.deb 
cd /boot/grub   
sudo update-grub2       //更新启动项
//如果更新的内核比当前系统的内核版本高,直接重启后,自动会使用高版本的内核
sudo reboot //即可升级完毕

 //如果更新的内核比当前系统的内核版本低,就需要修改/etc/default/grub
cat /boot/grub/grub.cfg | grep menuentry 找到新版本的内核编号: 结果如下:  

    menuentry 'Ubuntu, with Linux 4.15.18-20220228' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.18-20220228-advanced-74577947-f486-4351-a2d3-fa0340afcda8' {
    menuentry 'Ubuntu, with Linux 4.15.18-20220228 (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.18-20220228-recovery-74577947-f486-4351-a2d3-fa0340afcda8' {
    menuentry 'Ubuntu, with Linux 4.15.0-76-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-76-generic-advanced-74577947-f486-4351-a2d3-fa0340afcda8' {

如需要的是: 
    Ubuntu, with Linux 4.15.18-20220228
    文章来源地址https://www.toymoban.com/news/detail-530118.html

# sudo vim /etc/default/grub
GRUB_DEFAULT=0
修改成:
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.15.18-20220228"
接着继续更新grub2:
cd /boot/grub   
sudo update-grub2       //更新启动项 

到了这里,关于ARM Ubuntu内核更新记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ARM AArch64的虚拟化(virtualization)详解(下)

    目录 六、异常的虚拟化 启用虚拟中断 生成虚拟中断 将中断转发(forward)到vCPU示例

    2024年02月03日
    浏览(27)
  • ARM AArch64的虚拟化(virtualization)详解(上)

    目录 一、概述 开始之前 二、虚拟化介绍 为什么虚拟化很重要

    2024年02月02日
    浏览(44)
  • KVM虚拟化ubuntu

    KVM(Kernel-based Virtual Machine)是一种基于Linux内核的虚拟化技术,它将Linux内核作为虚拟机的底层操作系统,利用硬件虚拟化支持创建和管理虚拟机。KVM虚拟化技术被广泛应用于云计算、虚拟化服务器、虚拟化桌面等场景。 KVM虚拟化技术的主要特点包括: 1.硬件虚拟化支持:

    2024年02月10日
    浏览(33)
  • Ubuntu 安装 KVM 虚拟化

    KVM 是 Linux 内核中一个基于 hypervisor 的虚拟化模块,它允许用户在 Linux 操作系统上创建和管理虚拟机。 如果机器的CPU不支持硬件虚拟化扩展,是无法使用KVM(基于内核的虚拟机)直接创建和运行虚拟机的。此时最多只能使用QEMU的完全软件仿真模式来运行虚拟机,但是性能会极度

    2024年04月29日
    浏览(20)
  • 【经验】VMware|Win11的Ubuntu虚拟机启动虚拟化,报错此平台不支持虚拟化的 Intel VT-x/EPT(方案汇总+自己的解决方案)

    我开虚拟化是为了在虚拟机中运行VirtualBox,如果不开CPU虚拟化,会报错 VBoxManage error: VT-x is not available (VERR_VMX_NO_VMX) 。 参考:VBoxManage error: VT-x is not available (VERR_VMX_NO_VMX) 先装cpu-check,获得kvm-ok指令: 运行下面这个指令检查是否支持KVM: 如果没有启用,会显示(继续第二个步

    2024年02月13日
    浏览(40)
  • 记录在ubuntu 18.04系统上安装虚拟机的过程

    ubuntu镜像下载地址 我下载的是desktop桌面版,比较好操作。 我用的Mac,使用的是balenaEtcher软件进行磁盘烧录。 balenaEtcher下载地址 如果出现磁盘损坏或者无法再次使用,参考这里解决: 进入 ubuntu系统安装过程还是比较顺利的~ 查看是否有硬件虚拟化处理器,大于0则表示有,如

    2024年02月10日
    浏览(34)
  • 如何在PD虚拟机中开启系统的嵌套虚拟化功能?

    PD虚拟机是一款可以在Mac电脑中设置Windows系统的应用软件。在ParallelsDesktop虚拟机中如何开启系统的嵌套虚拟化功能?下面我们分享一下具体的操作步骤。 1、打开Mac电脑中ParallelsDesktop虚拟机, 2、选择虚拟系统的“ 设置 ”选项, 3、在弹出的窗口中,点击“ 硬件 ”标签;

    2024年02月13日
    浏览(29)
  • Ubuntu内核的查看、更新、卸载、取消及启用自动更新

    1、查看当前内核版本: 2、升级内核: 在选择合适的内核后,sudo apt-get install安装相应内核。 3、查看内核安装情况:       卸载内核:       上述操作完成之后再更新grub: 4、关闭内核自动更新: 5、启用内核自动更新:

    2024年01月24日
    浏览(28)
  • 【Linux系统】电脑/BIOS中开启虚拟化

    在虚拟机创建的过程中,有些人可能会遇到电脑 虚拟化禁用 的情况,遇到这种情况要怎么解决呢?要怎么操作才能开启虚拟化呢?这篇文章即将解决你的困惑。 首先我们将电脑处于关机状态,开机过程中按F2进入BIOS,开启虚拟化;(必不可少)详细步骤见下文。 之后在控制

    2024年02月10日
    浏览(25)
  • k8s mysql 主从复制(带密码) ubuntu arm内核

    安装NFS服务 安装Helm kubectl apply -f mysql.yaml 参考官方文档: https://kubernetes.io/zh-cn/docs/tasks/run-application/run-replicated-stateful-application/

    2024年02月07日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包