On 12/13/2018 08:26 AM, Said Uçar wrote: > Hi Philip, > > > Thank you for your effort, you help a lot! Last image you provided > worked without trouble and I managed to run batman in e310. I didn't > test the toolchain yet but I think it will work too. Besides, I tried to > build whole image on my own and it worked also. At this point I have > some questions; > > 1. Although the batman works without trouble, to trace batman logs, I > need debugfs. When I tried to use batctl (since batman-adv implemented > as kernel module, to control batman they provide batctl application), I > given an error; > > "Error - can't mount or find debugfs" > > How could I add debugfs to image?
Do this: https://github.com/balister/meta-ettus-1/commit/5be7f1ef6c47315cc7fac7c957ed399ef7726ab1 and this: https://github.com/balister/sdr-build/commit/e90faa63e79843f5193e6344d4bc30d8721fdeed You don't really need to bump the submodule hash until the image is tested. I do it because the machine that builds the images for dropbox uses it. > > 2. I tried to build image on a computer that has 128 Core processor and > 128GB RAM. It took almost 4 hours to complete. And I only built dev > image, not demo image. Can I remove some packages from image (if so, > how?) to reduce built time? It builds too many packages and I think we > don't need all of them. > How fast is the internet connection? the first time it is going to download a lot of source. It is saved for future builds (be careful no to delete the downloads directory) I do the build on 4+HT and like 16GB and 4 images + 2 sdks is like 6 hours. Review the image recipes here: https://github.com/balister/meta-sdr/tree/master/recipes-images/images If you are using gnuradio, you can use he PACKAGECONFIG variable to turn off unused features like qtgui. See: http://opensdr.com/posts/building-small-gnuradio-images/ > 3. I believe at some point in future, we need to configure kernel for > our image, how can I tweak the kernel image before build? (I used 'make > menuconfig' for another device's kernel build once, but it wasn't built > with bitbake) > I sort of hinted how I do this above. I find config fraqments work work better than copying around the entire config file. Easier to move kernel version etc. The Yocto Project Mega Manual is very useful: https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html > > Thank you again, > > Best Regards, > > Said U. > > > On 12/13/18 5:24 AM, Philip Balister wrote: >> OK Dropbox updated: >> >> https://www.dropbox.com/sh/6qfjjqlfzmyegyd/AABu45Ney1xRoen-NyJim5dGa?dl=0 >> >> Thanks for testing. >> >> Philip >> >> On 12/12/2018 07:16 AM, Philip Balister via USRP-users wrote: >>> On 12/12/2018 05:42 AM, Said Uçar via USRP-users wrote: >>>> Hi Philip, >>>> >>>> >>>> I write the image you provided and it booted without trouble. I set the >>>> KERNELPATH to /usr/src/kernel. Then, I tried to build batman-adv module >>>> but failed at first, as expected. I given an error; >>>> >>>> /bin/sh: scripts/basic/fixdep: No such file or directory >>>> >>>> Then I built all modules in kernel sources using the following >>>> commands; >>>> >>>> cd /usr/src/kernel >>>> >>>> make modules_prepare >>>> >>>> make modules >>>> >>>> make modules_install >>>> >>>> That took some time, but at the end I can manage to build batman >>>> without >>>> error. However, I couldn't use the build batman-adv.ko. When I tried to >>>> insmod the module, I given an error; >>>> >>>> modprobe: ERROR: could not insert 'batman_adv': Unknown >>>> symbol in module, or unknown parameter (see dmesg) >>>> >>>> And the kernel log was; >>>> >>>> [ 1896.210237] batman_adv: Unknown symbol crc32c (err 0) >>> I think there is another kernel option needed: >>> >>> https://cateee.net/lkddb/web-lkddb/LIBCRC32C.html >>> >>> I'll make the change and kick off the sausage machine. Unfortunately it >>> is set to do a clean build (to avoid a certain class of failures) so the >>> build takes along time to create all the images and sdks, then another >>> few hours to upload. Doing incremental builds locally would save you a >>> lot of time: >>> >>> I think the README here will walk you through the process: >>> >>> https://github.com/balister/sdr-build/tree/rocko-e300 >>> >>> I'll let you know when the upload is done. >>> >>>> >>>> The output of 'cat /proc/kallsyms | grep crc' command; >>>> >>>> c02cd8d8 t crc32c_cra_init >>>> c0303250 t crc32_generic_shift >>>> c03032d8 T crc32_le_shift >>>> c03032e4 T __crc32c_le_shift >>>> c03032f0 T crc32_le >>>> c0303438 T __crc32c_le >>>> c0303580 T crc32_be >>>> c030a2f0 t crc32_validate >>>> c091364c t crc32c_mod_init >>>> >>>> And I assume that crc32c module is exists? I stuck at this point, and >>>> googling didn't helped. >>>> >>>> >>>> There is one more thing, I asked the kernel upgrade process to the >>>> ETTUS >>>> Support, they replied with the following; >>>> >>>> "Upgrading the kernel would require you to port our >>>> drivers. >>>> That probably isn't feasible." >>> Um, clearly that isn't an accurate statement. I've seen it done a few >>> times, and Kurt Kiefer published his work which I built on to make these >>> images. >>> >>> Philip >>> >>> >>>> >>>> Regarding that answer, how could you managed to build image with kernel >>>> 4.9 for e310 devices? >>>> >>>> >>>> Thank you again, >>>> >>>> Best Regards, >>>> >>>> Said U. >>>> >>>> >>>> On 12/12/18 12:58 AM, Philip Balister wrote: >>>>> On 12/10/2018 04:20 PM, Philip Balister via USRP-users wrote: >>>>>> On 12/10/2018 03:03 AM, Said Uçar via USRP-users wrote: >>>>>>> Hi Philip, >>>>>>> >>>>>>> >>>>>>> Thank you for your answer. I believe the first option is simpler >>>>>>> than >>>>>>> the second. However, I'm not familiar to building and tweaking >>>>>>> kernel. >>>>>>> Is there a documentation for building and tweaking kernel for E300 >>>>>>> series? You are definitely right about the kernel version issue >>>>>>> (batman >>>>>>> did most of its features after kernel 4), I would like to test older >>>>>>> version because it may be sufficient for us. >>>>>> I don't have any docs that would help and don't know of any on the >>>>>> Ettus >>>>>> site. I've had an idea that might help. I have a more recent build >>>>>> based >>>>>> on the OpenEmbedded rocko branches that use a 4.9 kernel, I am adding >>>>>> the kernel-devsrc package to the image. That should let you build the >>>>>> kernel module on the device. No warranty though. The builder is >>>>>> running >>>>>> now and it is a long job, I'll post a link to the updated images when >>>>>> they are done. >>>>> OK, the sausage machine spit out new images to try: >>>>> >>>>> https://www.dropbox.com/sh/6qfjjqlfzmyegyd/AABu45Ney1xRoen-NyJim5dGa?dl=0 >>>>> >>>>> >>>>> Use bmaptool to write to an SD card: >>>>> >>>>> sudo bmaptool copy long-file-name /dev/sdX >>>>> >>>>> make sure the wic and bmap files are in the same directory. >>>>> >>>>> Completely untested. But the kernel dev sources should be available >>>>> for >>>>> building OOT kernel modules. >>>>> >>>>> Good luck, >>>>> >>>>> Philip >>>>> >>>>> >>>>>> Philip >>>>>> >>>>>>> Best Regards, >>>>>>> >>>>>>> >>>>>>> On 12/7/18 9:48 PM, Philip Balister wrote: >>>>>>>> On 12/05/2018 04:05 AM, Said Uçar via USRP-users wrote: >>>>>>>>> Hi all, >>>>>>>>> >>>>>>>>> >>>>>>>>> I'm trying to build batman-adv^[1] for E310 however it required >>>>>>>>> the >>>>>>>>> kernel sources since it builds /batman-adv.ko/ kernel object. I >>>>>>>>> built >>>>>>>>> the batctl^[2] and alfred^[3] without problem. I searched on the >>>>>>>>> internet for kernel sources however couldn't find it. Is there a >>>>>>>>> way to >>>>>>>>> build batman for e310? >>>>>>>>> >>>>>>>> So a couple of approaches to take: >>>>>>>> >>>>>>>> 1) Build the E300 linux distro locally and add recipes for the >>>>>>>> kernel >>>>>>>> module and other parts of the software. >>>>>>>> >>>>>>>> 2) Inspect the linux kernel recipe used on the E300 and build a >>>>>>>> local >>>>>>>> git tree, and copy the kernel config from the build area. Then >>>>>>>> build the >>>>>>>> module against those sources. >>>>>>>> >>>>>>>> Both are fairly straightforward, but you'll need to figure out some >>>>>>>> OpenEmbedded stuff. All the information is a available to you. >>>>>>>> >>>>>>>> I did peek at the kernel module to see if it would build aainst >>>>>>>> a 3.14 >>>>>>>> kernel. They do have an ifdef for kernels below 4.0, but it is >>>>>>>> clear >>>>>>>> most work is targeted at later kernels. >>>>>>>> >>>>>>>> Good luck! >>>>>>>> >>>>>>>> Philip >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Here is the output of 'uname -a': >>>>>>>>> >>>>>>>>> Linux ettus-e3xx-sg3 3.14.2-xilinx #1 SMP PREEMPT Thu Jan 7 >>>>>>>>> 14:49:20 >>>>>>>>> PST 2016 armv7l GNU/Linux >>>>>>>>> >>>>>>>>> >>>>>>>>> [1] = https://git.open-mesh.org/batman-adv.git >>>>>>>>> >>>>>>>>> [2] = https://git.open-mesh.org/batctl.git >>>>>>>>> >>>>>>>>> [3] = https://git.open-mesh.org/alfred.git >>>>>>>>> >>>>>>>>> >>>>>>>>> Best Regards, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> USRP-users mailing list >>>>>>>>> USRP-users@lists.ettus.com >>>>>>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> USRP-users mailing list >>>>>>>>> USRP-users@lists.ettus.com >>>>>>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>>>>> _______________________________________________ >>>>>> USRP-users mailing list >>>>>> USRP-users@lists.ettus.com >>>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> USRP-users mailing list >>>>>> USRP-users@lists.ettus.com >>>>>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>> _______________________________________________ >>> USRP-users mailing list >>> USRP-users@lists.ettus.com >>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>> _______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com