-
-
Notifications
You must be signed in to change notification settings - Fork 0
Pitfalls
During the setup of this project, I ran into many rock walls and an overview of the steps that did and did not work is given here. For the future, I would definitely advise not to try and run the Solo Hacker keys from a Windows OS as eventually I only made the communication with the key work from a linux OS (either dualboot or with an external SSD). Apparently also MacOS should be fine, however I do not have access to such a system so I cannot verify this. The biggest issue I faced was getting the hardware device (Solo hacker key) to be recognized by my hardware setup.
As any development work on Windows is tricky, it is strongly suggested to use a Linux distribution instead. My first approach was to install WSL so I can use Linux applications and utilities directly on Windows, without having to install a virtual machine or setup dualboot.
- Set up a WSL dev environment with
wsl --install -d Ubuntu
- Install ARM GNU Toolchain
sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi
- Make sure build-essential is installed
- Install python3, pip3 and rust if not yet existing
- Install Solo tool with
pip3 install solo-python
- Clone repo for source code with submodules
- Apply all library fixes necessary
- Attach usb device to wsl with
usbipd wsl attach --busid <busid>
(lookup busid withusbipd wsl list
) and make sure it is listed on ubuntu withlsusb
However, after these steps I run into the issue that the solo tool itself cannot find the device, even though ubuntu lists it and it is properly attached. A detailed issue describing this problem can be found here. Even trying to install the right udev rules did not solve the problem, so eventually I moved on to the next approach: creating a virtual machine.
- Create a Virtual Machine running Ubuntu with Oracle's VirtualBox
- Install the solo setup (described above and following the README, plus the additional fixes necessary)
- Make sure that the VM can access the USB
- If the VM does not detect the USB, it might be that you first have to eject the USB device from the Windows Devices settings, leaving it plugged in. Then it suddenly can be used by the VM and is listed as a VirtualBox USB in the devices list instead.
After making sure everything works, I followed the getting-started guide. The issue I ran into here was at the final step. After putting the solo key into bootloader mode it would not be re-recognized by the VM anymore. There seems no logical and quick fix for this, so I moved to the next approach: working directly on a Linux system.
Hosting two operating systems on my laptop does not seem like a good solution, as it’s such an intrusive procedure, which could lead to loss of my personal data. I tried it with booting ubuntu from a USB stick, however this crashed multiple times when I tried upgrading the outdated packages and dependencies on the system.
The approach that eventually finally worked the way it should was to install Ubuntu on an external SSD drive. However, this does not seem to be compatible with my Microsoft Surface Book (which is probably also the reason why booting from an USB stick failed), so I setup the SSD from my PC.