Posts by afremont

    I have the same, or very similar, problem using mythpvr, hdhomerun tuners and a myth tv backend. It happens on rpi and odroid versions. Freezes up almost every night and begins looping in gdb. Log in and reboot gets it going again, but will eventually freeze again. The last log message is always related to capplication::framemove. Been going on through many versions/releases of libreelec. Seems to be some kind of race condition, but that's just guessing. Never happens when watching live TV or recordings, only when Kodi menus are visible.

    So, I'm guessing that MPEG2 on the Rock64 isn't viable? Live TV from my HDHomerun boxes (MPG2) doesn't appear to be accelerated by hardware.

    EDIT: I saw another post indicating that MPEG2 and VC1 weren't supported in hardware. The Rock64 is really fast though, too bad it can't do MPEG2.

    I switched to the Odroid build. Looks pretty decent, but sure wish I could get passthrough audio on live streams. Is that ever coming back? PVR startup is delayed for a minute after system startup for some reason.

    This is awesome! I simply downloaded the tar file and placed it in the Update folder, rebooted, got a little scared when it just hung at the splash screen for a while. Then it rebooted itself again and viola, it was running. The PVR client for MythTV seems to work fine, video playback looks good, sound is there, but I only have stereo speakers right now. I'll hook it to my AVR later and see if I can DD5.1 at least from broadcast TV.

    I built from the github sources last week and then got sidetracked on local election stuff. It was stable for an entire week just sitting over there. I'm really impressed with how quickly and smoothly this going. I've been using an RPi2 for quite some time, but am looking forward to upgrading to this C2. It's way faster at bringing up the Program Guide from the MythTV client, even the Pi2 took too long to load the 100+ channels of info.

    I noticed that we don't seem to have control over deinterlacing methods. Is that right? I can't find any options via the OSD during playback. I'm okay with the way it looks now, I just was wondering about it. I did notice some color banding on a TV channel. Just sayin', not complaining. Again, this is awesome. I'm already anxious to change out my Pi2 for the C2. I have do some more testing though. I haven't tried the Ortek WMC remote control yet.

    I was worried about MPEG-2 decoding since one has to purchase a license for the RPi to get it, and I need it. It seems to be doing a great job. I did notice that when I bring up the statistical OSD (O key), it gets a little jerky and buffers during LiveTV playback. I don't know if that's an overlay issue or what, but I really don't care at this point. I'm thrilled! The "O" key shows a playback rate of 25FPS, but I live in 60Hz land. I was expecting 30FPS on the display, but I've seen this before on the RPi2. It may not be important at all.

    You guys are great, thanks for everything.


    I did almost the same, but used the github sources

    GitHub - surkovalex/libamcodec: libamcodec

    seems to play, only a bit of delay before the video starts.

    Can you give a little detail on how you did it? Did you take the github source for libamcodec, overlay some part of the Libreelec github pull with and then just do another make on the whole Libreelec pull?

    I'm also not understanding what Dez means about u-boot not working. The binary I downloaded seems to work fine, but I don't know about the one we can build from the source. Or do you mean that you are building a complete disk image file from just the Libreelec source pull?

    What settings did you use to compile? I did it and it compiled but hours later when i tried to boot off it I just get a black screen.

    Did you do the steps that I outlined in my post with the "what I did" section in it?

    Did you create a 200MB or so FAT16 partition on your SD card?

    Did you copy the resultant system and kernel files (from target directory) to the SD card as SYSTEM and KERNEL?

    Did you copy boot.ini to the SD card?

    I copied this file to the SD card: meson64_odroidc2.dtb

    When I ran the sd_fuse script, I had to modify it to not do the eject command because it wasn't syncing everything to the SD card before ejecting it. I then ran a manual sync command to let it flush. That may just be a thing on my system, but it's certainly important that the sd_fuse script be allowed to get everything flushed to the SD card or u-boot isn't going to work. Do a dmesg command after running the script and make sure you didn't get a bunch of weird errors.

    I don't know yet. I haven't had time to try anything, including sound, but the developer said that there was some kind of problem with that right now. My usage is mostly as a front-end for MythTV, so I'm going to work towards getting the addon loaded. Later on, I will give video playback a try and see what happens.
    [hr]


    I am building it now, i did notice the options file says:

    case $TARGET_ARCH in
    arm64)

    instead of aarch64, but don't think it makes much difference.


    When I built it, it stopped to ask me a couple of questions at one point about root ownership and something else I forgot. There was only one stopping point and then it completed on its own as I slept. I did switch to the binary download of u-boot, but I don't know if that was absolutely necessary. I need to figure out how to sync my clone with github so that I don't have to pull everything over and over and build from scratch each time I update.

    Okay, it's running. Kodi (LibreELEC) is up and running after cloning the github branch again and rebuilding it all. I also used the u-boot binary instead of the one I built from source. No modifications to the boot.ini file.

    Now for the bad news:
    1) no PVR addons can I find and I absolutely have to have MythPVR so I'll see if I can install from zip or something
    2) the LibreELEC repository isn't there (might be temporary), but the Kodi repository is

    I haven't tried to actually do much of anything. I don't know if sound is working, but it looks like it should be from the dmesg out and the kodi.log.

    dmesg output: jPPY
    kodi.log: KSOB

    What I did:

    git clone GitHub - lrusak/LibreELEC.tv: 'Just enough OS' for Kodi --branch aarch64-odroid-c2
    ARCH=aarch64 PROJECT=Odroid_C2 make -j8

    The stuff on this page, but I downloaded the binary:
    en:c2_building_u-boot [Odroid Wiki]


    Just saw @lrusak's post here ODROID Forum • View topic - OpenELEC for Odroid-C2

    Great news!!

    I just did a make clean on the first clone I did and re-cloned it into another directory (running a small SSD on the system I'm using to build so space is tight, it's a mythbackend machine with a 60GB SSD root filesystem drive and a 5TB storage drive) It's takes 15GB to do a build, amazing. Looks like we all might have been running slightly different versions of things since the developer was working on it.

    That's excellent that he got it running. I wonder what kind of problem he is having with u-boot. I'm confused as to why he needs a "bare metal" compiler to fix it, but then I find a lot of this stuff confusing right now.

    I don't know for sure yet, but so far it seems like Amlogic is a lot more open about their hardware than Broadcomm (RPi chipset). That's the main thing I dislike about the RPi, you have to sign an NDA and get blessed before they let you know how their stuff works. I miss the old days of companies proudly documenting their hardware so that developers could implement it, now corporate lawyers don't want anyone to know how to actually write a driver for anything out there, they treat datasheets like they're military secrets.

    Anyway, I hope what I just pulled from github is going to work, it's compiling anyway. Thanks for reading and for all the help you've provided to me.


    Mine is as per LibreELEC.tv/linux.aarch64.conf at aarch64-odroid-c2 · lrusak/LibreELEC.tv · GitHub with the 2 changes; [font="Open Sans, sans-serif, Arial"]CONFIG_MALI_SHARED_INTERRUPTS=y and # CONFIG_AMLOGIC_ION is not set[/font]

    [font="Open Sans, sans-serif, Arial"]That, once built, boots only to the splash screen but at least has the blue "heart beat" LED now flashing. [/font]
    [font="Open Sans, sans-serif, Arial"]I found a USB to TTL converter so should hopefully be able to make a console cable soon to try to see what is going on.[/font]

    lrusak appears to have made a few recent changes to the Odroid-C2 branch, so may be worth cloning again and trying.

    I wouldn't make many changes to [font="Open Sans, sans-serif, Arial"]linux.aarch64.conf as it can make building a real pain in the arse and may only make things worse.[/font]

    That's interesting as mine already has the CONFIG_MALI_SHARED_INTERRUPTS=y. I just cloned LibreELEC yesterday (March 30) at 13:07 central time, perhaps my stuff is later than yours? I always make backup copies of files before changing them so that I can put things back and/or do a diff command to see where I'm currently at. I did comment out CONFIG_AMLOGIC_ION, but it made no difference. You might want to compare your config file to the one I pastebined to see what (if any) differences exist. The one I uploaded is the original that came when I did the clone yesterday, unchanged.

    I downloaded the binary for u-boot and the bl1.... file is identical to the one I built from source. The u-boot.bin file is exactly the same size as the one I built from source, but it differs according to the diff command. hmmm... I'm going to switch to the binary version and see if I get any difference in behavior. I'm not getting the flashing blue LED (heartbeat), just a solid blue.

    I wanted so bad to hook up my serial to USB cable from my RPi, but it simply won't plug on and I'm not going to chop it up or risk damaging my C2. I'll wait for the cable I ordered tonight, it should only be a few days. Probably Monday if they process it as fast as they did my C2.

    I'll go ahead and clone the whole thing again, but I was hoping to avoid compiling it all since it takes so long.

    There have been S905 based boxes running OpenELEC for at least 3 months now, it doesn't seem like it should be this hard to get the C2 running it. Since we get (or at least I do) an actual root Linux command line prompt, we have the kernel running, it's just that Kodi isn't getting launched at my house anyway.

    Do you have two partitions on your boot device? I only had the fat16 partition created. I went ahead and created (but didn't make a filesystem) a second Linux partition (Type 83). That didn't seem to make any difference in my situation. Do I need that partition to exist and be formatted, or will OpenELEC take care of that once it launches?

    Do you have the meson64_odroidc2.dtb file on your fat partion? u-boot.ini seems to expect it to be there, so I put it there from the start.

    This stuff is slowly starting to come together in my head. I'm getting a feel for how the hardware comes up now and how u-boot loads from the SD card in sort of an MBR type fashion, and then loads in the KERNEL file. I finally found and read a few things that started to clear this up to me. What I don't see is how the SYSTEM file plays into this unless that's taken care of by OpenELEC itself when it loads. I'm thinking that it sees the file and then unpacks it onto the second partition. The confusing thing right now is that there doesn't appear to be something to start OpenELEC in the ramdisk that is mounted, at least I haven't found it anyway unless /platform_init or /functions is what starts it. Do you know?

    Can you guys pastebin your linux.aarch64.conf files?
    Here's mine (original):
    Ubuntu Pastebin

    I made the change to disable ION, but got the same exact results -- splash screeen, no heartbeat on the blue LED, root prompt, flash card mounted on /flash, very rudimentary root filesystem (I'm guessing the initramfs or whatever you wish to call it) No sign of the "real" root filesystem.

    I'd like to compare config files. Maybe we have slightly different github clones??? How do I "update" my clone of the github with any changes they might have made since I did my clone? Do I do a git pull, git fetch, or what?

    Thanks, I wish I could be of more help to you guys. Just trying to learn here. :)

    Over 20 years of Linux tinkering and I still feel like I just downloaded slackware floppy images yesterday. At least I got my console cable ordered, it should be here early next week.

    I only have a solid blue light, but I do have a root prompt that responds to the few commands that can be issued. The main filesystem is obviously not mounted, but the SD card is mounted under /flash. There is apparently a Linux kernel of some sort running, but I have no idea how to get the filesystem mounted. If the console IO port is 3.3V, I have a usb to serial type cable that works with the RPi I can connect. It might be helpful to be able to see the kernel messages. I hope that's a valid way to get them displayed somewhere.

    I'm going to try rebuilding the kernel using the options that Dez listed and see what happens.

    Is the serial console port 3.3V??? Yes it is 3.3V

    Oddly enough, my default kernel config file doesn't exactly match the first one listed, I have one difference:
    CONFIG_CPU_FREQ_GOV_ONDEMAND=y

    EDIT:

    This was already set in my kernel config:
    [font="Open Sans, sans-serif, Arial"]CONFIG_MALI_SHARED_INTERRUPTS=y[/font]

    [font="Open Sans, sans-serif, Arial"]Why is my kernel config different from Dez'?[/font]

    [font="Open Sans, sans-serif, Arial"]EDIT2: So much for using my RPi serial cable, it won't fit. :( I'm ordering the correct one now, ouch.[/font]

    Woohoo, finally got the SD card "initialized". I also copied the meson-blah-blah.dtb file to the fat16 partition along with the boot.ini and the KERNEL and SYSTEM files. I don't think the meson*.dtb file was used for anything. I powered it on and got the LibreELEC graphical splash screen and a message indicating:

    sh: can't access tty: job control turned off
    #

    I didn't see any kernel output messages, but obviously something is running. I appear to be able to see some kind of minimal file system. I'm guessing that busybox is providing my prompt, but I don't know that for sure. No ps command available.

    My ubuntu install has a meson*.dtb file in the boot directory and also has a uInitrd ramdisk file. I'm wondering if the missing ramdisk file is what is preventing it from booting on up. The ubuntu system also has an Image file in the boot directory.

    Are you guys having any luck getting beyond this point?

    Okay, I seem to have successfully built the SYSTEM and KERNEL files as well as a tar file that contains these pieces and what seems to go into the fat partition of the SD card. I have some (maybe stupid) questions about this stuff. In the tar file 3rdparty directory there is a BL1 file and a u-boot file as well as a boot.ini and meson dtb file. I see that my Ubuntu installation on my C2 has a boot.ini and a meson dtb file, but it also has an Image and a InitRD file.

    Can anyone explain (or point me to a good explanation) of how the system comes up from power on. I don't think it works like a PC with mbr. I assume that it's something like the RPi in that the C2 hardware contains some kind of microcode that can mount and look through the fat partition of the SD card (or MMC device). I'm trying to gain a better understanding of how this stuff works, in detail. I apologize if this is basic information that I should know before attempting any of this, but I promise to learn from this experience and hopefully help others later on. I know there is no magic here, but it's looking like that to me right now because I don't know the details.

    EDIT: I downloaded the toolkit to help create the SD card, but it appears that the binaries are for a 32 bit OS. For whatever reason, I can't seem to get the libraries installed that they need. I'm using a 64 bit Mythbuntu installation that is less than 1 year old and has all the updates applied, so I'm not sure what the problem is. I'm going to look for a source version of the toolkit that I can compile from scratch.

    EDIT2: The answer to the problem with not being able to run the 32 bit stuff was to do this:

    Code
    apt-get install lib32stdc++6


    I also found this to be informative:
    U-Boot on ARM32, AArch64 and beyond
    This might be handy as well:
    Linaro Releases

    Dez Yes, I was trying the zalaare version, I will now pull the other tree and try it. Thanks a lot for the input.

    Jeroen Thank you for the proper command line to use.

    I'll give this a shot and let you all know how it goes. Thanks again.


    Odroid != RPi2

    OOps, I pasted the wrong thing. I did do the PROJECT=Odroid ARCH=aarch64 make image.

    I see that there are some "devices" directories for C1, U2 and XU3, but I don't see any way to specify one or the other. I'm assuming that this is resolved at run time and that all of them are supported by the same image file and that the C1 collection is what is used by the C2. Does that sound reasonable?
    [hr]
    EDIT: Okay, now I'm getting an interesting error. It looks like wants to download some kernel source, but doesn't have the proper version numbers:

    [font="Courier New"] GET linux
    [/font]
    [font="Courier New"]--2016-03-30 08:13:36-- linux-0.0invalid.tar.xz[/font]
    [font="Courier New"]Resolving freeweb.mine.nu (freeweb.mine.nu)... 178.32.220.211[/font]
    [font="Courier New"]Connecting to freeweb.mine.nu (freeweb.mine.nu)|178.32.220.211|:80... connected.[/font]
    [font="Courier New"]HTTP request sent, awaiting response... 404 Not Found[/font]
    [font="Courier New"]2016-03-30 08:13:36 ERROR 404: Not Found.[/font]

    This repeats over and over using different servers, then finally fails:

    [font="Courier New"]Cant't get linux sources : linux-0.0invalid.tar.xz
    [/font]
    [font="Courier New"] Try later !![/font]
    [font="Courier New"]make: *** [image] Error 1[/font]

    [font="Arial"]I don't think trying again later is going to help. ;)[/font]

    [font="Arial"]Any ideas???
    [/font]


    Aaaargh......I shouldn't have used an Evo card. I've had trouble with the early Evo's before.
    This time I tried with another card (properly set up with bootloader) and at least got to the boot screen before stopping. Will try fiddling around with it more when I make a console cable and can get more time from work.

    Can you provide some more detail about how you set up your card?
    [hr]
    I did a git clone of the Openelec repository listed above (zalaare) and then tried doing a make all on a C2 runing the Ubuntu distro with all updates. The first thing I noticed was that the configured options didn't seem right. For example OpenGLES was set to no. AIUI the C2 supports GL ES 2.0, so.... It ran for some time and then blew up with an internal compiler error.

    [font="Arial"]Upon a closer examination, the config option defaults are worse than I thought. It's attempting to build for an x86 arch, and I KNOW that's not right. ;;) Can someone tell me how to properly set the config options so that I can do the build properly? If anyone knows of a howto out there, I'd appreciate knowing about it. Thanks.[/font]

    [font="Arial"]It looks like today's weather is going to be wet, so I should have some time to play with this. If I figure anything out, I'll be back with the information.[/font]

    [font="Arial"]EDIT: I found this: Compile from source - OpenELEC so I now have somewhat of a clue. Nice to see that I can use a faster machine to do the build (cross-compile). Some help on the proper environment variables for a C2 would be appreciated.[/font]

    [font="Arial"]EDIT2: Looks like this is getting closer now: [font="monospace, Courier"]PROJECT=RPi2 ARCH=aarch64 make image[/font][/font]

    I think you're right, and I'm literally just blindly bumbling my way through this at the moment.

    zalaare has some make scripts for the C1 that might work for the C2 with some modifications.
    OpenELEC-Odroid/scripts at odroid-6.0 · zalaare/OpenELEC-Odroid · GitHub

    Another thing I noticed, and possibly doesn't matter too much, is that the boot.ini looks a bit different to the C1 boot.ini.
    GitHub - mdrjr/c2_bootini

    I'll keep trying with the lrusak branch and then hopefully eventually try with LE.
    Even if I get nowhere with this (which is highly likely), at least I'm learning a lot.
    [hr]

    Please let us know how you go :)


    I hope I didn't send you on a wild goose chase with that, but it seems plausible to me that you'd need to have some basic structure in place on the SD card. When I get some time, I'll see what kind of progress that I can make, but don't expect much. Seems like the boot.ini (guessing here) wouldn't stop you from getting something out of it. Do you have any way to connect to the "console" serial port on the board? If the kernel begins loading, there might be some signs of life visible there without the HDMI working.

    I'm looking forward to seeing if you guys make any progress with this. I'm so busy with life things right now that I don't have time to play with it, maybe tonight or tomorrow I will be able to find some time. I found another SD card (so I don't have backup or wipe my Ubuntu install), so I at least have something to use for OpenELEC tinkering.


    I had a go at building that branch (with ARCH=aarch64).
    It appeared to build successfully, giving me an image with boot.ini, KERNEL and SYSTEM. (I'm not sure if we don't need INITRD and meson64_odroidc2.dtb as well).

    Unfortunately after dd'ed to a microSD, it wouldn't progress beyond uboot (solid blue LED).
    Beyond this, I'm a bit out of my league, but will keep trying a few things towards any sort of improvement.

    Did you just dd the .img file straight to the flash card? I'm no expert, but I'm thinking that you might have to do a little more work on the SD card first, such as creating partitions and loading information into them. Maybe this will help, though I'm not sure that it is exactly right for ARM:
    Manual Installation - OpenELEC

    I'm really excited about my new C2 and would love to see OpenELEC running on it. If I can do anything to help, let me know.