marol94 Posted February 8, 2019 Posted February 8, 2019 (edited) Hi, i can't get usbip work, there's a tutorial or something else that i can follow to make usbip working over that soc board? cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS" #/usr/bin/usbip WARNING: usbip not found for kernel 4.14.84 You may need to install the following packages for this specific kernel: linux-tools-4.14.84-sunxi linux-cloud-tools-4.14.84-sunxi You may also want to install one of the following packages to keep up to date: linux-tools-sunxi linux-cloud-tools-sunxi The board is a orange pi r1 how i can make that working? Edited February 8, 2019 by marol94 0 Quote
Igor Posted February 8, 2019 Posted February 8, 2019 Run apt update and upgrade and it will work since it's enabled in most recent kernel https://github.com/armbian/build/blob/master/config/kernel/linux-sunxi-next.config#L4608-L4613 But if this functionality doesn't work for some reason, we can't help anything. There is alternative solution: https://www.incentivespro.com/usb-redirector.html 0 Quote
marol94 Posted February 8, 2019 Author Posted February 8, 2019 Hi, iv'e done what you told me, but i've got that now root@orangepi:~# usbip WARNING: usbip not found for kernel 4.19.13 You may need to install the following packages for this specific kernel: linux-tools-4.19.13-sunxi linux-cloud-tools-4.19.13-sunxi You may also want to install one of the following packages to keep up to date: linux-tools-sunxi linux-cloud-tools-sunxi how can i do? 0 Quote
Igor Posted February 8, 2019 Posted February 8, 2019 9 minutes ago, marol94 said: how can i do? No idea. USBIP service is not related to Armbian whatsoever - check kernel configuration if modules are enabled. I never used it and can't help here. Check manual. Moving to general community section. 0 Quote
jigglywiggly Posted December 21, 2020 Posted December 21, 2020 I have the same issue, I want to use usbip but it needs linux-tools However the kernel installed on my orangepipc is 4.19.62-sunxi and there are not linux-tools for this kernel. Is it possible to use a generic kernel? 0 Quote
Solution hoov Posted May 14, 2021 Solution Posted May 14, 2021 Hi, I just got usbip working on an odroid-n2 with kernel 5.10. $ apt-get install linux-headers-current-meson64 $ apt-get install linux-source-5.10.34-current-meson64 $ apt-get install libtool $ apt-get install libudev-dev Unpack the kernel sources (/usr/src), go into the tools/usb/usbip directory and follow instructions in README: $ ./autogen.sh $ ./configure --with-tcp-wrappers=no $ make install Then: $ export LD_LIBRARY_PATH=/usr/local/lib $ cd /usr/local/sbin $ modprobe usbip_host $ ./usbipd $ ./usbip list -l $ ./usbip bind -b 2-1.3 ... Good luck. Cheers. 0 Quote
Igor Posted August 13, 2022 Posted August 13, 2022 @going Is there a simple way to package all those tools within a kernel compilation: https://armbian.atlassian.net/browse/AR-1283 0 Quote
going Posted August 16, 2022 Posted August 16, 2022 13.08.2022 в 19:47, Igor сказал: Is there a simple way to package all those tools within a kernel compilation: https://armbian.atlassian.net/browse/AR-1283 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. 0 Quote
Igor Posted August 16, 2022 Posted August 16, 2022 13 minutes ago, going said: we need to build a kernel module I was also looking into usbip as I want to implement it to be able to attach devices under test to USB server containing a bunch of wireless cards. This seems covered well. Spoiler linux-bcm2711-current.config:CONFIG_USBIP_CORE=m linux-bcm2711-edge.config:CONFIG_USBIP_CORE=m linux-imx6-current.config:CONFIG_USBIP_CORE=m linux-imx6-edge.config:CONFIG_USBIP_CORE=m linux-imx7d-current.config:# CONFIG_USBIP_CORE is not set linux-imx7d-legacy.config:CONFIG_USBIP_CORE=m linux-jetson-nano-legacy.config:# CONFIG_USBIP_CORE is not set linux-media-current.config:CONFIG_USBIP_CORE=m linux-media-edge.config:CONFIG_USBIP_CORE=m linux-meson64-current.config:CONFIG_USBIP_CORE=m linux-meson64-edge.config:CONFIG_USBIP_CORE=m linux-meson64-legacy.config:CONFIG_USBIP_CORE=m linux-meson-current.config:CONFIG_USBIP_CORE=m linux-meson-edge.config:CONFIG_USBIP_CORE=m linux-meson-legacy.config:CONFIG_USBIP_CORE=m linux-mt7623-edge.config:CONFIG_USBIP_CORE=m linux-mt7623-legacy.config:CONFIG_USBIP_CORE=m linux-mvebu64-current.config:CONFIG_USBIP_CORE=m linux-mvebu64-edge.config:CONFIG_USBIP_CORE=m linux-mvebu64-legacy.config:CONFIG_USBIP_CORE=m linux-mvebu-current.config:CONFIG_USBIP_CORE=m linux-mvebu-edge.config:CONFIG_USBIP_CORE=m linux-mvebu-legacy.config:CONFIG_USBIP_CORE=m linux-odroidxu4-current.config:CONFIG_USBIP_CORE=m linux-odroidxu4-edge.config:CONFIG_USBIP_CORE=m linux-odroidxu4-legacy.config:CONFIG_USBIP_CORE=m linux-rk322x-current.config:CONFIG_USBIP_CORE=m linux-rk322x-edge.config:CONFIG_USBIP_CORE=m linux-rk322x-legacy.config:CONFIG_USBIP_CORE=m linux-rk3399-legacy.config:CONFIG_USBIP_CORE=m linux-rk35xx-legacy.config:CONFIG_USBIP_CORE=m linux-rockchip64-current.config:CONFIG_USBIP_CORE=m linux-rockchip64-edge.config:CONFIG_USBIP_CORE=m linux-rockchip64-legacy.config:CONFIG_USBIP_CORE=m linux-rockchip-current.config:CONFIG_USBIP_CORE=m linux-rockchip-edge.config:CONFIG_USBIP_CORE=m linux-rockchip-legacy.config:CONFIG_USBIP_CORE=m linux-rockchip-rk3588-legacy.config:CONFIG_USBIP_CORE=m linux-rockpis-legacy.config:CONFIG_USBIP_CORE=m linux-s5p6818-legacy.config:CONFIG_USBIP_CORE=m linux-station-p2-legacy.config:# CONFIG_USBIP_CORE is not set linux-sun50iw9-legacy.config:CONFIG_USBIP_CORE=m linux-sunxi64-current.config:CONFIG_USBIP_CORE=m linux-sunxi64-edge.config:CONFIG_USBIP_CORE=m linux-sunxi64-legacy.config:CONFIG_USBIP_CORE=m linux-sunxi-current.config:CONFIG_USBIP_CORE=m linux-sunxi-edge.config:CONFIG_USBIP_CORE=m linux-sunxi-legacy.config:CONFIG_USBIP_CORE=m linux-uefi-arm64-current.config:CONFIG_USBIP_CORE=m linux-uefi-arm64-edge.config:CONFIG_USBIP_CORE=m linux-uefi-x86-current.config:CONFIG_USBIP_CORE=m linux-uefi-x86-edge.config:CONFIG_USBIP_CORE=m linux-virtual-current.config:CONFIG_USBIP_CORE=m linux-zynq-legacy.config:# CONFIG_USBIP_CORE is not set 14 minutes ago, going said: That is, it must be collected in the environment in which it will be used. 12 minutes ago, going said: Collect packages for focal in this OS, packages for jammy in the jammy environment. Under this? https://github.com/armbian/build/tree/master/packages/extras-buildpkgs 0 Quote
going Posted August 16, 2022 Posted August 16, 2022 4 часа назад, Igor сказал: Under this? 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 0 Quote
going Posted August 17, 2022 Posted August 17, 2022 16.08.2022 в 17:46, Igor сказал: Under this? https://github.com/armbian/build/tree/master/packages/extras-buildpkgs 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. 0 Quote
Igor Posted October 17, 2022 Posted October 17, 2022 On 8/17/2022 at 9:36 PM, going said: If there is a very big desire, then it will be possible to implement this for the armbian build system. Desire is getting bigger but if there is no time ... Can you at least give me some directions so I don't start from scratch? 0 Quote
going Posted October 17, 2022 Posted October 17, 2022 I see two ways. 1) You can turn the user's @hoov manual into a debian/rule file. Mount the already patched kernel into the build environment and assemble the kernel module. Take my branch. https://github.com/The-going/armbian-build/tree/chroot_build_pkg Use the parameter mount_linux_src=yes https://github.com/The-going/armbian-build/blob/1e9a7a1b24e5d5aead730f58ad910124782b5576/lib/chroot-buildpackages.sh#L313 Here I help the user to build a debian package in a chroot environment, bypassing many unnecessary steps. 2) I wanted to try to rework the debian rules directly from the original ubuntu repository: /gituser/ubuntu-kernel> mkdir jammy /gituser/ubuntu-kernel> cd jammy/ /gituser/ubuntu-kernel/jammy> git init /gituser/ubuntu-kernel/jammy> git remote add origin git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy /gituser/ubuntu-kernel/jammy> git fetch /gituser/ubuntu-kernel/jammy> git checkout -b hwe-5.19-next origin/hwe-5.19-next I'll take that as a basis. Everything is available here. We only need to choose what we will take. 1 Quote
Andrew5 Posted December 2, 2022 Posted December 2, 2022 I have similar issue. I'm trying to install usb IP on: uname -a Linux pineh64-b 5.15.80-sunxi64 #22.11.1 SMP Wed Nov 30 11:23:00 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux Armbian 22.11.1 Jammy Using @hoov tutorial I went with: apt-get install linux-source-5.15.80-current-sunxi64 apt-get install linux-headers-current-sunxi64 apt-get install libudev-dev apt-get install libtool And I went to /usr/src/linux-headers-5.15.80-sunxi64/tools/usb/usbip But there is no README and there is no ./autogen.sh: root@pineh64-b:/usr/src/linux-headers-5.15.80-sunxi64/tools/usb/usbip# ls -la total 20 drwxr-xr-x 4 root root 4096 Dec 1 00:48 . drwxr-xr-x 4 root root 4096 Dec 1 00:48 .. drwxr-xr-x 2 root root 4096 Dec 1 00:48 libsrc -rw-r--r-- 1 root root 292 Dec 1 00:48 Makefile.am drwxr-xr-x 2 root root 4096 Dec 1 00:48 src What have I done wrong? what am I missing? 0 Quote
Igor Posted January 13, 2023 Posted January 13, 2023 On 12/2/2022 at 12:03 PM, Andrew5 said: what am I missing? You need to download sources, not headers. 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.