Questions about compiling OpenELEC for i386

  • Hi, I am novice to compile and want to learn something by doing. I need some guide about compiling OpenELEC.

    I have an old (16 years old) laptop with Pentium M 740, which is an i386 CPU. The latest OpenELEC for i386 machine is OpenELEC 5.0.8. I have tried and run OpenELEC 5.0.8 smoothly. It's good.

    Since OpenELEC has discontinued development for i386 after 5.0.8. I think maybe I can compile newer OpenELEC from souce code. Not a serious project, just for fun and learning.

    First, I started from compiling OpenELEC 5.0.8. During compiling, I found many of the required packages are to be downloaded from Internet, and the URLs are old and invalid. The URL has been changed. I can't find any clue about where the URL is coded in source code, so I setup a local HTTPD, find the packages from else where, put them under HTTPD root doc dir and make the router redirect invalid URL to the local HTTPD. I have to do it one package by another. It's slow, but making progress.

    Could someone give me a clue how to find the coded URL in source code?

    Second, if I can compile OpenELEC 5.0.8 successfully (the compiling is still running while I am typing), the next thing I want to do is replace old packages, such as wlan-firmware-0.0.27.tar.xz, freetype-2.5.5.tar.bz2, and so on, to their newer version. I know that it's not necessary and may introduce new problems. Just want to try it.

    Could someone tell me how to replace old packages? I guess it has something to do with messing with MAKE file, but I don't where to start.

    Thanx for any help in advance.

    Edited 2 times, last by eloreson (September 4, 2021 at 11:11 AM).

  • Thanks.

    For a novice like me, not knowing where to start from, porting LibreELEC or OpenELEC to i386 are too hard for me. That's a goal that I can never reach. I know it.

    Currently, my main objective is to add some newer package update to OpenELEC 5.0.8. In this way, I can know the structure of OpenELEC source code and learn how to achieve small goals, step by step. I hope so.

  • GPU is Intel 915GM.

    BTW, I am still waiting for compiling to complete. While compiling Kodi, the 20GB disk space on VM was not enough. I decide to create a new VM with 40GB disk space. The compiling has to re-start again.

  • The version of Kodi in OE 5.0 (Helix?) is now too old to be useful for anything but playing local media; anything online is not going to run with the ancient packages in the image, and updating "a few" packages will cascade into compile dependencies; getting Kodi to run in the image is a choreographed dance that involves a lot of packages. For that reason lrusak comment is valid; it will be much easier to rework our current codebase (where all the packages have working sources that match the buildsystem) than resurrect OE 5.0.

    Commits · chewitt/LibreELEC.tv · GitHub

    ^ This is a branch based on LE 7.0 which reverts the removal of i386 support in order to run LE 7.0 on a mk1 AppleTV. By now this branch will also be full of packages that are outdated with broken source URLs, but it at least gives you a clue on what was needed back in ~2017 (when I last built that branch). You want a subset of the changes; there are things for AppleTV (which has an old nVidia GPU) that you don't need.

    NB: IIRC there's a thread in these forums from a user that created an i386 build for an Intel GPU with Kodi v17 .. and in the threat he links to GitHub sources. I'm being lazy to look .. but I did find it on GitHub in the past.

  • Thanks.

    I have only used Kodi on OpenELEC 5.0.8 to play local and SMB media, quite smooth. Haven't tried any online media, like Youtube, Nexflix.

    I will search the forum for more i386 port discussion.

    What concerns me much is that even if I can port newer version of Kodi, LibreELEC to i386, old hardware still can't run smoothly. In fact, I have managed to upgrade the old laptop to Windows 7 without official support. I searched for driver for every device one by one. I finally made it but decided to fallback to Windows XP at once, because merely running OS occupied most of CPU loading.

  • Selling the laptop (eBay or local equivalent of..) and putting the earned funds towards a Raspberry Pi will avoid the forced learning excercise on compiling distro images (fun that it can be). An RPi3B+ or even a much older RPi2 will greatly outperform any 16-year old laptop and can still run current software.

  • I have some S905X3 tvbox running CoreELEC and EmulELEC smoothly. I am satisfied.

    It's true that the old 16yo laptop is completely garbage comparing to ARM box. I am keeping the old laptop just for retro fun, not for any serious usage.

  • Thanks.

    In fact, I have too many questions, but I am not sure if it's proper to ask. Any way, I will try to make my questions clear and making sense.

    Meanwhile, I killed the VM of Ubuntu16 32bit, because I can't pass compiling libpng and I can't figure out what's the cause from error message. I tried Ubuntu 10 and I guess it's too old for OpenELEC 5.0.8. Now I am trying Ubuntu 14.

  • I have completed the compiling of OE 5.0.8 for i386.

    Now I am compiling OE 5.95.1 for i386.

    I copied "config/arch.i386" and "projects/Generic/linux/linux.i386.conf" from 5.0.8 to 5.95.1. And I modified "projects/Generic/options" by adding some lines copied from 5.0.8. Then I started the compiling. While I am typing, the compilation is making cmake. So far so good. Don't know what will happen afterwards.

    Edited once, last by eloreson (September 6, 2021 at 11:44 AM).

  • I got error when compiling OE 5.95.5 on Ubuntu 14 i386, so I switched to Ubuntu 16.

    Now I am stuck with an error not being able to install md5deep (as the following image).

    It's strange. I have already installed md5deep, but the terminal still says I don't.

    I have tried completely remove md5deep and re-install it, still got no better.