首页 > 其他分享 >OpenWrt添加新平台的支持,文件路径全解析

OpenWrt添加新平台的支持,文件路径全解析

时间:2023-09-14 22:48:50浏览次数:37  
标签:files kernel target 文件 添加 内核 linux 解析 OpenWrt

 Adding new SoC to OpenWrt by Hauke Mehrtens - OpenWrt Summit - YouTube

虽然它有7年了,但是我看结构还没怎么变,口音挺重的,网易见外翻译不动,听不懂,ppt还是可以记录翻译一下的。

看来很多patch都不是必要的。

 

target 目标平台
represents soc line 标识目标线
target/linux/<target>/ 目录为

subtarget 子目标
represents soc generation 代表soc生成
target/linux/<garget>/<subtarget>/ 目录为

profile 专用文件
for each board 每个板子都又
target/linux/<target>/<subtarget>/profiles/<vendor>.mk 文件为

target 目标平台
target name 平台名
cpu type cpu类型
compiler options 编译选项
kernel patches 内核选项
additional kernel files 附件内核文件
kernel configuration 内核配置
image building scripts 文件编译脚本
base files 基本文件

subtarget 子目标
specialization of a target 专用一个目标
defferent kernel options 不同的内核选项
different compiler options 不同的编译器选项

profile
same kernel binary as above(sub)target 目标(子目标)二进制内核
different default packages 不同的默认包
specific image headers 特定的文件头

target Makefile 目标的Makefile
target/linux/<target>/Makefile 路径
target name and description 目标名称和描述
configuration for architecture,cpu type 架构配置,cpu类型
linux version to use 要使用的linux版本

kernel code 内核代码
the easiest if everything needed is upstream 如果上游有代码,将非常简单
kernel patches 内核修补程序
kernel files 内核文件
openwrt kernel packages openwrt内核包

kernel patches 内核补丁
apply patches on top of the mainline kernel 在主线内核上应用补丁
different layers 不同级别
target/linux/generic/patches-3.18/ 通用路径
target/linux/<target>/patches-3.18/ 目标专用路径
+ when change to an existing file 当更改为现有文件时
+ when patch already exists 当修补程序已经存在时
+ when backport for upstream kernel 当为上游内核进行后台

kernel files 内核文件
copy additional files into the mainline kernel 将其他文件复制到主线内核中
same directory structure as kernel 与内核相同的目录结构
different layers 不同层次
target/linux/generic/files 通用路径
target/linux/<target>/files 目标专用路径
+ when new driver with new file(s) +当具有新文件的新驱动程序


OpenWrt kernel packages Openwrt内核包
builds module as an external kernel module 将模块构建为外部内核模块
doc:http://wiki.openwrt.org/doc/devel/packages 文档地址
+ when a tar is normally used for distribution 当一个tar文件用作分发时

Kernel modules 内核模块
OpenWrt kmod package OpenWrt kmod包
selected in menuconfig 在菜单配置中选择
profile can select own set of kmod packages profile可以选择自己的一组kmod包
options should not affect kernel binary 选项不应影响二进制内核
placed globally for all targets 为所有目标全局放置
package/kernel/linux/modules/
placed into target directory 放入目标目录
target/linux/<target>/modules.mk
edit with:make kernel_menuconfig 编辑方式:make kernel_menuconfig


Build in Configuration 内置配置
different layers 不同目录
target/linux/generic/config-3.18
target/linux/<target>/config-3.18
target/linux/<target>/<subtarget>/config-default
no modules selected here 此处未选择任何模块

File system 文件系统
spi or parallel flash SPI或parallel 闪存
squashfs + appended jffs2 as overlay squashfs附加jffs2覆盖
NAND system Nand系统
surrounded by UBIFS BUIFS包围?
Some targets use ext4 or yaffs2,other possible 一些目标使用ext4,yaffs2,或其他格式

image generation 镜像生成
target/linux/<target>/image/Makefile 镜像生成配置文件
many vendor bootloader need a special firmware format 许多供应商的bootloader需要一种特殊的固件格式
also takes device tree files from /target/linux/<target>/dts/ 还从dts目录获取设备树文件


base files 基本文件
target/linux/<target>/base-files
default files for root file system 根文件系统的默认文件
etc/diag.sh
return status led 返回led状态
etc/uci-defaults/
shell scripts executed when booted 启动时执行的shell脚本

Submitting patches 提交补丁
submit early,submit often 尽早提交,经常提交
if it boots it is sufficient 如果它启动就足够了
similar rules as for the linux kernel apply for openwrt 与linux内核类似的规则适用于openwrt

标签:files,kernel,target,文件,添加,内核,linux,解析,OpenWrt
From: https://www.cnblogs.com/jackadam/p/17703710.html

相关文章

  • 金蝶云星空单据添加保管类型和保管者
    背景:保管者类型和保管者字段关联的是多类别基础资料列表字段和多类别基础资料字段,由于在企业的不同的业务场景下保管者可能存在供应商、客户或者业务组织三种情况,但是在系统中供应商、客户和业务组织为三个不同的基础资料,因此需要根据保管者尅性来确认对应可选择的保管者。注意......
  • 金蝶云星空单据添加货主类型和货主
     背景说明货主类型与货主字段关联的是多类别基础资料列表字段和多类别基础资料字段。由于在企业的不同的业务场景下货主可能存在供应商、客户或者业务组织三种情况,但是在系统中供应商、客户或者业务组织为三个不同的基础资料,因此需要根据货主类型来确认对应的可选择的号主。注......
  • 给指定类型的文件添加右键菜单
    在Windows10中,编辑注册表,修改指定的文件类型下的shell项,发现对特定文件类型的右键没有添加菜单。经过查询,需要使用AppliesTo语法,如下图这样就可以只在sql文件中显示这个右键菜单,其他类型的文件点击右键,不显示这个自定义菜单。如下图Windows文档:https://learn.micro......
  • Jquery 将 JSON 列表的 某个属性值,添加到数组中
    jquery将JSON列表的某个属性值,添加到数组中如果你有一个JSON列表,并且想要将每个对象的某个属性值添加到数组中,你可以使用jQuery的$.each()函数来遍历JSON列表,并获取所需的属性值。以下是一个示例代码:varjsonList=[{"name":"John","age":30,"city":"NewYork......
  • vue3 elementplus 列表中添加排序功能,移动的时候修改背景色
    <el-tablesize="medium":border="true":data="branchTableData":row-style="changeColor":stripe=falsestyle="width:100%;">......
  • Visual Studio - 如何在给定目录下批量添加文件作为LINK?
    VisualStudio-如何在给定目录下批量添加文件作为LINK?-堆栈溢出(stackoverflow.com) 对于单个文件在“添加项目”对话框中,您可以看到“添加”按钮上的小箭头向下指向单击它(因为它是一个带有下拉列表的按钮),然后选择“添加为链接”菜单项。将项目添加为链接对于多个文件......
  • 拼多多面试题解析:Java实现继承的七种方式!
    大家好,我是小米!今天,我要和大家一起来深入探讨一下拼多多的面试题:Java实现继承有哪7种方式?这是一个相当有深度的问题,不过别担心,我会尽力以通俗易懂的方式给大家讲解清楚,让大家对Java继承有更深刻的理解。什么是继承在Java编程中,继承是一种非常重要的概念,它允许一个类(子类/派......
  • 不再困惑!Java中for循环的全面解析
    Java中的for循环是一种常用的循环结构,用于重复执行一段代码。它的基本语法如下:for(初始化语句;条件表达式;更新语句){//循环体代码}其中,初始化语句用于初始化循环控制变量;条件表达式用于判断是否继续循环;更新语句用于更新循环控制变量的值。具体来说,for循环的执行过程如下......
  • MySQL篇:bug2_ Navicate无法添加或更新子行-外键约束失败
    问题产生原因Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。解决办法解决方法是在Mysql中取消外键约束:SETFOREIGN_KEY_CHECKS=0;再添加值,然后再设置外键约束:SETFOREIGN_KEY_CHECKS=1;查看当前FOREIGN_KEY_CHECKS的值可用如下命令:SELECT@@FOR......
  • 共享文件夹添加 文件删除 可以被记录
    事件起因:在生产服务器上,某项目文件被删除,但是不知道具体是谁删除的,到底是误删除还是故意删除,所以才有了本次操作 解决办法:在生产服务器上的操作:1、选中文件夹--属性--安全--高级--审核--添加--选择主体Domainuser--显示高级权限删......