mirror of
https://github.com/cimryan/teslausb.git
synced 2026-03-01 04:30:33 +00:00
Update readme
Ready for testing and feedback.
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Flashable image to get started more quick
|
# Flashable image to get started more quick
|
||||||
|
|
||||||
# This is a WORK IN PROGRESS, NOT CURRENTLY WORKING.
|
# This is a WORK IN PROGRESS, SHOULD BE WORKING.
|
||||||
|
|
||||||
For now the image creation work is at:
|
For now the image creation work is at:
|
||||||
* Modified pi-gen [rtgoodwin's fork of pi-gen](https://github.com/rtgoodwin/pi-gen) in (whatever current branch I'm working at the time).
|
* Modified pi-gen [rtgoodwin's fork of pi-gen](https://github.com/rtgoodwin/pi-gen) in (whatever current branch I'm working at the time).
|
||||||
@@ -10,25 +10,46 @@ For now the image creation work is at:
|
|||||||
|
|
||||||
* Assumes your Pi comes up on Wifi, with internet access. (But so does most of this guide.) USB networking still enabled for troubleshooting.
|
* Assumes your Pi comes up on Wifi, with internet access. (But so does most of this guide.) USB networking still enabled for troubleshooting.
|
||||||
* I moved all script downloads and variable creation to the initial setup. At this point, I'm designing it to pull the setup scripts dynamically, since development is still ongoing. If/when we reach a good frozen state, we can generate an image that is ready to run. I think it'll also be pretty tricky to do some of the remounting and creating the backing files etc. on the image creation side. Open to suggestions/contributions there though!
|
* I moved all script downloads and variable creation to the initial setup. At this point, I'm designing it to pull the setup scripts dynamically, since development is still ongoing. If/when we reach a good frozen state, we can generate an image that is ready to run. I think it'll also be pretty tricky to do some of the remounting and creating the backing files etc. on the image creation side. Open to suggestions/contributions there though!
|
||||||
* The archive server might not be reachable during the first boot during setup, ex. if building the card somewhere away from the archive server location. So I no longer fail on it not being reachable.
|
* At the very least we could bake in stable first stage headlessBuild scripts for Mac/Linux/Windows.
|
||||||
|
|
||||||
|
|
||||||
## Building the Pi
|
## Building the Pi
|
||||||
|
|
||||||
WORK IN PROGRESS BUT MOSTLY RIGHT
|
WORK IN PROGRESS BUT MOSTLY RIGHT. And still shorter than the full process!
|
||||||
|
|
||||||
1. Flash the image from: XXXXXXXX
|
1. Flash the image from [here](https://www.dropbox.com/s/zfzjbmx4744q810/image_2018-10-21-teslausb_headless-lite.zip?dl=0)
|
||||||
1. Mount the card again, and in the `boot` directory create a `teslausb_setup_variables.conf` file to export the same environment varibles normally needed for setup (including archive, Wifi, and push notifications (if desired).) See the main README for these instructions for now.
|
1. Mount the card again, and in the `boot` directory create a `teslausb_setup_variables.conf` file to export the same environment varibles normally needed for setup (including archive, Wifi, and push notifications (if desired).) See the main README for all the variables.
|
||||||
1. Run the `setup-piForHeadlessBuild.sh` (note: **not** `setup-piForHeadlessSetup.sh`):
|
1. Run the `setup-piForHeadlessBuild.sh` (note: **not** `setup-piForHeadlessSetup.sh`):
|
||||||
`curl https://raw.githubusercontent.com/rtgoodwin/teslausb/headless-patch/headless-scripts/setup-piForHeadlessBuild.sh -o setup-piForHeadlessBuild.sh`
|
`curl https://raw.githubusercontent.com/rtgoodwin/teslausb/headless-patch/headless-scripts/setup-piForHeadlessBuild.sh -o setup-piForHeadlessBuild.sh`
|
||||||
`chmod +x setup-piForHeadlessBuild.sh`
|
`chmod +x setup-piForHeadlessBuild.sh`
|
||||||
`./setup-piForHeadlessBuild.sh .`
|
`./setup-piForHeadlessBuild.sh .`
|
||||||
1. If all goes well, put card into Pi and boot.
|
1. If all goes well, put card into Pi and boot.
|
||||||
|
1. Wait for the the Pi to come up as a CAM USB drive, if you have it plugged into your computer. If not, give it a few minutes until the LED starts pulsing steadily which means the archive loop is running and you're good to go.
|
||||||
|
|
||||||
|
## What happens under the covers
|
||||||
|
|
||||||
|
When the Pi boots the first time:
|
||||||
* A `/boot/teslausb-headless-setup.log` file will be created and stages logged. This takes the place of the "STOP" commands
|
* A `/boot/teslausb-headless-setup.log` file will be created and stages logged. This takes the place of the "STOP" commands
|
||||||
* Marker files will be created in `boot` like `TESLA_USB_SETUP_STARTED` and `TESLA_USB_SETUP_FINISHED` to track progress. May use a progress system so the script can pick back up if needed. (This is probably useful for the general/old way of setup too.)
|
* Marker files will be created in `boot` like `TESLA_USB_SETUP_STARTED` and `TESLA_USB_SETUP_FINISHED` to track progress. May use a progress system so the script can pick back up if needed. (This is probably useful for the general/old way of setup too.)
|
||||||
* The Pi LED will flash patterns as it gets to each stage (labeled in the setup-teslausb-headless script).
|
* The Pi LED will flash patterns as it gets to each stage (labeled in the setup-teslausb-headless script).
|
||||||
* 10 flashes means setup failed!
|
* 10 flashes means setup failed!
|
||||||
* After the final stage and reboot the LED will go back to normal
|
* After the final stage and reboot the LED will go back to normal. Remember, the step to remount the filesystem takes a few minutes.
|
||||||
|
|
||||||
|
At this point the next boot should start the Dashcam/music drives like normal. If you're watching the LED it will start flashing every 1 second, which is the archive loop running.
|
||||||
|
|
||||||
|
> NOTE: Don't delete the `TESLAUSB_SETUP_FINISHED` file. This is how the system knows setup is complete.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Image creation TODOs
|
||||||
|
1. Patch the hostname to teslausb
|
||||||
|
1. Make it so if someone deletes the `TESLAUSB_SETUP_FINISHED` file it's handled gracefully.
|
||||||
|
1. I still see some errors during pi-gen about locale, may need to be fixed? stage0/01-locale/debconf en_US.UTF-8
|
||||||
|
1. Cache the remount packages? Might mess with first boot like `rsyslog`
|
||||||
|
1. Any other steps to move into the base image?
|
||||||
|
1. Aspirational TODO: Remove more packages and set services to stopped to make the boot process faster?
|
||||||
|
|
||||||
|
|
||||||
#### Modifications to pi-gen builder from master
|
#### Modifications to pi-gen builder from master
|
||||||
@@ -47,10 +68,3 @@ Built image on a Raspi running Stretch, for maximum Pi-ception.
|
|||||||
1. Add a script to flash LEDs
|
1. Add a script to flash LEDs
|
||||||
1. Run `sudo ./build.sh` from the `pi-gen` directory.
|
1. Run `sudo ./build.sh` from the `pi-gen` directory.
|
||||||
1. If you get a failure, it's almost certainly after stage2, so you can add SKIP files in stage2-stage5 present) and rerun `sudo CLEAN=1 ./build.sh`
|
1. If you get a failure, it's almost certainly after stage2, so you can add SKIP files in stage2-stage5 present) and rerun `sudo CLEAN=1 ./build.sh`
|
||||||
|
|
||||||
### Image creation TODOs
|
|
||||||
1. TODO: Patch the hostname to teslausb
|
|
||||||
1. TODO: I still see some errors during pi-gen about locale, may need to be fixed? stage0/01-locale/debconf en_US.UTF-8
|
|
||||||
1. TODO: Cache the remount packages? Might mess with first boot like `rsyslog`
|
|
||||||
1. Aspirational TODO: Remove more packages etc to make the boot process faster? OR start from `stage1` if we don't need all of `stage2`
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user