树莓派内核编译配置

目录

一:树莓派等芯片带操作系统的启动过程

二:关于Linux源码文件目录的解读

三:树莓派Linux源码配置 

为什么学习源码配置:有时候需要编写驱动代码,驱动代码的编译就需要一个编译好的内核来实现,编译内核就必须配置

如何配置树莓派的Linux内核:

四:源码编译

1.编译

 2.是否成功生成:zImage为目标文件​编辑

3.打包zImage变成树莓派可用的xx.img文件

4.将树莓派的SD卡使用读卡器插到虚拟机设备里,使用dmesg查看设备信息​编辑


一:树莓派等芯片带操作系统的启动过程

  • C51、STM32(裸机)
    • C直接操控底层寄存器相关业务,属于业务流程型的裸机代码
  • x86,Intel,Windows
    • 电源-BIOS-Windows内核-C/D盘-程序启动(QQ)
  • 树莓派,mini2440,mini6410,nanopi
    • 电源-boot loader-Linux内核-文件系统(根据功能性来组织文件夹,带访问权限)
    • KTV点歌机,人脸识别打卡机,智能家居主控
  • 安卓
    • 电源-fast boot/boot loader-Linux内核-文件系统-虚拟机-HOME应用程序-点某程序打开某APP
  • boot loader
    • 一阶段:让CPU与内存,FLASH,串口,IIC,IIS,数据段打交道,驱动这些设备(汇编+C)
    • 二阶段:引导Linux内核启动(纯C)

二:关于Linux源码文件目录的解读

  • Linux源码大概有1.3w个C文件,1100w行代码
  • Linux是开源,免费的,是由Linux开源社区工作者共同开发维护的 
  • 可以支持多架构多平台代码
  • 可移植性非常高
  • 但是一般内核编译出来的只有几M的大小(支持多架构,多架构下又有多个不同平台使用)
  • 它可以支持多平台多架构,所以编译前要配置成合适的目标平台来用
    • ARM
      • 海思,RK,树莓派等
    • X86
    • powerPC
    • MIPS

Linux内核源代码目录树结构 - maxiongying - 博客园

  •  arch:硬件相关
    • 包括kernel(内核核心部分)、mm(内存管理)、math-emu(浮点单元仿真)、lib(硬件相关工具函数)、boot(引导程序)、pci(PCI总线)和power(CPU相关状态)。
  • block:块设备相关
  • drivers:驱动程序相关
  • Documentation:内核各设备的解释
  • fs:文件系统
  • include:头文件
  • init:内核的初始化(与系统引导代码不同)
  • ipc:进程间通信
  • kernal:内核相关,包括进程调度,定时器等
  • lib:库文件代码
  • mm(memory manage):内存管理代码
  • net:网络相关
  • scripts:配置内核文件的脚本文件
  • security:SELinux的模块
  • sound:音频设备的驱动程序
  • usr:实现一个cpio

三:树莓派Linux源码配置 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值