2024-06-20 在 Buildroot 系统中,使用reboot loader 并未进入烧录模式的解决方法,重启前在文件系统中创建一个文件来存储参数,然后内核重启时读取这个文件并做相应处理。

一、在 Buildroot 系统中,使用reboot loader 并未进入烧录模式,而是直接重启动,为啥呢?解释:reboot 命令通常来自 BusyBox,而 BusyBox 的 reboot 命令本身不支持直接传递参数来触发特定的重启行为。

二、kernel/kernel/reboot.c是处理系统重启、关机和其他相关操作的核心文件。包含了系统调用 reboot 和 poweroff 的实现。SYSCALL_DEFINE4 定义的系统调用函数在用户空间程序调用对应的系统调用时被触发。例如,当用户空间程序调用 reboot 系统调用时,最终会执行内核中由 SYSCALL_DEFINE4 宏定义的 sys_reboot 函数。

三、实现流程:重启前在文件系统中创建一个文件来存储参数,然后内核重启时读取这个文件并做相应处理。具体实现步骤:

3.1 编写一个my_reboot.c 系统应用

#include <stdio.h>
#include <unistd.h>
#include <sys/reboot.h>
#include <string.h>
#include <linux/reboot.h>
#incl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值