mirror of
https://github.com/OpenSolo/OpenSolo.git
synced 2025-04-29 22:24:32 +02:00
DOC: Detailed solo-builder readme
New detailed readme.md in the solo-builder directory replaces existing documentation elsewhere.
This commit is contained in:
parent
1e17943322
commit
62225f70b6
@ -1,13 +0,0 @@
|
||||
# [Solo-Builder](https://github.com/OpenSolo/solo-builder)
|
||||
This is the collection of scripts and tools that automatically build all of the firmware and operating system image files for your solo and artoo controller. If you're not sure where to start, clone [this](https://github.com/OpenSolo/solo-builder) repository onto your computer. Then follow the official OpenSolo [quick start guide](http://ardupilot.org/dev/docs/solo-opensolo-quickstart.html) on the ardupilot wiki.
|
||||
|
||||
An overview of the build process:
|
||||
* Clone the repo
|
||||
* Install all the prerequisites
|
||||
* Bring up the vagrant virtual machine (ubuntu)
|
||||
* Run the build (5-10 hrs on an i5)
|
||||
* Flash solo's new image
|
||||
* Flash artoo's new image
|
||||
* Un-brick artoo if the screen doesn't turn on
|
||||
|
||||
More about un-bricking artoo can be found in the [artoo documentation](https://github.com/OpenSolo/documentation/tree/master/artoo).
|
@ -1,2 +0,0 @@
|
||||
# Solo Documentation
|
||||
> Nothing has been added yet :(
|
@ -1,88 +1,48 @@
|
||||
WARNING - WORK IN PROGRESS
|
||||
# Solo Builder #
|
||||
The solo-builder will create file system images for the Solo's IMX and the controller's IMX. The Open Solo vagrant virual machine is used for the build environment. The vagrant VM used for solo-builder is also used for the Artoo STM32 firmware builder. So if you already installed and setup the VM for artoo, you can skip right to executing the build.
|
||||
|
||||
```
|
||||
This code is known to be high risk , but also early-adopter friendly.
|
||||
## Instructions ##
|
||||
|
||||
We will remove this warning from the repository when it is no longer required.
|
||||
```
|
||||
### Initial Vagrant VM Setup ###
|
||||
|
||||
Visit the [Open Solo Vagrant VM readme](/vagrant_readme.md) for first time installation and initialization of the Vagrant VM.
|
||||
|
||||
# solo-builder
|
||||
## Quick start guide
|
||||
You may find the following "quick start" guide useful. You can find the [Open Solo Quick Start Guide](http://ardupilot.org/dev/docs/solo-opensolo-quickstart.html) on ardupilot.org.
|
||||
### Executing Build ###
|
||||
|
||||
## Using vagrant
|
||||
|
||||
Works in [vagrant](http://vagrantup.com), typically useful for local builds.
|
||||
First install this plugin:
|
||||
```
|
||||
$ vagrant plugin install vagrant-guest_ansible
|
||||
$ vagrant up
|
||||
```
|
||||
|
||||
(If `vagrant up` fails, run `vagrant provision` to try provisioning your VM
|
||||
again.)
|
||||
|
||||
To fire off the builder:
|
||||
|
||||
```
|
||||
$ vagrant ssh -c /vagrant/builder.sh
|
||||
```
|
||||
|
||||
|
||||
## Using docker
|
||||
|
||||
DOCKER IS UNTESTED OUTSIDE 3DR , USE VAGRANT FOR NOW.
|
||||
1. `vagrant up` from the root of root of the OpenSolo repo directory (windows command prompt or ubuntu terminal) starts the VM
|
||||
|
||||
Works in Docker and boot2docker.
|
||||
Copy `id_rsa` and `solo-builder.pem` to this directory (sorry). Then run
|
||||
2. `vagrant ssh` connects you to the vagrant VM, where you will do all the building
|
||||
* FYI `vagrant@vagrant-ubuntu-trusty-64:~$` is what the prompt will look like once you're connected. You will land in the home directory (`~/`)
|
||||
* FYI `/vagrant` within the vagrant VM is symlink to the root of the OpenSolo repo outside the vagrant VM.
|
||||
|
||||
3. `$ cd /vagrant/solo-builder` changes to the solo-builder directory
|
||||
|
||||
```
|
||||
docker build -t 3drobotics/solo-builder .
|
||||
```
|
||||
4. `$ ./builder.sh` executes the build. See below for command line options. On first run, you will be prompted to restart the builder after syc completes.
|
||||
|
||||
Then run
|
||||
#### Command line options ####
|
||||
|
||||
```
|
||||
docker run -i 3drobotics/solo-builder su -l ubuntu /solo-build/builder.sh
|
||||
```
|
||||
`% builder.sh` with no options will build the copter IMX, controller IMX, and the Artoo STM32 firmware.
|
||||
|
||||
TODO: write a script that gets the files off after
|
||||
`$ builder.sh -a -m -c -n ` option arguments are available:
|
||||
* `-a false` will skip building the Artoo STM32 FW and use what is already in the recipe files directory. Default is true if not specified.
|
||||
* `-m both` will build both the copter and controller IMX. This is the default if not specified.
|
||||
* `-m solo` will build only the copter's IMX, not the controller.
|
||||
* `-m controller` will build only the controller's IMX, not the copter.
|
||||
* `-c true` will clean the build recipies prior to beginning the build. Default is false if not specified.
|
||||
* `-n true` nuclear option deletes the build directory (`/vagrant/solo-build/`) to start from a totally clean slate. Default is false if not specified.
|
||||
|
||||
## Using something else
|
||||
#### Completed files ####
|
||||
|
||||
`playbook.yml` is an ansible file for an Ubuntu 14.04 distro. `builder.sh` is the build script for a user named `ubuntu`. Make it happen!
|
||||
Completed binaries will be copied to a date-time stamped folder in /solo-build/binaries.
|
||||
* `3dr-solo.tar.gz` and `3dr-solo.tar.gz.md5` for the copter's IMX
|
||||
* `3dr-controller.tar.gz` and `3dr-controller.tar.gz.md5` for the controller's IMX
|
||||
* `artoo.bin` for the controller's STM32 (already included within the controller IMX build)
|
||||
|
||||
## Repos
|
||||
### Exiting The Builder ###
|
||||
|
||||
3dr Private:
|
||||
|
||||
* https://github.com/3drobotics/mavlink-solo
|
||||
* https://github.com/3drobotics/sculpture_proprietary
|
||||
* https://github.com/3drobotics/solo-gimbal
|
||||
* https://github.com/3drobotics/artoo
|
||||
* https://github.com/3drobotics/SoloLink
|
||||
|
||||
Public:
|
||||
|
||||
* https://github.com/3drobotics/imx6-uboot
|
||||
* https://github.com/3drobotics/imx6-linux
|
||||
* https://github.com/3drobotics/MAVProxy
|
||||
* https://github.com/3drobotics/stm32loader
|
||||
* https://github.com/3drobotics/ardupilot-solo
|
||||
|
||||
* https://github.com/OpenSolo/ardupilot-solo
|
||||
* https://github.com/OpenSolo/sololink
|
||||
* https://github.com/OpenSolo/artoo
|
||||
* https://github.com/OpenSolo/imx6-uboot
|
||||
* https://github.com/OpenSolo/imx6-linux
|
||||
* https://github.com/OpenSolo/3dr-arm-yocto-bsp
|
||||
* https://github.com/OpenSolo/meta-3dr
|
||||
* https://github.com/OpenSolo/dronekit-python-solo
|
||||
* https://github.com/OpenSolo/sololink-python
|
||||
* https://github.com/OpenSolo/solo-builder
|
||||
* https://github.com/OpenSolo/3dr-yocto-bsb-base
|
||||
* https://github.com/OpenSolo/stm32loader
|
||||
* https://github.com/OpenSolo/MAVProxy
|
||||
* `$ exit` will exit the vagrant SSH session, returning you to the PC's command prompt.
|
||||
* `vagrant halt` will shutdown the VM.
|
||||
|
||||
## TO-DO ##
|
||||
|
||||
`ERROR: Function failed: Fetcher failure for URL: 'git://git.gnome.org/gtk-doc-stub'. Unable to fetch URL from any source` will happen the first time you run the build from scratch. This is a false error, as the repo is fetched and available. Restart the build, and it will proceed just fine. Needs to be fixed somehow.
|
||||
|
@ -1,11 +0,0 @@
|
||||
WARNING - WORK IN PROGRESS
|
||||
|
||||
```
|
||||
This code is known to be broken and/or incomplete. IT DOES NOT WORK.
|
||||
|
||||
We are actively working on fixing it, and we really, really do not recommend you download it just yet.
|
||||
|
||||
We will remove this warning from the repository when it is no longer required.
|
||||
```
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user