Ubuntu系统Linux内核安装和使用

news2024/12/24 2:38:32

安装: 

检查树莓派Linux版本,我的是6.1

uname -r

内核下载链接:

Raspberry Pi · GitHub

找对应版本下载

 导入之后,解压安装即可 

unzip linux-rpi-6.1.y.zip     

其他内容

treee  指令安装 sudo apt-get install tree

使用这个指令查看源码树,相当于手册。 

Linux内核源代码目录树结构. 

arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录。和32位PC相关的代码存在1386目录下,其中比较重要的包括kernel(内核核心部分)、mm(内存管理)math-emu(浮点单元仿真)、lib(硬件相关工具函数)、boot(引导程序)、pci(PCI总线)和power(CPU相关状态)。
block:部分块设备驱动程序。
crypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。
bocumentation:关于内核各部分的通用怪释和注释
drivers:设备驱动程序,每个不同的驱动占用一个子目录。(推荐阅读)
fs:各种支持的文件系统,如ext、fat、ntfs等.

include:头文件。其中,和系统相关的头文件被放置在linux子目录下。
init:内核初始化代码(注意不是系统引导代码)。
ipc:进程间通信的代码。
kernel:内核的最核心部分,包括进程调度、定时器等,和平台相关的一部分代码放arch/*/kernel目录下
lib:库文件代码。
mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。
net:网络相关代码,实现了各种常见的网络协议。
scripts:用于配置内核文件的脚本文件。

security:主要是一个SELinux的模块。
sound:常用音频设备的驱动程序等。
usr:实现了一个cpio.
在1386体系下,系统引导将从arch/1386/kernel/head.s开始执行,并进而转移到init/main.c中的

树莓派Linux内核源码配置 

 树莓派Linux源码配置
                驱动代码的编写需要一个提前编译好的内核,编译内核就必须配置。
                配置的最终目标会生成 .config文件,该文件指导Makefile去把有用东西组织成内核
            第一种方式:
                cp 厂家.config .config
            第二种方式:
                make menuconfig 一项项配置,通常是基于厂家的config来配置
            第三种方式:
                

完全自己来

linux源码中有很多工程:
树莓派1的工程是bcmrpi_defconfig
树莓派2、3的工程是bcm2709_defconfig

注意:树莓派4b的不能安照上面的方法

先使用 sudo apt-get install git 获取git 指令 

 获取树莓派4的内核源代码:git clone --depth=1 https://github.com/raspberrypi/linux.git

 进入内核源代码目录:cd linux

 设置交叉编译环境变量:export ARCH=arm
                                        export CROSS_COMPILE=arm-linux-gnueabihf-

运行配置命令:make bcm2835_defconfig

在使用上面这个命令make bcm2835_defconfig的时候如果有下图的错误

需要使用: sudo apt-get update

                   sudo apt-get install flex

                   sudo apt-get install bison
再运行:make bcm2835_defconfig
 另外:如果之前没有安装ncurses 库,可以现在安装

sudo apt-get update
sudo apt-get upgrade libncurses5 libncursesw5


构建内核:make
安装内核:make modules_install
                  sudo make install

这个不一定适合所有人,仅供参考。有不足之处请留言,另外大家在安装一些东西的时候经常会遇见各种错误,虽然大部分错误都能在CSDN上找到,但是版本可能已经过时,或者根本不合适大家,建议大家把错误信息复制到AI去问AI有时候会节省很多很多查找时间。虽然问AI这个习惯不一定好,但是可以节约时间去干跟多事情,毕竟大部分人安装了需要的东西之后不久就会忘记或者一直沿用,所以没必要浪费太多时间去找错误帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1050274.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一探Redis究竟:超火爆入门指南,你竟然还没看?

Redis入门教程目录:【Redis入门教程目录】 简介 Redis是由C语言编写的开源、基于内存、支持多种数据结构、高性能的Key-Value数据库。 特性 速度快 首先Redis是将数据储存在内存中的,通常情况下每秒读写次数达到千万级别。其次Redis使用ANSI C编写&…

No145.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

LeetCode 377.组合总和IV 可解决一步爬m个台阶到n阶楼顶问题( 完全背包 + 排列数)

给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围 示例 1: 输入:nums [1,2,3], target 4 输出:7 解释&#x…

Spring源码篇(十)@Bean怎么注册一个bean

文章目录 前言配置类里的Bean解析sourceClass是什么解析Bean方法添加Bean注解的方法信息注册总结Bean注册的过程注意点 前言 配置类的解析之前有聊过,这篇也会涉及到一部分,因为Bean本身也是配置类里的一个东西,本篇会着重解析Bean注册bean的…

区块链(6):p2p去中心化介绍

1 互联网中中心化的服务和去中心化服务的概念介绍 目前的互联网公司大都是中心化的 区块链网络大多是去中心化的 去中心化 2 p2p的简单介绍 java 网络编程:socket编程,netty编程,websoket简单介绍 2.1 节点是如何提供服务的(web编程实现)

qml保姆级教程一:布局组件

💂 个人主页:pp不会算法v 🤟 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 QML系列教程 QML教程一:布局组件 文章目录 锚布局anchors属…

前端开发 vs. 后端开发:编程之路的选择

文章目录 前端开发:用户界面的创造者1. HTML/CSS/JavaScript:2. 用户体验设计:3. 响应式设计:4. 前端框架: 后端开发:数据和逻辑的构建者1. 服务器端编程:2. 数据库:3. 安全性&#…

CISSP学习笔记:人员安全和风险管理概念

第二章 人员安全和风险管理概念 2.1 促进人员安全策略 职责分离: 把关键的、重要的和敏感工作任务分配给若干不同的管理员或高级执行者,防止共谋工作职责:最小特权原则岗位轮换:提供知识冗余,减少伪造、数据更改、偷窃、阴谋破坏和信息滥用的风险&…

CSS详细基础(四)显示模式

本帖开始介绍CSS中更复杂的内容 目录 一.显示模式 1.行内元素 2.块级元素 3.行内块元素 二.背景样式 一.显示模式 顾名思义,在CSS中,元素主要有3种显示模式:行内元素、块级元素、行内块元素~ 所谓块级元素,指的是该元素在…

Springboot+vue的企业人事管理系统(有报告),Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的企业人事管理系统(有报告),Javaee项目,springboot vue前后端分离项目。 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的企业人事管理系统,采用M(model&am…

【kylin】【ubuntu】搭建本地源

文章目录 一、制作一个本地源仓库制作ubuntu本地仓库制作kylin本地源 二、制作内网源服务器ubuntu系统kylin系统 三、使用内网源ubuntukylin 一、制作一个本地源仓库 制作ubuntu本地仓库 首先需要构建一个本地仓库,用来存放软件包 mkdir -p /path/to/localname/pac…

基于微信小程序的手机在线商城小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

摩根大通限制英国客户购买加密货币,市场掀起涟漪!

摩根大通旗下英国数字银行部门宣布,从下个月开始,将禁止客户进行加密货币交易。这一决定归因于人们越来越担心与加密货币相关的诈骗和欺诈行为的增加。 正如该银行周二表示的那样,从10月16日起,该银行的客户将不再可以选择通过借…

Bee2.1.8支持Spring Boot 3.0.11,active命令行选择多环境,多表查改增删(bee-spring-boot发布,更新maven)

天下大势,分久必合! Hibernate/MyBatis plus Sharding JDBC Jpa Spring data GraphQL App ORM (Android, 鸿蒙) Bee Spring Cloud 微服务使用数据库更方便:Bee Spring Boot; 轻松支持多数据源,Sharding, Mongodb. 要整合一堆的…

数据大帝国:大数据与人工智能的巅峰融合

文章目录 大数据与人工智能:概念解析大数据与人工智能的融合1. 数据驱动的决策2. 自然语言处理(NLP)3. 图像识别与计算机视觉4. 智能推荐系统5. 医疗诊断和生命科学 数据大帝国的未来展望1. 智能城市2. 区块链和数据安全3. 自动化和机器人4. …

分布式搜索引擎es-3

文章目录 数据聚合聚合的种类RestAPI实现聚合 数据聚合 什么是聚合? 聚合可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎?这些手机的平均价格、最高价格、最低价格?这些手机每月的销售情况如…

Linux CentOS7 vim临时文件

在vim中,由于断网、停电、故意退出、不小心关闭终端等多种原因,正在编辑的文件没有保存,系统将会为文件保存一个交换文件,或称临时文件,或备份文件。 如果因某种原因产生了交换文件,每次打开文件时&#x…

多线程总结(线程池 线程安全 常见锁)

本篇文章主要是对线程池进行详解。同时引出了单例模式的线程池,也对线程安全问题进行了解释。其中包含了智能指针、STL容器、饿汉模式的线程安全。也对常见的锁:悲观锁(Pessimistic Locking)、乐观锁(Optimistic Locki…

使用GDIView排查GDI对象泄漏导致的程序UI界面绘制异常问题

目录 1、问题说明 2、初步分析 3、查看任务管理器,并使用GDIView工具分析 4、GDIView可能对Win10兼容性不好,显示的GDI对象个数不太准确 5、采用历史版本比对法,确定初次出现问题的时间点,并查看前一天的代码修改记录 6、将…

visual studio下载安装

一、官网下载 地址:https://visualstudio.microsoft.com/zh-hans/ 点击免费visual studio 二、安装 运行下载好的exe文件,自定义安装目录 三、选择需要的组件安装 只需要选择标记组件,然后点击安装 等待安装完成就行 四、重启电脑 安装完之后…