Omega2+ cannot install kmod-fs-ext4 kmod-usb-storage-extra kernel version mismatch



  • I have a new (1 day old) omega 2+ with a recently upgraded kernel:

    oupgrade -v
    > Device Firmware Version: 0.1.6 b136
    

    when I try to install those packages (got from page https://wiki.onion.io/Tutorials/Using-USB-Storage-as-Rootfs) I get:

    opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras
    Package block-mount (2016-09-31-94a5b0ad-1) installed in root is up to date.
    Upgrading kmod-fs-ext4 on root from 4.4.36-1 to 4.4.39-1... 
    Downloading http://downloads.lede-project.org/snapshots/targets/ramips/mt7688/packages/kmod-fs-ext4_4.4.39-1_mipsel_24kc.ipk.
    Upgrading kmod-usb-storage-extras on root from 4.4.36-1 to 4.4.39-1...
    Downloading http://downloads.lede-project.org/snapshots/targets/ramips/mt7688/packages/kmod-usb-storage-extras_4.4.39-1_mipsel_24kc.ipk.
    Collected errors:
    * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-fs-ext4:
    *      kernel (= 4.4.39-1-2ca520c2bcb3b11fa70ead38c790850b) *
    * opkg_install_cmd: Cannot install package kmod-fs-ext4.
    * satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb-storage-extras:  
    

    any idea what do I wrong? I also tried to find mapping between onion firmwares and kernel versions but the firmware changelog is only up to 2.1.4: https://wiki.onion.io/Documentation/Firmware-Changelog

    Thanks for your help

    Cheers



  • @Tamas-Kende You're not doing anything wrong, it's the Onion-devs who are: they didn't bother compiling all the kernel-modules while building the image and putting them on their repo, so opkg tries to install kernel-modules for a newer kernel than the kernel you are actually running. Unless you're comfortable building LEDE yourself from sources there isn't much you can do, other than wait and hope that the Onion-devs get around to compiling more kmods.

    If you do uname -r you'll see it reports the kernel-version as 4.4.36. But if you look at the text you copypasted, opkg tries to install kmods for kernel-version 4.4.39.



  • Thanks for the quick response, so the kernel I have 4.4.36 is coming from Omega? or is there a repo where these basic/default/important (if they are) are there compiled against that kernel? was there a stage when the omega kernel version worked against these opkg repos?



  • @Tamas-Kende Yes, the kernel 4.4.36 is part of the Omega2's firmware. Also, I have no if idea there has or hasn't been kmods for 4.4.36 in LEDE's repos, I just know how things stand now.



  • Thanks, so besides building it myself I have no option to get those packages (so basically auto mount usb, as I dont have fstab). Well I can live with that I think



  • @Tamas-Kende I actually just noticed that kmod-fs-ext4 and kmod-usb-storage-extras should already be installed by default. Just install block-mount.



  • @WereCatf This issue with kernel version mismatch has been around for a long time. I first encountered it about 1 year ago with the original Omega and it seems it is still an issue.

    This has been reported to the Onion Omega Devs several times without it getting addressed.

    To my mind this is one of the more irksome long standing issues that really needs addressing.

    It is possible to cross compile your own versions of the packages but it is a fairly long winded complex process that I have done from time to time, but would rather not have to.

    To the Omega devs: please address this issue with some urgency - it has been around for a long time and is not a good look :-(



  • @Kit-Bishop It wouldn't even be difficult to address: provide all the kernel-modules in the Onion-repo, since they already have one, and package a newer opkg (0.3.2 or higher), which can install a specific package-version. That way, you could do e.g. opkg install kmod-fs-nfs=4.4.36-1 and POOF -- problem solved. Upstream could still continue to provide kmods for a newer kernel on their repos, but it would no longer stop you from install kmods on an older kernel, as long as the kmods were available on some repo.



  • @WereCatf I quite agree.

    I have used the instructions that are documented at https://wiki.onion.io/Tutorials/Cross-Compile and have successfully built various packages and also an OpenWrt image that will run on the Omega

    The problem is that the instructions refer to the repository at git://git.openwrt.org/15.05/openwrt.git Using this to build an image only gives a generic OpenWrt image, not one that is tailored to the Omega. Even that takes quite a lot of working in configuring (using make menuconfig) and even then one runs into 2 main areas of issues:

    1. Lack of knowledge of exactly what packages shoul (or should not) be included in the image
    2. Lack of Omega specific tailoring files.

    I and several others have asked in this forum for information on one or both of the following to allow us to produce Omega specific images:

    • A. Config details to enable us to know what should be included in the image - the best I or anyone has been able to do is to effectively guess based on what is in the standard Omega image and on what is listed under opkg
    • B. Access (read only) to the actual repository that is used to build the official Omega images

    However, no response has been forthcoming on either of these - while I really like the Omega and it is supposed to be open source, it is highly disappointing that this information is not available despite multiple requests for at least 1 year - not even any sort of response as to why i t might not be feasible to provide this information



  • @Kit-Bishop I've been fiddling with the LEDE-sources for the last couple of days and I submitted a pull-request for an Omega2+-profile, also, on their github. I can produce an image that runs just fine on my Omega2+, but it's not an exact copy. It seems the sources for all of the packages aren't available anywhere, like e.g. they don't use the in-kernel, open-source driver for WiFi, but instead some Ralink-driver for which they withhold the sources. The open-source driver works, but its performance isn't nearly as good and I can't make autochannel for AP work with it -- it only works, if I set a specific channel for the AP to use. Other than those, though, the image works just peachy.

    And yes, I totally agree that this situation is verily disappointing. I certainly will be recommending people to stay away from Omegas.



  • @WereCatf I can quite sympathise with you :-(

    I wouldn't quite go as far as recommending people stay away from Omegas - I have done some useful stuff with mine - none the less, there are some disappointing things and people should keep there eyes open over what they expect.



  • @Kit-Bishop @WereCatf thank you guys for the answers, I think it is really disappointing when the exampes what are on the official site do not work on the latest device they sell. I can understand that compiling all these packages what they dont really own on the kernel they have is not easy but the open source community could help them if they give the required info (I guess we can set up some build jobs what post to an omega community repo, if we have the basic dependencies). Thanks for your info, I was trying to use fstab, maybe I already installed it and I can go forward, and I was just distracted with these messages.



  • It is posible to share some of those images for others to flash? Or share the menuconfig kernel config files? Then we have some sort of baseline we can built upon.



  • @Stan-Madge Of course it would be possible to share the images, but my images still need to undergo some more polish. Also, there are some limitations, like e.g. the somewhat poorer WiFi-performance than with the Ralink-driver used in the official images for which I don't have source-code, and any Onion-tools that would configure WiFi wouldn't work, because they rely on that Ralink-driver -- you couldn't e.g. configure WiFi in Console, you'd have to drop down to command-line and do it manually. At the moment I don't even install Console in my images at all, I install luci. I just feel luci is much more useful.



  • Sounds reasonable. As soon as the sd card starts working i can start using my new thingspeak server :-)


  • administrators

    @Tamas-Kende @Kit-Bishop @WereCatf
    As of version 0.1.7 the Omega can install additional kernel modules, please see the docs site for details: https://docs.onion.io/omega2-docs/software-using-opkg.html#onion-package-repo

    In a nutshell, opkg only allows installation of kernel modules compiled by the same machine that generated the firmware image, so as to avoid disaster. To remedy this, we're hosting our own core and base package repos. As a result, there will be some difference in the selection of packages hosted by us and by the LEDE repos. If you would like to see something added please let us know and we'll do our best to get it up in a timely manner.



  • @Lazar-Demin said in Omega2+ cannot install kmod-fs-ext4 kmod-usb-storage-extra kernel version mismatch:

    @Tamas-Kende @Kit-Bishop @WereCatf
    As of version 0.1.7 the Omega can install additional kernel modules, please see the docs site for details: https://docs.onion.io/omega2-docs/software-using-opkg.html#onion-package-repo

    In a nutshell, opkg only allows installation of kernel modules compiled by the same machine that generated the firmware image, so as to avoid disaster. To remedy this, we're hosting our own core and base package repos. As a result, there will be some difference in the selection of packages hosted by us and by the LEDE repos. If you would like to see something added please let us know and we'll do our best to get it up in a timely manner.

    In that case, I need:
    kmod-batman-adv
    batctl

    to be able to run meshnetworking on Omega.


Log in to reply
 

Looks like your connection to Onion Community was lost, please wait while we try to reconnect.