ejolson Posted March 15, 2020 Posted March 15, 2020 I am trying to set up Armbian as an iSCSI initiator using open-iscsi. The result is Mar 15 03:07:13 matrix iscsid[2207]: iSCSI logger with pid=2208 started! Mar 15 03:07:13 matrix systemd[1]: iscsid.service: Failed to parse PID from file /run/iscsid.pid: Invalid argument Mar 15 03:07:13 matrix iscsid[2208]: iSCSI daemon with pid=2209 started! Mar 15 03:07:13 matrix iscsid[2208]: can not create NETLINK_ISCSI socket Mar 15 03:08:43 matrix systemd[1]: iscsid.service: Start operation timed out. Terminating. Mar 15 03:08:43 matrix systemd[1]: iscsid.service: Failed with result 'timeout'. with a timeout of around 90 seconds. I'm running the kernel Linux matrix 4.14.171-s5p6818 #24 SMP Mon Feb 17 06:09:30 CET 2020 aarch64 GNU/Linux in the Buster image. It would appear from /boot/config-4.14.171-s5p6818 that # CONFIG_SCSI_ISCSI_ATTRS is not set # CONFIG_SCSI_SAS_ATTRS is not set # CONFIG_SCSI_SAS_LIBSAS is not set # CONFIG_SCSI_SRP_ATTRS is not set CONFIG_SCSI_LOWLEVEL=y # CONFIG_ISCSI_TCP is not set # CONFIG_ISCSI_BOOT_SYSFS is not set That ISCSI_TCP is not set for ISCSI_ATTRS. On a Raspberry Pi (also based on Buster) with the default Raspbian kernel the modules iscsi_tcp 20480 2 libiscsi_tcp 28672 1 iscsi_tcp libiscsi 57344 2 libiscsi_tcp,iscsi_tcp automatically load and all is well. However, I can't get Armbian to work. I think I might need to recompile the kernel, but am not very excited to do so. A web search also indicated that incorrectly configured selinux could cause the same problem, but I don't think selinux is running. Does anyone know what's wrong and how to fix it?
Igor Posted March 15, 2020 Posted March 15, 2020 6 hours ago, ejolson said: with the default Raspbian kernel the modules Raspberry Pi is a proprietary Videocore architecture (with added ARM cores) which hasn't changed (much) in past 10 years and has a large herd playing with it. Here we are operating with 10-15 ARM sub architectures, some supported by noone. We used to maintain 40 different kernels, now we "only" have 34 of them. RPi kernel is just one. X86 kernel is also just one. Actually both are in two binaries. One 32bit and one 64bit. Kernels for Armbian supported boards is our common work. If something is not there, expect best effort support. If you want this feature, simply prepare a PR with (tested) changes and it will be inside. Perhaps someone will do that instead, perhaps not. There is also ongoing initiative to merge/import non-hardware related features from upstream (Debian/Ubuntu/Raspbian) kernels and where your help is appreciated. We are already totally overwhelmed with work while our R&D budget is exactly zero. Your only alternative in this case is non-supported outdated FA kernel, where any recompilation is a nightmare, support n/a. Here are kernel configurations: https://github.com/armbian/build/tree/master/config/kernel If you change this problem for one, change it for all. Thanks. 6 hours ago, ejolson said: I think I might need to recompile the kernel You can setup your own build environment - its really easy or wait for nightly update, Jenkins recompile or just ask for an update kernel. Many people has build system setup.
ejolson Posted March 17, 2020 Author Posted March 17, 2020 Thanks for your reply. Sorry for starting this thread after the one of the FriendlyARM website. It took me a long time before figuring out that iSCSI support was missing from the kernel. It seems the errors produced by iscsid and systemd are not very clear what's wrong--probably the wrong logging level somewhere. At any rate, after a day and a half of installing Ubuntu in a QEMU session and running the suggested build script on my local desktop (an dual-core AMD A6-5400K APU), I have the files armbian-config_20.05.0-trunk_all.deb armbian-firmware_20.05.0-trunk_all.deb armbian-firmware-full_20.05.0-trunk_all.deb linux-dtb-legacy-s5p6818_20.05.0-trunk_arm64.deb linux-headers-legacy-s5p6818_20.05.0-trunk_arm64.deb linux-image-legacy-s5p6818_20.05.0-trunk_arm64.deb linux-source-legacy-s5p6818_20.05.0-trunk_all.deb linux-u-boot-legacy-nanopct3_20.05.0-trunk_arm64.deb and am wondering what to do with them. Which do I need to install to get the new kernel running?
Igor Posted March 17, 2020 Posted March 17, 2020 5 hours ago, ejolson said: At any rate, after a day and a half I am glad you made it. If you will need more changes, this will be much much faster. A few minutes job. You need to install those two: dpkg -i linux-dtb-legacy-s5p6818_20.05.0-trunk_arm64.deb dpkg -i linux-image-legacy-s5p6818_20.05.0-trunk_arm64.deb Optional: dpkg -i linux-headers-legacy-s5p6818_20.05.0-trunk_arm64.deb Make sure to push changes upstream. Your kernel will be, in couple of months, upgraded at next release, your changes overwritten. Alternatively you can freeze kernel upgrades in armbian-config to prevent that to happen.
ejolson Posted March 19, 2020 Author Posted March 19, 2020 On 3/17/2020 at 12:17 AM, Igor said: I am glad you made it. If you will need more changes, this will be much much faster. A few minutes job. Woohoo! It worked. I now have wireguard installed and an iSCSI block device mounted over wireguard with a swap partition and a big /usr/local and my home directory. I'll report some performance results soon. Thanks!
Recommended Posts