noobs icon indicating copy to clipboard operation
noobs copied to clipboard

Lakka RasPi issue

Open bdspvl opened this issue 6 years ago • 40 comments
trafficstars

Hello all new user on GitHub! Have an issue that started yesterday, Doing a now boot SD card for Pi and found out with Noobs, the Lakka RP2 DIY Retro emulation console has error and no download. Found out the download area is no longer there. Does anybody have a copy of the files and if so tell how to do a manual install without NOOBS? Or better still notify whoever to rebuild the site for downloading?

bdspvl avatar Sep 05 '19 23:09 bdspvl

Appears to be the same as https://github.com/libretro/Lakka-LibreELEC/issues/769 (i.e. none of the Lakka downloads are working?)

lurch avatar Sep 05 '19 23:09 lurch

I don't know for sure. It was working over the weekend. Was busy moving up to a 30 gig sd card when I noticed it. Thought something was wrong with the SD card at first. Reformatted ok. Today looked at link and nothing is there! Are there any backup locations on the net that anybody knows of? Makes me think I should of made an image copy.. darn! Put a note out to see if anybody has a new install copy!

https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon Virus-free. www.avast.com https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

On Thu, Sep 5, 2019 at 4:33 PM Andrew Scheller [email protected] wrote:

Appears to be the same as libretro/Lakka-LibreELEC#769 https://github.com/libretro/Lakka-LibreELEC/issues/769 (i.e. none of the Lakka downloads are working?)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/raspberrypi/noobs/issues/554?email_source=notifications&email_token=AFHZPWTEM33I2NN4KNSMEZ3QIGJK7A5CNFSM4IUDNBF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6BIAGY#issuecomment-528646171, or mute the thread https://github.com/notifications/unsubscribe-auth/AFHZPWVNSETSFWBLLTZ3CATQIGJK7ANCNFSM4IUDNBFQ .

bdspvl avatar Sep 06 '19 00:09 bdspvl

@kivutar

XECDesign avatar Sep 06 '19 12:09 XECDesign

Lakka removed from os_list.

XECDesign avatar Sep 09 '19 16:09 XECDesign

@natinusala

kivutar avatar Sep 10 '19 10:09 kivutar

We had an internal issue that caused all our images to be removed from the build server - we are currently working on releasing Lakka 2.3. I will let you know when the files are back online, sorry for the trouble

natinusala avatar Sep 10 '19 10:09 natinusala

Thank you

XECDesign avatar Sep 10 '19 11:09 XECDesign

Okay, the regular images are back online.

We have three different NOOBS archives: one for RPi, one for RPi2 and 3 and one for RPi4

Should I upload all three? How do you want to proceed?

natinusala avatar Sep 18 '19 21:09 natinusala

All three would be alright.

XECDesign avatar Sep 18 '19 22:09 XECDesign

Sorry I'm unfamiliar with how NOOBS gets the files, I have to extract all the files of the archive to a webserver right? Or upload the whole archive as it is?

natinusala avatar Sep 18 '19 22:09 natinusala

You can use libreelec as a template. Look at their section here http://downloads.raspberrypi.org/os_list_v3.json

        {
            "description": "LibreELEC is a fast and user-friendly Kodi Entertainment Center distribution.",
            "icon": "http://releases.libreelec.tv/noobs/LibreELEC_RPi/LibreELEC_RPi.png",
            "marketing_info": "http://releases.libreelec.tv/noobs/LibreELEC_RPi/marketing.tar",
            "nominal_size": 1024,
            "os_info": "http://releases.libreelec.tv/noobs/LibreELEC_RPi/os.json",
            "os_name": "LibreELEC_RPi",
            "partition_setup": "http://releases.libreelec.tv/noobs/LibreELEC_RPi/partition_setup.sh",
            "partitions_info": "http://releases.libreelec.tv/noobs/LibreELEC_RPi/partitions.json",
            "release_date": "2019-05-04",
            "supported_hex_revisions": "2,3,4,5,6,7,8,9,d,e,f,10,11,12,14,19,0092",
            "supported_models": [
                "Pi Model",
                "Pi Compute Module Rev",
                "Pi Zero"
            ],
            "tarballs": [
                "http://releases.libreelec.tv/noobs/LibreELEC_RPi/System.tar.xz",
                "http://releases.libreelec.tv/noobs/LibreELEC_RPi/Storage.tar.xz"
            ]
        },

We just need to be able to reach each of the files os_list references. So I'd expect to see a file structure that looks like this http://releases.libreelec.tv/noobs/

XECDesign avatar Sep 18 '19 22:09 XECDesign

Okay thanks for the info

Do the three versions need to have a different os_name, or can the three of them be Lakka?

natinusala avatar Sep 19 '19 08:09 natinusala

I think it's probably best to give them a different name, in case somebody e.g. wants to use the same SD card on both a Pi1 and a Pi3? (and I've not checked the code, so I dunno what NOOBS would actually do if it did find multiple OSes with the same os_name?)

lurch avatar Sep 19 '19 09:09 lurch

Okay then I will upload the images with the 2.3.1 release in a few days, sorry for all the fuss

I will let you know here when all the files are published and ready, I'll also give you the os_list.json entry for all variants if needed

natinusala avatar Sep 19 '19 09:09 natinusala

Here you go

{
    "description": "The DIY retro emulation console",
    "icon": "http://le.builds.lakka.tv/noobs/Lakka_RPi4/Lakka_RPi4.png",
    "marketing_info": "http://le.builds.lakka.tv/noobs/Lakka_RPi4/marketing.tar",
    "nominal_size": 1024,
    "os_info": "http://le.builds.lakka.tv/noobs/Lakka_RPi4/os.json",
    "os_name": "Lakka_RPi4",
    "partition_setup": "http://le.builds.lakka.tv/noobs/Lakka_RPi4/partition_setup.sh",
    "partitions_info": "http://le.builds.lakka.tv/noobs/Lakka_RPi4/partitions.json",
    "release_date": "2019-09-20",
    "supported_hex_revisions": "",
    "supported_models": [
        "Pi 4"
    ],
    "tarballs": [
        "http://le.builds.lakka.tv/noobs/Lakka_RPi4/System.tar.xz",
        "http://le.builds.lakka.tv/noobs/Lakka_RPi4/Storage.tar.xz"
    ]
},
{
    "description": "The DIY retro emulation console",
    "icon": "http://le.builds.lakka.tv/noobs/Lakka_RPi2/Lakka_RPi2.png",
    "marketing_info": "http://le.builds.lakka.tv/noobs/Lakka_RPi2/marketing.tar",
    "nominal_size": 1024,
    "os_info": "http://le.builds.lakka.tv/noobs/Lakka_RPi2/os.json",
    "os_name": "Lakka_RPi2",
    "partition_setup": "http://le.builds.lakka.tv/noobs/Lakka_RPi2/partition_setup.sh",
    "partitions_info": "http://le.builds.lakka.tv/noobs/Lakka_RPi2/partitions.json",
    "release_date": "2019-09-20",
    "supported_hex_revisions": "1040,1041,2082",
    "supported_models": [
        "Pi 2",
        "Pi 3"
    ],
    "tarballs": [
        "http://le.builds.lakka.tv/noobs/Lakka_RPi2/System.tar.xz",
        "http://le.builds.lakka.tv/noobs/Lakka_RPi2/Storage.tar.xz"
    ]
},
{
    "description": "The DIY retro emulation console",
    "icon": "http://le.builds.lakka.tv/noobs/Lakka_RPi/Lakka_RPi.png",
    "marketing_info": "http://le.builds.lakka.tv/noobs/Lakka_RPi/marketing.tar",
    "nominal_size": 1024,
    "os_info": "http://le.builds.lakka.tv/noobs/Lakka_RPi/os.json",
    "os_name": "Lakka_RPi",
    "partition_setup": "http://le.builds.lakka.tv/noobs/Lakka_RPi/partition_setup.sh",
    "partitions_info": "http://le.builds.lakka.tv/noobs/Lakka_RPi/partitions.json",
    "release_date": "2019-09-20",
    "supported_hex_revisions": "2,3,4,5,6,7,8,9,d,e,f,10,11,12,14,19,0092,0093"
    "supported_models": [
       "Pi Model",
       "Pi Compute Module",
       "Pi Zero"
    ],
    "tarballs": [
        "http://le.builds.lakka.tv/noobs/Lakka_RPi/System.tar.xz",
        "http://le.builds.lakka.tv/noobs/Lakka_RPi/Storage.tar.xz"
    ]
}

natinusala avatar Sep 20 '19 18:09 natinusala

I just left nominal_size at 1024 because I don't know what it refers to

natinusala avatar Sep 20 '19 18:09 natinusala

IIRC it's the sum of the partition_size_nominal values in partitions.json ? (which the NOOBS GUI uses to decide if there's enough free space on the SD card to install the OS)

lurch avatar Sep 21 '19 20:09 lurch

Then 1024 is correct

natinusala avatar Sep 21 '19 20:09 natinusala

@natinusala Please could you add the following to each of your OS entries for better support in PINN:

        "url": "http://www.lakka.tv/",
        "group": "Games",
        "supports_backup" : true,
        "download_size": XXXXX,

Where XXXXX is the sum of the filesizes (in bytes) of system.tar.xz and storage.tar.xz for each OS respectively.

procount avatar Sep 23 '19 08:09 procount

@procount done!

natinusala avatar Sep 25 '19 09:09 natinusala

Should be in os_list_v3.json now

XECDesign avatar Sep 26 '19 13:09 XECDesign

Excellent, thank you very much

natinusala avatar Sep 26 '19 13:09 natinusala

@bdspvl Would you like to test this, and close this issue if it's fixed?

lurch avatar Sep 26 '19 13:09 lurch

Trying to test it, but the server seems a little slow.

XECDesign avatar Sep 26 '19 13:09 XECDesign

@natinusala - Thanks for adding the extra fields for PINN. Could they be added to the entries in os_list_v3.json too? (In fact, the download_size entry only makes sense in os_list_v3.json and can be deleted from os.json, but it's not essential.) Maybe @XECDesign could assist?

procount avatar Sep 26 '19 14:09 procount

Manually updating download_size in os_list_v3.json each time isn't something I'm keen on.

XECDesign avatar Sep 26 '19 14:09 XECDesign

download_size entry only makes sense in os_list_v3.json

Does that imply the other entries make sense in os.json? What's the difference in how they're handled in the two files?

XECDesign avatar Sep 26 '19 14:09 XECDesign

@procount Just a suggestion, but I wonder if you could modify PINN to work out the (total) size of the download tarballs using http HEAD requests?

lurch avatar Sep 26 '19 14:09 lurch

Does that imply the other entries make sense in os.json?

Yes.

What's the difference in how they're handled in the two files?

os_list_v3.json contains just enough meta-data for "remote" OSes on a server to be displayed in NOOBS/PINN and downloaded. For these OSes, os.json is not actually used. When the OS is stored locally on the SD card (like in NOOBS-FULL) or on the USB stick, there is no os_list_v3.json, so os.json is used instead. (Partitions.json is used for both local and remote OSes.) I don't know why it is like that, it's before my time! So the extra fields need to be in both files.

"download_size" is only used for progress indication, and does not have to be accurate, although it does help. So you don't need to update it every time. In any case, I can override it if it gets too far out of step with each update.

But on a new release of an OS, you have to update the OS entries in os_list_v3.json anyway (release date, version, description maybe), so what is the difference if the maintainer can update this field? You just need to cut n' paste the whole OS entry into os_list_v3.json.

@Lurch, in fact PINN already does calculate the download size for each OS, but only if the download_size field is not present. It takes a relatively long time to calculate it for 60-ish OSes, so it slows the startup time down. This was a way of caching the data to speed it up. Likewise I cache the OS icons to speed up the startup.

procount avatar Sep 26 '19 14:09 procount