

going
Members-
Posts
769 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Everything posted by going
-
Compiling custom C++ applications using CMake in Armbian?
going replied to Ozmydis's topic in Advanced users - Development
Is this environment running in some kind of virtual machine? Is the package installed? distcc --version I found another problem. And this is due to some recent fixations. The error is implicit. I apologize. I'll have to wait until I find it and fix it. -
Compiling custom C++ applications using CMake in Armbian?
going replied to Ozmydis's topic in Advanced users - Development
Most likely, some packages are not installed. To catch this bug, I install a clean environment and try to run it. -
Compiling custom C++ applications using CMake in Armbian?
going replied to Ozmydis's topic in Advanced users - Development
What environment are you running in now? If you running in focal then Try to fix it RELEASE=focal -
Compiling custom C++ applications using CMake in Armbian?
going replied to Ozmydis's topic in Advanced users - Development
It tries for amd64 but should for arm64 -
Compiling custom C++ applications using CMake in Armbian?
going replied to Ozmydis's topic in Advanced users - Development
I'll check it out now. What environment are you running in now? -
Compiling custom C++ applications using CMake in Armbian?
going replied to Ozmydis's topic in Advanced users - Development
The right way is to build a debian package for your application. Then, at the stage of creating the image, install it. To create additional packages in armbian, there is a chroot environment mechanism that will assemble the package in the native environment with all the necessary dependencies. If this is your personal project, you need to create a debian folder in the root of the project and fill it with the necessary files. How to do this correctly is described in great detail in the documentation: debmake-doc, maint-guide Next, you simply add the necessary "in the image and likeness" to the "armbian-build/packages/extras-buildpkgs/" folder necessary for the build. And run the build system with the EXTERNAL_NEW=compile parameter. There is really not enough documentation on this part, but I hope that it will appear as a result of our conversation. Ask anything you want. I will guide you along this path. -
30 GB is not enough for a virtual machine. You may run out of free space at the very end of the process. https://github.com/armbian/build/blob/d57777caade0e3751d759b75239c5a66c3b28728/lib/debootstrap.sh#L78-L80 # stage: user customization script # NOTE: installing too many packages may fill tmpfs mount customize_image That's the first thing that came to mind. I have a 45 GB virtual machine image. This script is a template for the user and is copied to the userpatches folder. After that, in this folder, you can change it at your discretion. It is only your property and you can write whatever you want there. Add debugging code there something like this: apt-get install -y build-essential cmake gfortran |& tee -a $DEST/${LOG_SUBPATH}/custom.log pip3 install dlib |& tee -a $DEST/${LOG_SUBPATH}/custom.log See output/debug/custom.log
-
Disable yandex mirror for requests from Ukraine
going replied to AZ8's topic in Framework and userspace feature requests
No! These are some popular services in Russia that are blocked in some other countries for users who try to reach them. Conversely, I have no problems getting through to anywhere in the world. -
Disable yandex mirror for requests from Ukraine
going replied to AZ8's topic in Framework and userspace feature requests
No! The problem is on the side of the provider of another country! And it should be solved in a different way. There are no problems with the Yandex service. -
Question on dependency mgmt for extras-buildpkgs
going replied to TheDude's topic in Advanced users - Development
@TheDude The question remains relevant? Or have you already figured out how to do it correctly? -
Disable yandex mirror for requests from Ukraine
going replied to AZ8's topic in Framework and userspace feature requests
You can manually edit the source list file and specify there the mirror closest to your location or the best in speed. In this case, apt will pull updates only from this mirror. The list of mirrors for Debian and Ubuntu is published. -
mmcblk0 resizing failing on 32GB or larger uSD Card
going replied to AaronNGray's topic in Advanced users - Development
If I understand correctly, everything is fine and nothing else is required? -
mmcblk0 resizing failing on 32GB or larger uSD Card
going replied to AaronNGray's topic in Advanced users - Development
You have all the tools. Start Banana PiM 3 with a 16GB card. Insert a 250GB card via a usb adapter into the BananaPi M3. The card should be defined as /dev/sda. sudo fsck /dev/sda help: man fsck -
mmcblk0 resizing failing on 32GB or larger uSD Card
going replied to AaronNGray's topic in Advanced users - Development
Most likely, your sd card has finished its life cycle. You can check this using the utility fsck -
I have looked carefully at the build scripts of the original ubuntu kernel package. The scripts are configured for both cross compilation and native assembly. If there is a very big desire, then it will be possible to implement this for the armbian build system. It is assumed that this will be a significantly reduced version.
-
In a sense, it is a build server for the target architecture in the target operating system environment. I have not come up with a simpler and more correct way at the moment. I am building a library and an application using kernel sources in a chroot environment by mounting them in the following way. From 29990c7edb920a7c5be3b898716f48d8bbc29dec Mon Sep 17 00:00:00 2001 From: The-going <48602507+The-going@users.noreply.github.com> Date: Fri, 13 May 2022 21:31:51 +0300 Subject: [PATCH] Mount bind linux source if necessary --- lib/chroot-buildpackages.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/chroot-buildpackages.sh b/lib/chroot-buildpackages.sh index 9471ee3a3..b4b52fc18 100644 --- a/lib/chroot-buildpackages.sh +++ b/lib/chroot-buildpackages.sh @@ -258,7 +258,7 @@ chroot_build_packages() for plugin in $config_for_packages; do unset package_name package_repo package_ref package_builddeps package_install_chroot package_install_target \ - package_upstream_version needs_building plugin_target_dir package_component "package_builddeps_${release}" + package_upstream_version needs_building plugin_target_dir package_component "package_builddeps_${release}" mount_linux_src source "${plugin}" # check build condition @@ -312,11 +312,19 @@ chroot_build_packages() fetch_from_repo "$package_repo" "extra/$package_name" "$package_ref" + if [ "$mount_linux_src" == "yes" ];then + mkdir -p $target_dir/root/linux + linuxsrc=$(realpath "${SRC}"/cache/sources/${LINUXSOURCEDIR}) + # redefine mount_linux_src + mount_linux_src="--bind-ro ${linuxsrc}/:/root/linux" + fi + eval systemd-nspawn -a -q \ --capability=CAP_MKNOD -D "${target_dir}" \ --tmpfs=/root/build \ --tmpfs=/tmp:mode=777 \ --bind-ro "$(dirname $plugin)"/:/root/overlay \ + $mount_linux_src \ --bind-ro "${SRC}"/cache/sources/extra/:/root/sources /bin/bash -c "/root/build.sh" 2>&1 \ ${PROGRESS_LOG_TO_FILE:+' | tee -a $DEST/${LOG_SUBPATH}/buildpkg.log'} -- 2.35.3
-
This is a very beautiful example - usbip. If I understood correctly after reading this description: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/usb/usbip/README?h=v5.19 we need to build a kernel module, a user-space utility, and write udev rules for loading the module and starting the server. We need to pack all this into one or two packages and prescribe dependencies on a specific kernel. In this case, the utility will have dependencies on system libraries. That is, it must be collected in the environment in which it will be used. In order for this to become an easy way, we need to do the following: 1) Build packages from kernel sources without using the built-in mechanism (mkdebian, builddeb). Instead, we have to generate files in the debian directory ourselves from our own templates. During this process, handle some differences from the kernel version and writing all the necessary variables to files. 2) Collect packages for focal in this OS, packages for jammy in the jammy environment.
-
This problem will not be considered by the armbian maintainers. I'll try to explain. This problem relates to the work\development of the kernel gpio subsystem. The kernel has a corresponding gpio driver for the Raspberry Board. For boards using Allwinner processors, there is no native driver in the kernel yet. Armbian members are not developers of kernel drivers. My and your personal interest in the gpio topic and the fact that you and I are discussing it here is relevant only to us. I will return to development only in late autumn. If my actions are successful. I'll let you know. But again, this is only a personal initiative.