mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-07-27 00:48:23 +08:00
Move PX4 Guide source into /docs (#24490)
* Add vitepress tree * Update existing workflows so they dont trigger on changes in the docs path * Add nojekyll, package.json, LICENCE etc * Add crowdin docs upload/download scripts * Add docs flaw checker workflows * Used docs prefix for docs workflows * Crowdin obvious fixes * ci: docs move to self hosted runner runs on a beefy server for faster builds Signed-off-by: Ramon Roche <mrpollo@gmail.com> * ci: don't run build action for docs or ci changes Signed-off-by: Ramon Roche <mrpollo@gmail.com> * ci: update runners Signed-off-by: Ramon Roche <mrpollo@gmail.com> * Add docs/en * Add docs assets and scripts * Fix up editlinks to point to PX4 sources * Download just the translations that are supported * Add translation sources for zh, uk, ko * Update latest tranlsation and uorb graphs * update vitepress to latest --------- Signed-off-by: Ramon Roche <mrpollo@gmail.com> Co-authored-by: Ramon Roche <mrpollo@gmail.com>
This commit is contained in:
99
docs/en/dev_setup/dev_env_linux_centos.md
Normal file
99
docs/en/dev_setup/dev_env_linux_centos.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# CentOS Development Environment
|
||||
|
||||
:::warning
|
||||
This development environment is [community supported and maintained](../advanced/community_supported_dev_env.md).
|
||||
It may or may not work with current versions of PX4.
|
||||
|
||||
See [Toolchain Installation](../dev_setup/dev_env.md) for information about the environments and tools supported by the core development team.
|
||||
:::
|
||||
|
||||
The build requires Python 2.7.5. Therefore as of this writing Centos 7 should be used.
|
||||
(For earlier Centos releases a side-by-side install of python v2.7.5 may be done. But it is not recommended because it can break yum.)
|
||||
|
||||
## Common Dependencies
|
||||
|
||||
The EPEL repositories are required for openocd libftdi-devel libftdi-python
|
||||
|
||||
```sh
|
||||
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
|
||||
sudo yum install epel-release-7-5.noarch.rpm
|
||||
yum update
|
||||
yum groupinstall “Development Tools”
|
||||
yum install python-setuptools python-numpy
|
||||
easy_install pyserial
|
||||
easy_install pexpect
|
||||
easy_install toml
|
||||
easy_install pyyaml
|
||||
easy_install cerberus
|
||||
yum install openocd libftdi-devel libftdi-python python-argparse flex bison-devel ncurses-devel ncurses-libs autoconf texinfo libtool zlib-devel cmake vim-common
|
||||
```
|
||||
|
||||
::: info
|
||||
You may want to also install `python-pip` and `screen`.
|
||||
:::
|
||||
|
||||
## GCC Toolchain Installation
|
||||
|
||||
<!-- GCC toolchain documentation used for all Linux platforms to build NuttX -->
|
||||
|
||||
Execute the script below to install GCC 7-2017-q4:
|
||||
|
||||
:::warning
|
||||
This version of GCC is out of date.
|
||||
At time of writing the current version on Ubuntu is `9-2020-q2-update` (see [focal nuttx docker file](https://github.com/PX4/PX4-containers/blob/master/docker/Dockerfile_nuttx-focal#L28))
|
||||
:::
|
||||
|
||||
```sh
|
||||
pushd .
|
||||
cd ~
|
||||
wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/7-2017q4/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2
|
||||
tar -jxf gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2
|
||||
exportline="export PATH=$HOME/gcc-arm-none-eabi-7-2017-q4-major/bin:\$PATH"
|
||||
if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
|
||||
popd
|
||||
```
|
||||
|
||||
Now restart your machine.
|
||||
|
||||
**Troubleshooting**
|
||||
|
||||
Check the version by entering the following command:
|
||||
|
||||
```sh
|
||||
arm-none-eabi-gcc --version
|
||||
```
|
||||
|
||||
The output should be something similar to:
|
||||
|
||||
```sh
|
||||
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 7.2.1 20170904 (release) [ARM/embedded-7-branch revision 255204]
|
||||
Copyright (C) 2017 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
```
|
||||
|
||||
<!-- import docs ninja build system -->
|
||||
|
||||
## Ninja Build System
|
||||
|
||||
[Ninja](https://ninja-build.org/) is a faster build system than _Make_ and the PX4 _CMake_ generators support it.
|
||||
|
||||
On Ubuntu Linux you can install this automatically from normal repos.
|
||||
|
||||
```sh
|
||||
sudo apt-get install ninja-build -y
|
||||
```
|
||||
|
||||
Other systems may not include Ninja in the package manager.
|
||||
In this case an alternative is to download the binary and add it to your path:
|
||||
|
||||
```sh
|
||||
mkdir -p $HOME/ninja
|
||||
cd $HOME/ninja
|
||||
wget https://github.com/martine/ninja/releases/download/v1.6.0/ninja-linux.zip
|
||||
unzip ninja-linux.zip
|
||||
rm ninja-linux.zip
|
||||
exportline="export PATH=$HOME/ninja:\$PATH"
|
||||
if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
|
||||
. ~/.profile
|
||||
```
|
||||
Reference in New Issue
Block a user