I am building a non-visual surveillance (sonar) platform using a single-board computer (Pandaboard), running Arch Linux. The problem is that when I need to add a feature to my installation the make and make install processes take forever on the low-power computer. I would like someone with similar experience to point me to a solution for compiling the packages on another linux box (also running Arch) and then porting them to the SBC.
Linux package cross-compilation
1.2k Views Asked by dsljanus At
1
There are 1 best solutions below
Related Questions in LINUX
- Is there some way to use printf to print a horizontal list of decrementing hex digits in NASM assembly on Linux
- Why does Hugo generate different taxonomy-related HTML on different OS's?
- Writes in io_uring do not advance the file offset
- Why `set -o pipefail` gives different output even though the pipe is not failing
- what really controls the permissions: UID or eUID?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Docker container unable to make HTTPS requests to external API
- Whow to use callback_query_handler in Python 3.10
- Create kea runtime directory at startup in Yocto image
- Problem on CPU scheduling algorithms in OS
- How to copy files into the singularity sandbox?
- Android kernel error: undefined reference to `get_hw_version_platform'
- Is there a need for BPF Linux namespace?
- Error when trying to execute a binary compiled in a Kali Linux machine on an Ubuntu system
- Issue with launching application after updating ElectronJs to version 28.0.0 on Windows and Linux
Related Questions in COMPILATION
- I am trying to run java application in Eclipse, When I try to do Run > Run as > Java Application it starts to show little processing but nothing happe
- Unable to run get .exe file from assembly NASM
- Javascript to Java
- How to compile only the changed files in Verilator?
- Why does the .exe file become locked after compiling?
- Installing the C compiler for LC3
- compile syzkaller fuzzer failed without any error or warning
- Solved: Create standalone executable for MacOS with OpenCV and libmagic
- How to work around the "collect2: error: ld returned 1 exit status" error when running simple fortran files with the gfortran command?
- how to add a compiler type supported for sccache?
- Vulkan ‘VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR’ was not declared in this scope
- Rust newbie compile error (for (key: String, value: String) in | ^ expected one of `)`, `,`, `@`, or `|`)
- latest version of redshift with crazy compile times
- Problem compiling out-dated Typescript code
- What is appropriate substitution for configurations.compile in newer gradle e.g. version 8.7?
Related Questions in CROSS-COMPILING
- cmake and g++ cross compilation looking for library in host sysroot path instead of target sysroot
- OpenSSL with C++ app - getting undefined references during compilation
- How to navigate to the structure definition for the target architecture when cross-compiling on Ubuntu with VS Code?
- yaml-cpp cross-platform building, how to build arm in x86 ubuntu vm
- Cross compiling godot as export template for arm
- How do I override location for dynamically linked libgcc_s?
- Xcode does not recognize PoDoFo built for iOS
- How to containerize the compilation process for a Rust-based Windows application on Linux?
- Shared library dependency is not forwarded by a static library target when privately linked
- Unable to cross-compile a simple program using MSVC 9
- cpython3.6.15 has Bus error (core dumped) problem in arm paltform
- can't find linker script when cross compiling for win32 from linux
- Swift binary built in docker causes "illegal instruction" crash on real Linux
- conan/cmake can't see llvm linker when cross-compiling from macOS (arm64) to Windows (x86_x64)
- How can I get "avr-unknown-gnu-atmega328" target working?
Related Questions in ARCHLINUX
- Running docker image for ASP.NET core sample from Microsoft on arch linux, cant browse to http://localhost:5000
- Pyperclip library doesn't recognize Python 3.12 in Visual Studio Code on Arch Linux
- vscode extensions have low download/reviews count on linux but not on windows?
- Emulator process termination - The Android emulator exited with code -11 after startup
- VirtualBox ErrorVkPhysicalDevice does not support GetPhysicalDeviceCalibrateableTimeDomainsKHR
- How to start a headless session without a desktop environment using tigervnc?
- sdl2 c program on wayland doesn't show window
- How do I fix sway waybar not displaying my custom module?
- Is there an efficient way to format Decimal?
- fatal error: helloworld.c: No such file or directory
- Docker login credentials, pass + gpg
- npm freezed while installing packages
- How to manage XMonad (and xmobar and anything else related to it) via GHCup+cabal?
- OpenMPI Installation on Archlinux
- Error "undefined reference to" when building package seafile-client on manjaro
Related Questions in PANDABOARD
- How to enable the Ethernet Interface on Pandaboard?
- What can I use to debug/trace step-by-step Freebsd kernel booting process on Pandaboard?
- Android kernel : How to create /dev/video0 before ueventd daemon gets started?
- L2 Cache lock down on Pandaboard (Cortex-A9)
- error: expected ‘,’ or ‘;’ before ‘__attribute_alloc_size__’
- UART4 with Pandaboard and Arch Linux
- can't connect panda-es to HDMI/DVI display
- Building Yocto on Pandaboard
- Yocto:Could not inherit file classes/autotools-brokensep.bbclass
- SPI1 on Pandaboard ES Rev. B2 with Kernel 3.17
- Boot partition is not created properly on SD card for pandabaord
- How to port Android kitkat on Panda board?
- Problems setting Eclipse IDE for cross-compiling for Arm based PandaBoard-ES
- How to detecting interrupt on a GPIO line in Embedded Linux?
- cross-compile from desktop ubuntu to Pandaboard ubuntu c++
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
do you read or have access to Linux Format magazine? There is an article on this very subject in issue 166. The target is the Raspberry Pi but the process is the same.
Basically, you need to install a cross compiler on your x86 box. Try this:
before you go any further, test that toolchain with a simple
hello,worldthat you can compile on x86, copy to the device and execute.The compile command will be something like
With that in place you can cross compile a kernel:
You can use distcc to perform builds on the pandaboard but have it delegate comppilation to your x86 box which will use your cross compiler toolchain to compile for arm. On both arm and x86:
The arm side is the client. Edit its config,
/etc/makepkg.confto tell it about the server (your x86 box):The j8 tells it to utilize all cores on an i7. Adjust appropriately.
On the server, you need to configure distccd
/etc/conf.d/distccdto allow the client to connect and then start thedistccddaemon. You then launch your builds from the client.The makepkg tool for building Arch packages takes care of the distcc linkage. If you're building your own packages I suggest you wrap them in a PKGBUILD so that work is done for you.
(you may need to tweak some of the above for hard-float if your board uses it)