Installing KA Lite on Inovato Quadra device

I realise that using KA Lite is now somewhat redundant and that Kolibri is the preferred approach, however we have a large number of OLPC XO laptops in use that do not work well with Kolibri (poor screen presentation due to limited browser capabilities), but which work perfectly with KA Lite.

We want to use the Inovato Quadra device as a classroom micro server for KA Lite.
We are already using these devices for Kolibri and they work quite well.
The device uses a H6 ARM processor with 2GB of RAM and has a similar capability to an RPi3 and runs Armbian Debian Bullseye 64bit operating system.

We have encountered a problem with installation of KA Lite. We are using the “deb-bundle-installer-0-17” download.
The package requires Python 2.7 which is not installed by default, however the apt install process picks up the required dependency and installs the various Python 2.7 components.

The installation process then proceeds to completion without any issues, however when accessing the KA Lite web page for the first time, it is just a text page - there are no graphics present.

The usual pop up window to set up the administrator account does not appear, so it is not possible to progress with the set up process.

I have run the exact same installation process on a Ubuntu laptop and it works perfectly.

I suspect it is probably something basic like a files permissions issue, or perhaps a problem with a missing Python component.

Anyway, and help and advice is greatly appreciated.

Thanks in advance.

Hi @tgillett,

I don’t know exactly what might be happening here, but your description makes it sound like the static assets are not getting loaded - that is the HTML page is loading, but then the Javascript and CSS are not being properly loaded. I don’t know what might be causing this, but checking to see if this is the case would be the first thing to look at.

You should be able to use the Network tab in a browser’s debugging tools when you load a page to see whether the Javascript and CSS files are loading as intended, or if they are giving errors or some sort. I think issues with file permissions when the server is trying to serve the files, seems the most likely but let’s see what errors are happening.

Kind Regards,

@richard Thanks for the prompt response.
What you say about the static resources not loading is correct as the logo .png images are not loading and the alt text is being displayed.
I will look into it as you suggest and post back what I find.
I am travelling till the end of the week so it will be a couple of days till I get access again.

The server log showed 404 errors for the static content, as you suggested.

I had a look at the ~/.kalite/httpsrv directory on the working Ubuntu installation and compared it to the same directory on the Quadra device and found that it was present, but empty, except for one directory srt which was empty on both devices.

So I copied the contents from the Ubuntu installation to the Quadra installation and then the web page loaded correctly.

No idea why the Quadra installation failed to install the contents of httpsrv directory.
More investigation required.
Any ideas welcome.

However it is not a showstopper for me as I plan to make an image from a working device and use that to make SD cards for other Quadra devices.

Thanks for your help with this.


No worries, glad it was an easy fix! I don’t know how much more help I would have been, as it has been many years since I have touched KA Lite.

One thing that I would like to do with the KA Lite installations is to trim back the menu somewhat.

Our usage with the XO Laptops is for early primary students who only need to access a small part of the extensive menu.

The default menu is very busy particularly on the small screen devices, so it would be good if we could make unnecessary items not appear in the menu.

Can you give me any pointers on how the menu is created so we can have a look at possibilities for trimming it please?

I realise that the menu is dynamically expanded when videos are downloaded, so I guess the menu is driven from the database at least in part.

Any advice is greatly appreciated.


HI @tgillett,

Yes, it is driven by the database. The main reason the menu never gets smaller for the most part is that we load all the exercise data at once (it’s prebundled for English and is included in the language packs). Probably the easiest way to handle this would be to directly edit the content database that you can find at a specific file path (defined here ka-lite/ at master · learningequality/ka-lite · GitHub).

To directly edit it, you might want to use something like to just browse the DB and delete the topics at the level of the menu that you don’t want to appear. I think that will be the simplest way.

Kind Regards,

@richard Many thanks for that info. I will take a look and see if I can trim the menu a bit.


I am wondering if there is a way of copying KA Lite content (ie the downloaded videos) from one device to another in order to avoid having to download all the content repeatedly to set up multiple devices?

I am running KA Lite on a Single Board Computer under Debian and the whole system runs from an SD card.
I can browse the file system on the SD card on my Ubuntu laptop and see all the content files.
So one possibility might be to copy files from one SD card to another.

Any thoughts and advice appreciated.


Hi @tgillett - that definitely seems workable. The main thing is making sure that after the files are copied, that the ‘annotation’ of which files are available is updated. The easiest way to do this might be to just prep one SD card with everything in the correct state, and then clone it - which I think is what you had been planning to do previously.

Hi @richard

After trying a few approaches, I am going with building up a working system with KA Lite content loaded, then taking an image of the SD card which is then used to make further cloned cards.

The total data runs to around 100GB, so it takes around three hours to make a clone card with the Etcher application.

The process seems to be reliable, even with such a large data size.