-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
boot_folder: explain how to use firstboot #1701
Conversation
Doesn't make sense to merge this until after the linked PR has been merged (and included in a Raspberry Pi OS release), so I'll mark this as 'draft' for now... |
673a27c
to
ba6ae8c
Compare
ba6ae8c
to
c2e05f4
Compare
@@ -43,6 +43,14 @@ When this file is present, SSH will be enabled on boot. The contents don't matte | |||
|
|||
This is the file to configure wireless network settings (if the hardware is capable of it). Edit the country code and the network part to fit your case. More information on how to use this file can be found in [the `wireless/headless` section](./wireless/headless.md). | |||
|
|||
### run_once | |||
|
|||
If a `/boot/run_once` executable exists at boot time, Raspberry Pi OS executes it on the first boot. It may contain bash, python, or any executable ARM binary. After execution, `run_once` will be renamed to `run_once.XXX`. Later reboots will know `run_once.XXX` was already executed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess technically it's "executes it on the next boot" rather than just "first boot" ? (I think there's nothing which means it only runs programs on first boot?)
|
||
If a `/boot/run_once` executable exists at boot time, Raspberry Pi OS executes it on the first boot. It may contain bash, python, or any executable ARM binary. After execution, `run_once` will be renamed to `run_once.XXX`. Later reboots will know `run_once.XXX` was already executed. | ||
|
||
Use it to provision your Raspberry Pi using simple scripts or initializing configuration management like cloud-init, puppet or ansible. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Slight grammar inconsistency between "provision" and "initializing".
|
||
Use it to provision your Raspberry Pi using simple scripts or initializing configuration management like cloud-init, puppet or ansible. | ||
|
||
Once the system has booted, view status and script output with `systemctl status run_once` and `journalctl -u run_once`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would probably be clearer if this was more verbose: "view status with systemctl status run_once
and view script output with journalctl -u run_once
." ?
And perhaps "script output" isn't the right terminology, as earlier on you say "or any executable ARM binary" ?
I'd encourage you to wrap this PR up in the next week or so as we're in the process of transitioning the documentation from the current Markdown-based source format to Asciidoc. At some point soon — probably around the end of June, beginning of July — we will freeze the current documentation repo. After that time contributions and PRs based on the Markdown source will not be accepted, and any PRs that are still open will be closed. See #1911 for full details. |
Been in draft since December. Marking for 7 day closure. |
@aallan thanks for reaching out - the RPi-Distro/raspberrypi-sys-mods#40 pull request which this documentation describes proved to be somewhat controversial So ill just wait and see where it ends. It should be possible to recreate this pull request when the time comes :) |
Documentation for the changes found in the firstboot merge request: RPi-Distro/raspberrypi-sys-mods#40
Let me know what you think :)