首页 > 系统相关 >一文说透Linux编译特定内核版本的方法(ubuntu和树莓派)

一文说透Linux编译特定内核版本的方法(ubuntu和树莓派)

时间:2024-03-19 15:01:34浏览次数:28  
标签:树莓 sudo boot gcc 编译 内核 Linux ubuntu

更多内容在

在做开发的时候,我们可能会针对某个内核版本进行驱动的编写。这个时候就需要把版本编译到这个特定的内核版本。本文介绍ubuntu和树莓派两种环境系统的内核编译方式

Ubuntu:

已编译到5.9.0内核为例

1 将内核安装包和内核配置config放到虚拟机或PC机下

2 更新apt源,并安装编译所需的依赖包

3 解压5.9.0内核安装包,将解压的文件夹移动到/usr/src/路径下

4 执行编译内核

注:network support ——》wireless ——》主要是第一个要置y,表示build in,把cfg80211编进内核。如果要对wifi驱动进行开发的话,这个编译是必须的

在menuconfig界面选择load,加载刚才导入的.config文件,即是最终使用的配置,无需做另外的内核裁剪,exit退出后

5 执行make -j3进行编译

6 安装内核

7 修改默认启动的grub配置

树莓派

1 树莓派上以编译4.14.y内核版本为例,首先从树莓派官网上下载rapsi的image,从linux内核上下载4.14.y的内核代码

2 在本地电脑安装成功树莓派imager后,双击打开,选择要安装的树莓派原生系统,并将SD卡插入到电脑上。选择烧录到对应的SD卡中即可

3 烧录树莓派Img

4 启动树莓派,安装linux Kernel编译需要的工具并编译kernel

将上面通过imager制作的镜像SD卡插到树莓派卡槽中,启动树莓派,然后会在屏幕上面进行一些简单的安装,一直点next下一步即可。完成后,树莓派桌面系统正式安装完成。在树莓派桌面系统中,打开bash 终端。按以下命令安装编译tools以及下载内核并编译:

安装gcc8

sudo apt-get install gcc-8 g++-8

进入/usr/bin目录,删除连接到gcc-10 gcc++-10的软连接,然后重新建立新的软连接到gcc-8和g++-8

sudo rm -f gcc g++

sudo ln -s gcc-8 gcc

sudo ln -s gcc++-8 g++

执行gcc –version查看版本是否成功

5 把4.14的内核上传到linux文件夹

chmod -R 777 linux

cd linux

make bcmrpi3_defconfig

make -j4 Image modules dtbs

以上编译成功后,安装替换kernel到/boot

sudo make modules_install

sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/

sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/overlays/

sudo cp arch/arm64/boot/dts/overlays/README /boot/overlays/

sudo cp arch/arm64/boot/Image /boot/kernel8.img

重启系统,查看是否是编译的kernel版本

sudo reboot

uname -a

树莓派的官网也有对应的说明,链接如下

https://www.raspberrypi.com/documentation/computers/linux_kernel.html

标签:树莓,sudo,boot,gcc,编译,内核,Linux,ubuntu
From: https://blog.csdn.net/zhfcmx1/article/details/136836607

相关文章

  • Ubuntu18.04 安装opencv(亲测有用)
    1、安装依赖环境sudoapt-getinstallbuild-essentialsudoapt-getinstallcmakegitlibgtk2.0-devpkg-configlibavcodec-devlibavformat-devlibswscale-devsudoapt-getinstallpython-devpython-numpylibtbb2libtbb-devlibjpeg-devlibpng-devlibtiff-devl......
  • PVS‑Studio 7.29 for macOS, Linux & Windows - 代码质量安全静态分析
    PVS‑Studio7.29formacOS,Linux&Windows-代码质量安全静态分析PVS‑Studio-代码漏洞扫描工具|静态代码测试|代码安全分析请访问原文链接:https://sysin.org/blog/pvs-studio/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgC、C++、C#和Java代码静......
  • Ubuntu安装指定版本的docker
    Ubuntu安装指定版本的docker1、删除docker相关组件sudoapt-getautoremovedockerdocker-cedocker-enginedocker.iocontainerdrunc2、更新apt-getsudoapt-getupdate3、安装apt依赖包,用于通过HTTPS来获取仓库sudoapt-getinstallapt-transport-httpsca-cert......
  • 基于树莓派实现 --- 智能家居
    最效果展示演示视频链接:基于树莓派实现的智能家居_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tr421n7BM/?spm_id_from=333.999.0.0(PS:房屋模型的搭建是靠纸板箱和淘宝买的家居模型,户型参考了留学时短租的公寓~) 前言到目前为止,对于linux的嵌入式软件开发,从底层......
  • 用VMware快速搭建Linux系统(新手教程)
    一、物料准备1、VMware2、Linux系统镜像二、开始安装 1、点击创建新的虚拟机2、下一步,选择镜像文件3、点下一步,编辑文件存放位置4、设置磁盘大小(根据实际需求设置)5、自定义硬件配置(可根据实际需求进行设置)网络适配器设置6、点完成开始安装7、选择语言8、......
  • linux系统中的PS命令详解
    `ps`是一个常用的Linux/Unix命令,用于显示当前系统中的进程信息。它可以列出系统中正在运行的进程,并显示每个进程的详细信息,包括进程的PID(进程ID)、PPID(父进程ID)、CPU使用率、内存使用率、命令行参数、运行时间等信息。`ps`命令在不同的系统中可能有不同的语法和参数,但一般可以......
  • linux内存释放
    1、查看缓存  free-m     total            总物理内存  used            已使用内存  free            未使用内存  shared             应用程序共享内存  b......
  • Linux安装和运行Pomelo
    1.安装启动pomelo1.在data目录下创建文件夹node和server,将服务器代码上传到server下2.进入node目录cd/data/node3.下载wgethttps://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz4.解压tar-xfnode-v10.16.3-linux-x64.tar.xz5.进入cdnode-v10.16.3-lin......
  • 在Linux/Ubuntu/Debian中使用iFuse访问iOS 设备(例如 iPhone 或 iPad)上的文件可双向复
    iFuse是一款工具,可让你在Linux系统上安装iOS设备(例如iPhone或iPad),使你能够访问其文件系统并与设备传输文件。以下是有关如何使用iFuse的基本指南:安装依赖项:在安装iFuse之前,确保你的系统上已安装所需的依赖项。这些依赖项通常包括libimobiledevice和libim......
  • Ubuntu 22.04中挂载硬盘
    背景Ubuntu22.04安装在固态硬盘,现在又添加了一块机械硬盘。添加的机械硬盘的文件系统已经是ext4了步骤1、用fdisk查看设备信息就是为了得到机械硬盘的路径,如下:/dev/sda即是root@cap-server:~#fdisk-lDisk/dev/loop0:63.28MiB,66355200bytes,129600sectorsUnits:......