Skip to contentSkip to conversation

Setting reboot type at run time for ARM

DISCUSSION Arun Ramamurthy 2 participants 3 messages Mar 17, 2015 – Mar 18, 2015

lore
Share & tools
lore
#0 lore raw

Hello

I would like to specify a reset type just before issuing the reboot command in the kernel. I know the kernel command line parameter can be set as "reboot=w" to indicate warm reset but I want to be able to decide this at run time before issuing a reboot command. What would be the best way to implement this? Modify the reboot command to accept a parameter or is there a standard hook I can use?

Arun Ramamurthy

#1 lore raw
Quoted 8 lines · Arun Ramamurthy

Hello

I would like to specify a reset type just before issuing the reboot command in the kernel. I know the kernel command line parameter can be set as "reboot=w" to indicate warm reset but I want to be able to decide this at run time before issuing a reboot command. What would be the best way to implement this? Modify the reboot command
to accept a parameter or is there a standard hook I can use?

If you use the reboot(2) system call you can already specify a large number of options, for options that are currently not supported by coreutils' reboot or busybox's reboot, you could probably provide a shell script wrapper which calls into either your own reboot implementation or the regular one, would that work?

Signature · 1 line
Florian
#2 lore raw
Quoted 10 lines · Florian Fainelli
Quoted 8 lines · Arun Ramamurthy

Hello

I would like to specify a reset type just before issuing the reboot command in the kernel. I know the kernel command line parameter can be set as "reboot=w" to indicate warm reset but I want to be able to decide this at run time before issuing a reboot command. What would be the best way to implement this? Modify the reboot command
to accept a parameter or is there a standard hook I can use?

Quoted 6 lines

If you use the reboot(2) system call you can already specify a large number of options, for options that are currently not supported by coreutils' reboot or busybox's reboot, you could probably provide a shell script wrapper which calls into either your own reboot implementation or the regular one, would that work?

Thanks Florian. After looking at the sys call documentation, i can see that it passes an argument to the kernel_restart function if I use LINUX_REBOOT_CMD_RESTART2 as the cmd. However as you mentioned the coreutils reboot or busybox's reboot do not support these options so I will write a shell script to wrap the system call.