CubePilot
Where to buySupportArdupilotProducts
  • CubePilot
  • Licences
  • US Defence
  • Service Bulletins and Critical Notices
    • Safety/Service Bulletins
      • SB_0000001 Critical service bulletin for Beta Cube 2.1 (2016)
      • SB_0000002 Critical service bulletin for Cubes Purchased between JAN 2019 to JUL 2019. DO NOT FLY
      • SB_0000003 Flight with arming checks set anything other than 1 prohibited
      • SB_0000004 Limited power capacity of the RCIN power rail on Pixhawk Autopilots
      • SB_0000005 I2C Storm can cause inflight reboots, Chibios ONLY, not Nuttx (all cube and Pixhawk hardw
      • SB_0000006 time to Go Orange
    • Critical Notices
      • Powering Telemetry radios externally
  • Herelink
    • Herelink Overview
    • Herelink User Guides
      • Assembly and Connection
      • How To Update Firmware
      • Pairing, RC Calibration & Setup
      • Configure Modes & Mavlink Buttons
      • Configure Sbus Buttons & Wheel
      • Wireless Communication
      • Video and Data Sharing
      • Connecting to Mission Planner
      • Herelink 1.0 AirUnit to AirUnit instruction
      • System setting
      • Installing a custom app
      • OEM Image Setup
      • Generate a bug report
    • Herelink Accessories
    • Herelink QuickStart Guide
    • Herelink FAQ
  • HERE 2
    • Updating Here 2 Firmware
    • Here 2 CAN Mode Instruction
    • Here 2 Firmware Update Troubleshooting
  • Here 3
    • Here 3 Manual
  • Here+
    • Here+V2 User Manual
  • HERE 4
    • Here 4 Manual
    • Here 4 Base
  • HEREPRO
    • HerePro Manual
  • Autopilot
    • Cube Red
      • Specifications
      • Operating Conditions and Performance
      • Ports Standard and Definition
      • System Architecture
      • Carrier Board Information
    • The Cube Module Overview
    • The Cube User Manual V1.0
    • The Cube - Firmware Installation & Connection Troubleshooting
      • Installing Mission Planner
      • Installing Ardupilot
      • Installing Secure Firmware
    • Conducting the First Flight
      • Tips for New Pilots
    • The Cube FAQ
  • Carrier Boards
    • Cube Red Standard Carrier Board Pinout
    • Kore Carrier Board
    • ADS-B IN Carrier Board
    • Mini Carrier Board
    • Airbot Systems Mini Carrier Board
      • Airbot Systems Mini Carrier Board Set User Guide
    • EDU450 Carrier Board
    • Standard Carrier Board Footprint & Dimensions
    • Carrier Boards FAQ
  • Cube ID
    • Cube ID
  • CubeNode
    • Specifications
    • Functional Overview
    • Pin Descriptions
    • Footprint
    • CubeNode ETH
      • Specifications
      • Setting Up the Physical Connection between the Cube, CubeNode, and laptop/PC
    • Soldering a CubeNode onto a PCB
  • Switch
    • CubeLAN 8 Port Switch
  • FLOW SENSOR
    • Here Flow
  • ProfiLED
    • ProfiLED
  • Product Certificate
    • NCC Certificate
    • CE Certificate
    • UKCA Certificate
    • RoHS Certificate
    • FCC Certificate
    • IC Certificate
    • RCM Certificate
    • Material Safety Data Sheet - MSDS
    • EN 62368 CE LVD VOC Certificate
    • IEC 62368 CB Scheme Safety test Certificate
  • SOLO
    • Open Solo Installation
    • Open Solo
  • CubePilot Ecosystem
    • CubePilot Ecosystem Autopilot Wiring Diagram (Multilingual)
    • OEM Carrier Board
    • CubePilot USA
    • CubePilot Ecosystem Edu450 Reference Design (Multilingual)
    • CubePilot Ecosystem MissionGO
    • CubePilot Ecosystem Doosan Hydrogen Zero Emission Vehicle
    • CubePilot Ecosystem Ardubee multipurpose platform
    • Silent Arrow
    • CubePilot Ecosystem Herelink
    • Acecore NOA, Cubepilot Ecosystem, and George Herelink, the right combination
    • CubePilot Ecosystem Inspired Flight IF1200A
    • CubePilot Ecosystem Here4
    • 2023 CubePilot Ecosystem Autopilot Wiring Diagram
    • CubePilot Ecosystem Cube ID
    • CubePilot Ecosystem Mission Planner
    • CubePilot Ecosystem BZB UAS ekoSKY
    • CubePilot Ecosystem 10th Anniversary of The Cube
    • CubePilot Ecosystem HerePro V2
    • CubePilot Ecosystem Mistral-Qualcomm MRD5165
    • CubePilot Ecosystem Precision Landing Air Test Operation (PLATO)
    • CubePilot Ecosystem Hionos
    • CubePilot Partners
      • SpektreWorks
      • RFDesign Pty Ltd
      • Vamatis
      • Airbot Systems
      • Bask Aerospace
      • HiTEC
      • uAvionix
      • LightWare
      • Gremsy
      • IR-Lock
      • Tattu
      • Mauch
      • T-MOTOR
      • APD
      • JAR Aerospace
      • BZB UAS
      • Kraus Hamdani Aerospace
      • Union Robotics
        • Meadowhawk 2
          • Meadowhawk 2 User Guide
            • TABLE OF CONTENTS
              • 1. GENERAL
              • 2. OPERATING LIMITATIONS
              • 3. EMERGENCY PROCEDURE
              • 4. NORMAL OPERATING PROCEDURES
              • 5. PERFORMANCE
              • 6. WEIGHT AND BALANCE EQUIPMENT LIST
              • 7. DESCRIPTION OF THE sUAS AND SYSTEMS
              • 8. HANDLING, CARE, AND MAINTENANCE
              • 9. SUPPLEMENTS
              • DISCLAIMER AND WARNING
              • LIMITATION OF LIABILITY
        • HereLink Blue
          • HereLink Blue User Guide
            • Air Unit
              • Air Unit Specifications
              • Air Unit LEDs
              • Air Unit Interface & Installation
            • Ground Station
              • Ground Station Specifications
              • Ground Station Buttons & LED
              • Ground Station Charging
          • UR/Solex TX App
          • Pairing & Calibration
          • Configure Buttons
          • Share Video Stream
          • Connecting to Mission Planner
          • Installing a Custom App
            • Installing QGC
          • Important Notes & Warnings
          • Update Firmware
          • Bug Report
          • HereLink Blue FAQs
      • Yates Electrospace Corporation
      • CubePilot Frames
        • Multirotor Frames
          • EDU-450
          • EDU-650
          • TD-900
          • TD-1100
  • Remote ID
    • France
  • 3D Printing
    • CubePilot product 3D model
    • Printable Camera Quad (Foldable)
    • Here 3 Istand
    • HerePro Istand
    • Kore Multi-Rotor Carrier Board Case
    • CubePilot Multirotor Frame
  • Product Media
    • CubePilot Logos
    • Product Media Cloud Drive
  • OEM Carrier Board
Powered by GitBook
On this page
  • Linux
  • MacOS
  • Example App Change
  • Extra OEM Files:

Was this helpful?

  1. Herelink
  2. Herelink User Guides

OEM Image Setup

This article shows how OEMs can create images including custom applications and settings

Last updated 2 years ago

Was this helpful?

Linux

Prerequisites:

Android-tools:https://developer.android.com/studio/releases/platform-tools

Step

  • Download and unzip following files:

  • simg2img](https://herelinkfw.cubepilot.org/tools/simg2img_linux.zip)

  • img2simg](https://herelinkfw.cubepilot.org/tools/img2simg_linux.zip)

  • Remote Unit:

  • Air Unit:

  • Ensure that you select the base image depending upon which unit you are modifying.

  • Download and extract zips into same directory.

  • Now to generate ext4fs image from the sparse image (.img) downloaded above do ./simg2img_mac oem_au_base.img raw_oem_au_base.img

  • Create a mount point directory using mkdir oem

  • Mount the image using mount raw_oem_au_base.img oem

  • Now you should be able to modify files inside the mount directory.

  • You need to use sudo to be able to do any writes the files inside the mount point.

  • Once you have made your changes, you need to unmount your drive using command sudo umount oem

  • Afterwards convert the ext4fs image back to android sparse image using command ./img2simg raw_oem_au_base.img oem_au.img

  • Now you may flash this image into Herelink Air Unit, by putting it under bootloader using command adb reboot bootloader

  • And finally to flash to image run command fastboot flash oem oem_au.img

  • Check example below for a sample modification.

MacOS

Prerequisites:

Homebrew:https://brew.sh/

Android:https://developer.android.com/studio/releases/platform-tools

Step

  • Setup osxfuse in your system using brew cask install osxfuse, this will require rebooting your system proceed and do that。

  • https://github.com/alperakcan/fuse-ext2#macos

  • Download and unzip following files:

    • simg2img:https://herelinkfw.cubepilot.org/tools/simg2img_mac.zip

    • img2simg:https://herelinkfw.cubepilot.org/tools/img2simg_mac.zip

    • Remote Unit:https://herelinkfw.cubepilot.org/tools/oem_ru_base.img

    • Air Unit:https://herelinkfw.cubepilot.org/tools/oem_au_base.img

  • Ensure that you select the base image depending upon which unit you are modifying.

  • Download and extract zips into same directory.

  • Now to generate ext4fs image from the sparse image (.img) downloaded above do

    ./simg2img_mac oem_au_base.img raw_oem_au_base.img

  • Create a mount point directory using

    mkdir oem

  • Mount the image using

  • fuse-ext2 raw_oem_au_base.img oem -o rw+

  • Now you should be able to modify files inside the mount directory.

  • You need to use sudo to be able to do any writes the files inside the mount point.

  • Once you have made your changes, you need to unmount your drive using command

    sudo umount oem

  • Afterwards convert the ext4fs image back to android sparse image using command

    ./img2simg raw_oem_au_base.img oem_au.img

  • Now you may flash this image into Herelink Air Unit, by putting it under bootloader using command

adb reboot bootloader

  • And finally to flash to image run command:

    fastboot flash oem oem_au.img

Example:

  • In the following example we change the system_id used by herelink air unit for board specific messages.

  • Most config files are located in you unit at /system/etcin the following example we will pull config using command adb pull /system/etc/system-control.telepathy-air.conf

  • Once pulled the file will contain information like bellow:

# module on/off

board_control_enabled = true

d2d_tracker_enabled = true

camera_control_enabled = true

# board control

board_system_id = 42

# camera control

video_stream_ip_address = 192.168.0.10

camera_system_id = 42

support_multiple_camera = true

support_camera_capture = false

  • You can change the value of board_system_id and camera_system_id fields as per your requirement in your favourite editor.

  • Once done save this file and exit editor.

  • Create a folder inside oem image called etc using command sudo mkdir oem/etc

  • Copy file using command sudo cp system-control.telepathy-air.conf oem/etc/

  • Continue to unmount the image and flashing into the unit as described in above steps.

Example App Change

  • In the following example we override the installed QGroundcontrol App.

  • A new OEM app can be installed under /oem/app//.apk

  • For installing your custom version of QGroundcontrol, ensure that you started with https://github.com/cubepilot/qgroundcontrol-herelink as your base.

  • After building the project, create a folder QgroundControl

  • Copy .apk file cp -r build-qgroundcontrol-Android_for_armeabi_v7a_Clang_Qt_5_11_0_for_Android_armv72_fd6ff4-Debug/android-build/build/outputs/apk/android-build-debug.apk QGroundControl/QGroundControl.apk

  • Also create a lib directory QGroundControl/lib

  • Copy libraries cp -r build-qgroundcontrol-Android_for_armeabi_v7a_Clang_Qt_5_11_0_for_Android_armv72_fd6ff4-Debug/android-build/libs/armeabi-v7a/ QGroundControl/lib/arm/

  • Finally move QgroundControl directory to oem image sudo cp -r QGroundControl oem/app/QGroundControl

  • Do ensure you have already created app directory inside oem image if not already done sudo mkdir oem/app

  • Continue to unmount the image and flashing into the unit as described in above steps.

Extra OEM Files:

  • On boot several files are setup for use, and you can override these files

  • These files can exist in (searched in this order)

/data/oem/etc - user default - wiped on factory reset

/oem/etc - oem default

/system/etc - system default

  • files that can be overridden (optimus is the internal GCS name, telepathy-air is the air unit (ro.product.device))

lampsignal-telepathy-air.json

rc_service_config_optimus.ini

mavlink-router.optimus.conf

system-control.optimus.conf

Follow the steps to install fuse-ext2. This will allow you to mount ext4fs we will be generating.

oem_ru_base.img
oem_au_base.img
here