登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
业界区
›
安全
›
Lesson01-利用Makefile创建内核镜像文件kernel8.img ...
Lesson01-利用Makefile创建内核镜像文件kernel8.img
[ 复制链接 ]
钦遭聘
2025-6-8 13:15:05
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
编写树莓派内核映像的过程可以等同于gcc的编译过程:预处理、编译、汇编、链接,后面还会加一步:将可执行文件转换成二进制的镜像文件。
在MakeFile里的构建过程分为3步:
1.将.c文件经过预处理、编译、汇编生成.o文件,将.S文件经过汇编生成.o文件。
2.将.o文件经过链接生成.elf可执行文件。
3.将.elf文件转换成二进制的.img镜像文件。
#变量-交叉编译工具
ARMGNU ?= aarch64-linux-gnu
#变量-编译可选参数
COPS = -Wall -nostdlib -nostartfiles -ffreestanding -Iinclude -mgeneral-regs-only
#变量-汇编可选参数
ASMOPS = -Iinclude
#变量-源文件目录
SRC_DIR = src
#变量-生成文件目录
BUILD_DIR = build
#构建-all首个构建对象
all: kernel8.img
#构建-clean
clean:
rm -rf $(BUILD_DIR) *.img
#构建-.c变.o
$(BUILD_DIR)/*_c.o: $(SRC_DIR)/*.c
mkdir -p $(@D)
$(ARMGNU)-gcc $(COPS) -MMD -c -o $@ $<
#构建-.S变.o
$(BUILD_DIR)/*_S.o: $(SRC_DIR)/*.S
$(ARMGNU)-gcc $(ASMOPS) -MMD -c -o $@ $<
#变量-.c文件
C_FILES = $(wildcard $(SRC_DIR)/*.c)
#变量-.S文件
ASM_FILES = $(wildcard $(SRC_DIR)/*.S)
#变量-.o文件
OBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)
OBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_S.o)
#变量-.d文件
DEP_FILES = $(OBJ_FILES:%.o=%.d)
#函数-包含依赖.d文件
-include $(DEP_FILES)
#构建-.o变.elf .elf变.img
kernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)
$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)
$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel.img
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Lesson01
利用
Makefile
创建
内核
相关帖子
[LKD/Linux 内核] 关于对 current_thread_info 的一点研究
[LKD/Linux 内核] 关于对 current_thread_info 的一点研究
[LKD/Linux 内核] Linux 中的 进程, 线程
[LKD/Linux 内核] 关于对 current_thread_info 函数的一点研究
利用Vue元素指令自动合并tailwind类名
Java 创建对象的 6 种方式 + 底层原理(面试必考)
关于我使用MinMix创建了一个Tailwindcss学习网站
利用SWIG实现JAVA调用C/C++代码
利用Windows Powershell原生功能生成TOTP令牌
创建STM32万能项目模板,适用于所有种类的MCU
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
[LKD/Linux 内核] 关于对 current_thread_info 的一点研究
4
78
蒲善思
2026-02-20
安全
[LKD/Linux 内核] 关于对 current_thread_info 的一点研究
7
148
轧岔
2026-02-20
安全
[LKD/Linux 内核] Linux 中的 进程, 线程
10
68
余思洁
2026-02-20
安全
[LKD/Linux 内核] 关于对 current_thread_info 函数的一点研究
5
533
存叭
2026-03-01
业界
利用Vue元素指令自动合并tailwind类名
5
302
周冰心
2026-03-02
安全
Java 创建对象的 6 种方式 + 底层原理(面试必考)
4
1024
高小雨
2026-03-05
业界
关于我使用MinMix创建了一个Tailwindcss学习网站
3
280
赶塑坠
2026-03-06
安全
利用SWIG实现JAVA调用C/C++代码
0
458
沦嘻亟
2026-03-07
业界
利用Windows Powershell原生功能生成TOTP令牌
2
394
蛟当罟
2026-03-09
安全
创建STM32万能项目模板,适用于所有种类的MCU
2
565
碣滥
2026-03-30
回复
(23)
高清宁
2025-12-18 15:15:59
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
睁扼妤
2025-12-20 15:05:18
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
劳暄美
2026-1-9 01:28:08
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
东西不错很实用谢谢分享
丰江
2026-1-16 08:46:34
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
副我
2026-1-17 06:31:25
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
收藏一下 不知道什么时候能用到
吉娅寿
2026-1-19 12:13:39
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
这个有用。
骆贵
2026-1-20 16:15:50
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
事确
2026-1-21 00:28:27
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
滕佩杉
2026-1-21 16:43:07
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
过来提前占个楼
幌斛者
2026-1-28 04:34:31
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢,下载保存了
讥慰捷
2026-1-30 03:27:02
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享
挫莉虻
2026-1-31 01:00:51
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
东西不错很实用谢谢分享
驼娑
2026-2-2 04:32:47
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
骂治并
2026-2-3 11:03:25
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
甄婉丽
2026-2-5 04:14:57
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
感谢分享
扈梅风
2026-2-8 02:42:01
回复
使用道具
举报
照妖镜
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
热心回复!
港髁
2026-2-9 09:53:47
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
煅圆吧
2026-2-9 22:21:25
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
琴丁辰
2026-2-10 05:21:46
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
yyds。多谢分享
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
程序
科技
代码
软件
教程
签约作者
程序园优秀签约作者
发帖
钦遭聘
2026-2-10 05:21:46
关注
0
粉丝关注
28
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991126
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9518
6
韶又彤
9909
7
荪俗
8992
8
宋子
9875
9
蓬森莉
9869
10
俞瑛瑶
10000
查看更多
今日好文热榜
286
程序员AI编程之提示词【学习笔记】
847
AgileAI - 一个新的 .NET AI 库
299
OpenClaw AI助手本地部署完整教程
23
AI 编程助手 + 基于 CLI 的 Manus 实现(Ja
716
React 技术深度探讨
258
从分形到森林——使用 Three.js 创建逼真的
561
React 技术深度探讨
1000
React 技术深度探讨
470
【读书笔记】【CUDA编程指南】CUDA简介
870
React 技术深度探讨
5
hal库总结学习
931
"Natural-Language Agent Harnesses" 论文
846
自我即自感:一种极简存在论
78
Microsoft Agent Framework + Kimi API 实
354
【节点】[Posterize节点]原理解析与实际应
5
【小记】解决校园网中单播互通的不同子网间
760
GitHub 热门项目 Top 10 | 2026 年 04 月 0
194
Spring Cloud Gateway实战:微服务API网关
791
罗兰艺境GEO内容工程实战复盘:CSDN 92分技
525
MacBook Air 本地运行大语言模型(LLM)