-
Notifications
You must be signed in to change notification settings - Fork 4
Troubleshooting
In the case that now USB pen-drives cannot be accessed anymore:
Check if your user is a member of the plugdev group
id odroidIf plugdev is not listed and you need to add your user to the plugdev group, you can use the following command:
sudo usermod -aG plugdev odroidThis should solve the issue, and you should be able now to access USB pen-drives.
If you are faced with an error during the installation process that requires you change the kernel version, please follow these instructions. Here, the example talks about setting the kernel version to 5.15.0.
# Get the kernel version
uname -r You can check the available kernels for the OS by running
apt-cache showpkg linux-imageNote
The kernel version 5.15.0 is chosen because all required packages in this guide are specifically built for this kernel version or require it.
We can now proceed to install the kernel version to 5.15.0 and have the system retain it.
# Choose kernel version to install
kernel_version='5.15.0'
# Install the old kernel
curl -sL https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh | sudo bash -s -- -i "v$kernel_version"Now, we need to configure grub.
# Get the Grub entry name
# Note: Do verify the value of `grub_entry_name`. The following command gets
# the oldest kernel version Grub entry name that is not a recovery mode.
# Example value: `Ubuntu, with Linux 6.5.0-45-generic`
grub_entry_name="$(grep -Po "menuentry '\KUbuntu, [^(']+" /boot/grub/grub.cfg | sort -V | head -1)"Update grub and force it to retain the kernel and not upgrade to the latest version.
# Update `grub`
sed -i "s/^\s*GRUB_DEFAULT=.*$/GRUB_DEFAULT='Advanced options for Ubuntu>$grub_entry_name'/" /etc/default/grub
sudo update-grub
```bash
# Disable the kernel package upgrade
sudo apt-mark hold $(dpkg --get-selections | grep -Po "^linux[^\t]+${grub_entry_name##* }")Reboot the system and check the kernel version.
# Reboot system
reboot
# Check the currently booted Linux kernel version
uname -r After you have compiled and installed the boost libraries, go to the directory where you cloned boost libraries' repository
# Assuming you cloned it in the home folder
cd ~/boost
# Make sure python3 is installed but run the installation just in case
sudo apt install python3-dev
# Install numpy and scipy
sudo pip3 install numpy scipy
# Upgrade them to the latest version
sudo pip3 install --upgrade scipy numpy
# Run the boost python installation script
./bootsrap.sh --with-python
./b2 --with-python
# Finish installation
sudo ./b2 install
# Reload the linkers
sudo ldconfigNote
To compile uXRCE in section about Setting up UXRCE-DDS in the ODroid Setup page, it is required to have CMake version 3.20 or above but not version 4.xx. This version is not hosted on the package manager for Ubuntu 20.04. Therefore, it must be installed directly from Kitware's stable repository.
Caution
At the time of writing (05/14/2025), Kitware has moved on to CMake version 4.0.1, which drops support for some older CMake features. Therefore, we need to download CMake 3.26 and compile and install it from source.
Before proceeding, check your current CMake version:
cmake --versionNote
- If you already have CMake installed on your ODroid M1s and it the correct version - 3.20 and above but not version 4.xx, you can skip the instructions in this section.
- If CMake is not installed on your ODroid M1s, please proceed with the instructions in this section
- If your CMake version is not the one we are looking for, run the following commands in the terminal to purge this version and proceed with the instructions in this section.
# Remove CMake
sudo apt purge cmake
sudo apt-get autoremoveDownload CMake 3.26 Source
First, we install some dependencies:
sudo apt install -y libgtk-3-dev build-essential gcc g++ pkg-config make hostapd libqrencode-dev libpng-devGo to the CMake download page and copy the link for the 3.26.x tar.gz source file. Then, on your ODROID:
# Go to home director
cd ~
# Download the tar file (here example given for v3.26)
wget https://github.com/Kitware/CMake/releases/download/v3.26.0/cmake-3.26.0.tar.gzNote
The above link is for version 3.26.0, if you prefer other versions, go to the CMake download page and grab the github link for the tar.gz file.
Extract the Files
# Extract the files
tar zxvf cmake-3.26.0.tar.gz
# Navigate to the root
cd cmake-3.26.0Build and Install
# Prep for building binaries
./bootstrap
# Build the binaries with all available logic processors
make -j$(nproc)
# Install cmake to /usr/local/include/
sudo make installThis process may take some time, depending on your ODROID M1S performance.
Verify Installation
cmake --versionImportant
You should see CMake 3.26.x as the installed version.
Note
You can remove the tar.gz file as well as the cmake directory in the home folder if you want to.
ACSL-flightstack — PX4-compatible offboard flight stack designed for multi-rotor UAVs Developed by Mattia Gramuglia, Giri Mugundan Kumar and Andrea L'Afflitto