RACHEL-Pi Image for Raspbian Stretch

@SHOMI you’re welcome. I think the RACHEL project is great and wanted to help so it’s my pleasure. Thank you for the feedback on the setup. I’m happy it’s mostly working for you, especially with an SSD.

I suspected most of the Khan Academy modules would be an issue because they run a script after the files are downloaded and that looks to be what happened here. I believe that script is intended for the RACHEL-Plus systems and that is why it exited but I don’t have a copy of it to see. The download of that module will take 10 hours for me. Would it be possible to screenshot or upload that script somewhere so I can try to fix it? it’s in /var/www/modules/fr-kolibri-channel-khan-academy/finish_install.sh. If you connect your pi to a monitor and log in with username “pi” and password “rachel” and run this command “sudo cp /var/www/modules/fr-kolibri-channel-khan-academy/finish_install.sh /boot/finish_install.sh” it will move it to the boot drive so you can access it on windows if you plug the SSD into a windows PC to make it easier. If you’re not sure how to do that I can download the full module but it will take some time.

The screenshot above the rachel one is of Kiwix which is for Wikipedia. The KA-Lite management interface should hopefully be at Have you tried Wikipedia yet? I’m curious if that runs too.

1 Like

The Kolibri packages are run by that team and right now ONLY work on the RACHEL-Plus devices (though you could definitely configure the Pi to handle them also). Here’s the finish_install.sh for the kolibri packages:

>   GNU nano 2.5.3                                                                           File: finish_install.sh
> #!/bin/bash
> # change to the module directory
> cd "$(dirname "$0")"
> # since content will be temporarily unavilable, and we'll be using the database, safest to stop Kolibri during this process
> service kolibri stop
> # create the symlinks to connect the content in this module into the main content directory
> python establish_content_symlinks.py
> # if versions have changed on existing channels in the database, delete as needed to trigger a re-import
> for database in content/databases/*.sqlite3; do
>     channelid=$(echo "SELECT id FROM content_channelmetadata;" | sqlite3 $database)
>     echo "Checking whether channel $channelid has changed..."
>     newchannelversion=$(echo "SELECT version FROM content_channelmetadata;" | sqlite3 $database)
>     oldchannelversion=$(echo "SELECT version FROM content_channelmetadata WHERE id = '$channelid';" | sqlite3 /root/.kolibri/db.sqlite3)
>     if [ "$newchannelversion" != "$oldchannelversion" ]; then
>         echo "\tAttempting upgrade to channel version $newchannelversion..."
>         echo "
> try:
>     from kolibri.core.content.utils.channel_import import *
>     from kolibri.core.content.utils.annotation import *
> except ImportError:
>     from kolibri.content.utils.channel_import import *
>     from kolibri.content.utils.annotation import *
> channel_id = '$channelid'
> import_manager = initialize_import_manager(channel_id)
> import_manager.import_channel_data()
> import_manager.end()
> set_availability(channel_id)
>         " | kolibri shell
>     fi
> done
> # start things back up again
> service kolibri start
1 Like

Thanks for the info Jeremy. Is it okay to try and get them working? I don’t want to step on any team’s toes with this. I think I’ll have to download the whole package to do it as well as it seems more involved than I thought.


I ran the command finish_install.sh, the site will not allow the file to upload.
I have downloaded 5 of the wiki modules. The 34gb Wikipedia seems to be working fine. The others: wikilivres, wikisource, wikiversity and wiktionary all loaded but most of the content links just show up as text.

I also tried the ka-lite management interface, but I am not sure what the login credentials are.

I have a spare 120gb ssd that is already duplicated with most of the French modules that I can send to you at no cost if you want to take a look at and use for testing. No return necessary.



This is a list of what is installed at the moment. I downloaded quite a few to test them out and see what would work best for the first round. The Rachel PI for my team is a starting point and to gauge if it is successful or not. If this turns out to be successful, we plan to upgrade from 12 desktops to 30 for a full class and go with the Rachel Plus. The Rachel PI will then be moved to the next school, etc, etc.

Thanks again to the World Possible team and to you jamesk for the work you have put in behind the scenes for folks like us to be able to go out and provide much needed resources.

Rachel_Pi sys swInstalled modules

Thanks for the feedback and offering to send the 120GB SSD Don. I think I should be able to manage fixing everything without it but I appreciate the offer. It sounds like you’re doing a lot of good work in Haiti and I’m happy to help in any way I can. I think your plan of upgrading to a Rachel-Plus system will be the best route for 30 users and the raspberry pi servers are a great starting point to get people introduced to rachel.

I was able to download the hi-kolibri-channel-khan-academy yesterday to start testing what was wrong. It looks like Kolibri completely replaces the ka-lite server so the rachel image should be updated to include it instead. I managed to install Kolibri and get it running but the rachel-index.php of the Hindi module is empty so I can’t tell if the module’s links work inside of the rachel interface. I think the others should be okay if they’re not empty. The Kolibri server works but it seems some files to make it start automatically are not installed during the installation process so I am making sure everything is correct and then I’ll write a quick script to fix your image and upload a new image when it’s working.

If you would like to test installing Kolibri in the meantime this is the process I used.

  1. “sudo apt-get install sqlite3”
  2. “sudo pip install kolibri --pre --no-cache-dir”
  3. “sudo kolibri start” ( this may take a minute. It acts like a setup command )
  4. “sudo kolibri stop” ( make sure to do this after the start command is finished )
  5. “cd /var/www/modules/fr-kolibri-channel-khan-academy”
  6. “sudo sh finish_install.sh” ( this will error trying to start the service at the end but it should be okay )
  7. “sudo kolibri start”

It should work after this but it may need a reboot. The installation doesn’t set up to start the kolibri service automatically so you will have to type “sudo kolibri start” when your pi starts up for kolibri to run until I can make sure my fixes for that are correct. Kolibri should then be at and will have a setup process when you first log in.

I am not sure if ka-lite being on the pi will conflict with kolibri, but to be sure you can use the command “sudo pip uninstall ka-lite-static” and if it remains after that “sudo kalite stop” to stop the service.

I have downloaded fr-wikivoyage and fr-wikiversity and will begin looking at those when I have Kolibri fixed. Thank you again for the feedback. It’s very helpful.



I followed the above commands and they did run. I logged into Kolibri @ and setup an account. I was able to download the 9Gb for the course. I then did an export and it allowed me to make a class and assign people, but I was not able to actually see the material. I also ran sudo pip uninstall ka-lite-static and no change in showing the content.

I will say all in all, kolibri is a minor issue seeing that a majority of the content is working great and KAOS runs fine.

Thanks again for your work.



Thank you. I was directed to a better way to install Kolibri for the Raspberry Pi by asking the Learning Equality developers. It is more proper than the method I posted above. Sorry for that. After some changes to their method I have Kolibri running and starting up properly at system start which might fix these issues. I was planning to upload it today but I am just looking into the issues with the French Wikiversity and Wikivoyage modules to see what is going wrong. It looks like a file that is supposed to run at startup that finds wikipedia zim files in the modules directory is either not running or not working. Once that’s done I’ll put a new Kolibri image up as soon as possible.


1 Like

Hi James, I would like to make your image available to all the schools we work with in Southern Province, Zambia. Would it be ok with you if we hosted the image rachel_pi_10_18_18.7z on our server at giakonda.org.uk

Hi Howard, That sounds great! Anything I work on here is open for anyone to use so feel free to share it. All of the code belongs to the RACHEL team and I don’t represent them, but I believe the RACHEL project is also open for anyone to use. If anyone has questions or problems feel free to direct them to me and I’ll try my best to help them. This is all still in the testing phase but I believe it is stable.

I am uploading a new image today that includes Kolibri instead of KA-Lite. You might be interested in that as I think Kolibri replaces KA-Lite. I will also be uploading an image that supports both soon too. I would love to hear if Kolibri works for you.


Hi James
Where can I find the Kolibri image you are uploading please

Hi Howard, I am in the process of uploading it now. It will be finished in about 2 hours. I will give you a direct link when it’s complete.

Hi Howard, I have updated the post with a link to the new image as well as a readme pdf for instructions. The direct link to the image is rachel_pi_kolibri_10_30_18.7z. I hope this works for you. The ReadMe has some important instructions on how to install Kolibri content. I have not tested setting up courses so please let me know if you have any issues. KA-Lite is also not included in this image. I will be putting one up that has both soon.

Hi @SHOMI, I thought I would let you know that I have updated my post with a new Kolibri Image. The ReadMe file also includes a fix for Wikipedia modules that don’t load.


 I installed the kolibri image and it is working now. 

I am able to import the channels, setup an admin and user accounts. I am able to run the channel content fine.

I downloaded fr-wikibooks and fr-wikiversity. The RPI was rebooted and the wikiversity was still showing an error using and the module. I will recheck Wednesday to see what they are actually showing and recheck against your document.

Thanks for trying it out. That’s good news about Kolibri working. For Wikipedia modules the link that you need to go to is the direct link for that module. For example, “” for fr-wikiversity. Once on that page hit the refresh button in your browser and it should be loaded. I’m still trying to track down why this isn’t automatic but it should work for now.


I had the Kolibri system running for a while and when I tried to download the Wikipedia FR it stalled and somewhere in there the system locked up. I attached the screenshots I was able to get. I also have the orig version RACHEL Installer piOS-2018.10.18 , Content Shell v2.3.9 you posted here and so far it is running good. It did do an update but removed the restart/ shutdown button. The following are running good on it : Wikilivres. Wikipédia, Wikivoyage, and Wikipedia pour les écoles. Due to a family issue that came up Tuesday night, Ive not had a chance to try the other version without Kolibri you posted, but plan on that today.

Thanks again for your work on this project.


. Capture _2018-11-02-13-01-411102181107

You’re welcome Don. Sorry to hear about the family issue. I hope everything is alright.

On the device that is showing the errors did you update through the admin interface or was it Kolibri that updated? If it was RACHEL the problem could be that the changes I’ve made for the Raspberry-Pi are not reflected in the RACHEL-Plus content shell if it’s syncing and updating to a different content shell. The shutdown/restart button missing makes me think this is the problem as I had to fix the same issue before Unless they reflect my changes that fix the admin interface on the pi, the content shell shouldn’t be updated. Sorry I should have mentioned that. I have tested the “check version” button and it doesn’t seem to update, but I believe they are working on some fixes for a bug people were reporting so that might be it if there’s a new version out.

Your error output matches a bug known to happen with SSDs and Linux kernel 4.10 which I’m reading about. It looks like there are multiple settings that could help, but the one most likely culprit is discussed here this link and the last comment gives the following instructions.

  1. Make sure the file /boot/config.txt has the value “max_usb_current=1”
  2. Run the command “sudo sysctl net.ipv4.tcp_early_retrans=0”

/boot/config.txt can be accessed if you plug the SSD into a windows PC as /boot is accessible in Windows. You can edit it in linux by doing the following.

  1. “sudo nano /boot/config.txt”
  2. Change the setting for max_usb_current to 1
  3. “CTRL + X, Y, Enter” to save the changes.

I hope this helps. If not I will dig further into the problem. Unfortunately I don’t have an SSD to test with right now. Let me know how this goes.

Hello @jamesk
Finally got the Pi 3B+ to boot from microSD. It is however unable to boot from USB HDD

hi @airsay, what process did you use to flash the USB HDD and what happens when the it won’t boot? Is it just a black screen?