Experimental PinePhone Pro distro to provide a heads-up display using the Nreal Air. This is very much a work in progress and not ready to be used.
In theory PinePhone support should be possible, but I haven't been able to get the Nreal glasses to work.
NOTE: Setup was built on x86_64 Manjaro. This should work on any modern linux distro, YMMV.
Dependencies
- Setup tools
- Download dependencies/tools
./hb vendor
- Create a new device
./hb devices new
- Download dependencies/tools
- Install Tow-Boot (optional)
- All PinePhone Pros sold after July 2022 should come with Tow-Boot preinstalled to the SPI flash.
- Flash
.build/vendor/towboot/spi.installer.img
to an SD card. - Put the SD card in the PinePhone, and boot.
- Install Tow-Boot to the SPI.
- Remove the SD card.
- Building hudOS
- Configure OS
./hb buildroot build nconfig
- Configure WiFi under
External options
- Build OS
./hb buildroot build
- This step will take 30 minutes to an hour and consume significant amounts of system resources.
- Configure OS
- Flash the PinePhone
- Plug the PinePhone into your computer, it should start booting.
- As soon as the PinePhone vibrates start holding the volume up button.
- Stop holding button once the blue LED turns on.
- The PinePhone's eMMC should now appear as a block device,
/dev/sdX
. - Flash
./output/hudOS.img
to the eMMC. - Reboot the PinePhone.
- Deploying the HUD
- If the PinePhone was able to successfully connect to the WiFi, you should see it's ip address printed to the screen on boot.
- Add ip to device configuration
./hb devices host <device-name> <ip-address>
- Deploy apps to the phone
./hb deploy --only kiwmi,device-info
Deploy a new buildroot image to the phone:
./hb buildroot build # Buildroot produces a new rootfs
./hb buildroot deploy # Rootfs is written to an unused partition on the phone
# The phone should now reboot into the new image
# Note: This does not update the kernel or boot script
Deploy a single app the the phone:
./hb deploy --only <app_name>
Incorporate hudctl changes into the base image:
./hb buildroot build hudctl-rebuild # Clean the output of the previous build
./hb buildroot build # rebuild the image