Automated build process (jessie)

Overview

This is a continuation from a thread about doing a manual installation on an existing Raspberry Pi. I’ve created a repo that has a script to automatically take a stock raspberry pi and transform it into a HestiaPi, which can also be used to create an image that can be flashed onto an SD card for anyone who wants to build their own image.

The images are available in the build pipeline (latest build).

The focus here will be on the Jessie build in order to minimize the differences between the official 1.2-dev image and the automatically generated image. Once that works, we can move on to more recent versions, which I’m sure will have all new problems (but hey, it’s cool, that’s just how these things go).

How you can help

These are listed starting with the thing that is the easiest and ending with the thing that is most helpful.

  1. Help test. Attempt to reproduce these issues so I know it’s not a hardware issue or something I’m doing wrong. Re-test to verify fixes when they’re available. Even testing on an emulated system (see the repo for the command to emulate a raspberry pi) would be helpful, and you don’t even need any hardware for that.
  2. Let me know where I should look to find more information about the issues
  3. Figure out what needs changed to fix the issue (e.g. “put ABC in the config located at XYZ”)
  4. Send in a merge request with the fix to the automated build script

Issues

Here’s the list of known issues (I’ll note when they are able to be reproduced by anyone in the community):

  1. Turnkey (the wifi setup) does not wait several minutes to allow the user to connect, select their access point’s SSID, and enter the password. This is an error, however if you’re fast enough, it’s possible to enter it before the system becomes unavailable. After a reboot, the pi will get an IP address.
  • /etc/rc.local is the same as in the 1.2-dev image
  • The turnkey script is effectively the same as the 1.2-dev image (there’s on code block that is commented out in 1.2-dev and instead it is just not executed in this image)
  1. Touchscreen is messed up. It’s hard to determine exactly how, but clicking on the info icon in the upper right does not register.
  • I mashed on the screen with a stylus so I could see the mouse cursor and it appears the touchscreen is rotated 90 degrees from the actual screen because moving right appears to move up.
  • However it’s not as simple as just being rotated because clicking in the top center of the screen causes the info button to get clicked
  • The calibration suggestions (from this post) were present
  • The 1.2-dev image does not have a /etc/X11/xorg.conf.d/ directory
  1. The info page never shows the local IP address (or any other information for that matter)
  • This is an error, but the IP address is shows when the HestiaPi boots, so it’s not a critical issue
  1. The UI shows “Off” and there’s would be no way to turn on the heat/cooling even if the touchscreen were functioning properly
  • The temperature and humidity are both showing zero
  • /home/pi/scripts/oneui/index.html is identical to the 1.2-dev image
  • /home/pi/scripts/kiosk-xinit.sh is functionally identical to the 1.2-dev image
  • Running the commands from that file manually gets the correct value for wlanip and wlanmac
  • /home/pi/scripts/openhabloader.html does contain the IP address
  • Accessing the OpenHAB web UI (on port 8080) shows the initial setup screen
  • After manually going through the setup, the BasicUI can be selected, but it is missing all the HVAC controls. Only links to the configuration and info pages are there.

Workarounds

These are things you can do now to work around these problems.

  1. Enter the password quickly
  2. None
  3. Watch for the IP address on boot
  4. Manually navigate to HESTIAPI_IP:8080, enable javascript, and click the Standard setup button. There seem to be additional steps required, but I’m not yet sure what they are.

Solutions

These are where I believe the solutions lie. If you can help with getting us closer (like location of scripts that should block until the wifi password is entered, LCD settings, curl commands, etc.), please chime in with whatever you have.

  1. Unknown
  2. Unknown. Probably involves the calibration config file, but I don’t understand what those numbers mean or how to derive the correct settings
  3. Unknown, might get fixed when #4 is fixed?
  4. I do try to go through the OpenHAB initial setup when building the image. It’s likely that there just needs to be some additional curl commands.

Good day @hestia_heacker

I clicked on the latest build link (https://0xacab.org/hestia/raspberrypi-automation/-/pipelines/105973) and am getting a 404 error.

I will try to use your scripts to build the image but want to compare it against what you are producing.

Joel

@hestia_hacker

What screen are you using or is it all VM.
I am using this one. https://www.digikey.com/en/products/detail/seeed-technology-co-ltd/308010014/5482538 when I run 1.2-dev image (still have to build your image) I boot up the image is 180 rotated, and after running LCD35-show 180 both touch and display are correct.

Joel

My apologies. I had the permissions set incorrectly so only developers were able to see the CI/CD pipelines, which I didn’t notice because I was logged in so the link worked fine for me. It should be fixed now.

I have the same screen. I’ll try running commands from the LCD package manually (like rotate.sh 180) and see if that helps me. Thanks for the suggestion.