I have this issue on RPi with Kolibri under RACHEL. The RPi is set up as a server with no GUI so I can’t post screenshots.
Summary
Trying to import Kolibri content from a connected USB drive. The content was exported from a Kolibri Server running under Linux Mint.
I tried the following procedure suggested in another post: from the Kolibri docs
Changing the owner of Kolibri system service
The system service is the script that runs Kolibri in the background when your system boots on Debian-based distributions.
You may need to change the system service to run with the permissions of a different user account. Prior to v0.10, kolibri user account was the owner of the system service, while from v0.10 and later, desktop user’s account is preferred, in order for Kolibri to access the local USB storage.
To change the system service owner, you need to change the configuration of the system service: move the .kolibri data folder (containing channels, databases etc.), and assign owner permissions to the new user. Follow these steps.
# Stop Kolibri
sudo systemctl stop kolibri
# Move data to your desktop user:
sudo mv /var/kolibri/.kolibri /home/$USER/.kolibri
# Change ownership sudo chown -R $USER /home/$USER/.kolibri
# Change the username configuration sudo sh -c 'sudo echo -n $USER > /etc/kolibri/username'
# Start Kolibri again sudo systemctl start kolibri
Note
Replace the $USER in commands above with the name of the user you wish to be the new Kolibri system service owner.
(Sorry that the fonts above seem to have a life of their own!)
My user is pi
But the mv command didn’t work - it seems the folder was already under /home/pi - and now the Kolibri server won’t start.
Hello , @AndrewC
I am a bit lost with your problem because usually the Rachel configuration changes quite a lot the standard Kolibri setup. Reading the information you provided I guess you installed this: http://community.rachelfriends.org/t/2020-rachel-pi-images/1294
If that’s the case you should have ssh access to your RPi, could you plug the usb and attach here the kolibri logs available in the .kolibri folder?
Depending on how different the Rachel installation in a RPi is of a real Rachel device, your user might not be in the place the instructions you followed say (/var/kolibri/.kolibri or /home/$USER/.kolibri ) and it could be in /.data/RACHEL/.kolibri/
After reading the logs we might have more info to help you, or more steps to ask you to follow in order to find the reason of the issue. Also, being an installer provided by Rachel I would advice you to query in their forums, http://community.rachelfriends.org/c/support/rachel-pi/7 , as they know much better the setup they’re doing.
As a new user here I couldn’t repy in the other post but I have a new image for you to try at ftp://dev.worldpossible.org/rachelpi_64EN/rachelpi_2020/beta.7z . You may have to copy that link into your browser’s address bar to get it to download. It is a beta image so I haven’t tested it properly yet. Hopefully it fixes your issues. I think it should at least solve your no devices problem but I’ll have to look further if you still experience the slow speed issues. If it does I will release a proper one and if it doesn’t I’ll look into the issue more. Hope it works!
I’m pleased to say that your fix for the missing drives worked.
I can now import both from my SSD in a USB caddy and from my Linux Mint Kolibri server on the LAN.
A few general observations, if I may:-
After successfully importing 4 of my channels only two of them were displayed. I did a kolibri stop and then kolibri start on the server to see if it would fix it. Then none of them appeared (even with an F5 Refresh) and I got “Sorry, Kolibri is currently unavailable. Please try again later, or restart the RACHEL”. A complete reboot of the Pi fixed the issue but I am not sure why it occurred.
The USB drive needed to be manually mounted first using command line, else not visible.
The WiFi output from the RPi is disabled. (Perhaps you did that intentionally for testing?).
It would be great if a GUI option could be added to the build to help our less technical users find their way around, and for me to take screenshots if necessary. (I previously tried adding lightdm but failed miserably when I could no longer log in due to a bug in it.). Would that be possible?
Finally what would be the correct syntax to SSH onto the RPi from a terminal prompt in Linux? (You will gather I am not a Linux Guru!)
Ah yes sorry! “sudo rfkill unblock wifi” to have the wifi up again. I turn it off as it leaves an open connection with internet sharing. That’s great that the no drives issue is fixed! It was definitely the permissions issue from using the Kolibri user then. Are you using a Raspberry pi 2 or another one?
Sorry this is going to be a lot of text to reach all of your points.
The Kolibri installation is very straight forward so I’m not sure how to fix that first issue. I know that until you set up your facility there is a “stop job” on the system that stops the system from shutting down for 30 seconds or more on different pis so I recommend setting everything up first unless you did that already. I think starting and stopping Kolibri also takes quite a bit of time.
There was an issue with the usbmount package available in Raspbian where it remounted the “boot” and “rootfs” partitions that was very bad and since RACHEL doesn’t load USB content I left it out. I wrote a fix for this ( https://github.com/JamesKainer/usbmount ) and will add my fixed package to the image again today to see if this helps you.
If you’re looking at managing user’s desktops over the connection, I have definitely looked at this and for now the best way to do this is using VNC depending on their devices. You would just need to both be connected to the RACHEL server, have VNC enabled on their device, and know the IP assigned to their device then connect. That would give you full access to their system. I’ve thought about and implemented things to make this easier in my experimental buiilds like showing the user ip on the main page and I have implemented something called Apache Guacamole that lets the admin ( teacher in this case ) connect to any device connected to RACHEL in their browser and manage it, take screenshots, etc. These things would need to be tested a lot before deployment and are some time away. I maintain all of this as a volunteer and so the development process can be slow.
It is not really recommended to use a desktop GUI with the server itself because of how much it slows them down. The admin interface has most of the features an admin would need for basic RACHEL managment, but I have been working on an experimental build of RACHEL for a long time now that has a lot more features in the RACHEL admin interface like enabling/disabling wifi, showing connected users, etc etc.
Many thanks for your very detailed response. Our roll-out is on Model 3’s but I’m presently testing this on a 3B+ for its better performance. I’ll test again on Model 3 later.
Using my notations in the interests of brevity…
I won’t worry about the non-display since a reboot fixes it anyway.
Great if you can include your USB fix
It would be helpful if you could re-enable WiFi permanently on the deployment version. You will see one of our uses for this here and the User environment it is deployed in :- https://turingtrust.co.uk/home/our_work/solarberry/
VNC is a great idea. I have used it before but not with a Pi. But I hadn’t intended to leave it running anyway as it can usually be switched off in raspi-config.
Thanks for the pointer on SSH. I’ll read it up.
I’m very grateful for all your efforts. Look forward to seeing the new image.
You’re welcome and I’m happy to help. I am just shrinking the image so it should be up soon. Luckily I just upgraded my internet so this is much faster.
That’s great if the reboot fixes it. If you ever think it will be an issue I can look further at it if you provide me the data and steps you’re taking so I can repeat the bug.
I have just installed my usbmount package and mounted a device as a test which worked. I have also installed ntfs-3g and exfat-fuse for NTFS and exFat support.
Wifi should always be permanently enabled so it will be on in this next image. After looking, I’m pretty sure the issue was that on the Pi2 and Pi3 it automatically rfkills the wifi until the wifi country is set. I develop on a pi4 now and set the country, but for some reason it seems I still have to boot the image up on a 2 or 3 and unblock it. I have manually unblocked it on a pi3 now so it should work instantly.
@giakonda and @SHOMI on the RACHEL forums do deployments with Raspberry Pi’s as desktops and a RACHEL-Pi server. I think they have have mentioned using VNC so you may be interested in talking with them and especially @giakonda as Giakonda do solar deployments through https://www.giakonda.org.uk/
If you have any questions about ssh or anything else let me know.
I am just looking at https://turingtrust.co.uk/ and when I get a chance I will read through all of it. Alan Turing is someone I’ve always looked up to and what I’ve seen so far is absolutely amazing. .
I got VNC working. Had to download and install lxsession and now I have a remote desktop access which is great for debugging. Thanks muchly for that suggestion.
Also had a look at giakonda website. Amazing how many charities are working on the use of solar, RPi and RACHEL and not knowing about each other!
Don’t rush with the image as it is 2300hrs in UK and I’m off to bed.
USB devices should now automount to /media/usb0-11 which is the default set in /etc/usbmount/usbmount.conf. Hopefully Kolibri can see these but I can change those pathes if it can’t.
One critical issue I’ve noticed with Raspbian is that the system will not boot up if you have a USB device plugged in that is not the boot device. If you wait until you can access the RACHEL interface and then plug it in it should be fine and you will see it on the “hardware” page of the admin interface.
That’s great that VNC is working for you! I will likely catch up with this tomorrow as well. I’m in Vancouver Canada and always forget that I am talking to people around the world in different time zones .
Edit: Just an update to this. I have installed a Kolibri channel, exported it to a USB drive I plugged in that showed as /media/usb0, deleted the channel, and imported it from the device and it went well! Hopefully it works for you as well.
That Beta2 all works fine on my 3B+. I have successfully imported data today from both USB SSD and over the LAN - both quite quick. The largest data was Career Girls (29GB and that imported no problem over the LAN.
It even boots OK with the USB disk plugged in.
I have added SSH and VNC server support to my test build.
I will do some further testing this week including on a Model 3 and give you an update then.
Thank you for the feedback. I will go through my process of testing and hopefully release it as a new image soon but it will be the same as the beta2 so you shouldn’t need to redownload. If you have any more issues or suggestions that would help with your deployment I would be happy to look at them.
I don’t know if this comes under your remit but when you edit the Kolibri Channel Order (in Options) after importing resources it ends up sorted the wrong way up when you go to use it.
So if I edit to show resource packages in the order 1, 2, 3, 4, 5 for example it is displayed on the RACHEL Home screen in the order 5, 4, 3, 2,1.
And the failure to display what I have just imported until I reboot the server is just a little but irritating. Though I’m sure it worked when I first imported single channels and only had two of them. Does it update the index at some point and is missing doing that when you import a lot?
On the plus side Blockly Games seems to be working now so that might be just the newer version of Kolibri that fixed that
I’m still testing…
We’ve also tried to fix a number of issues where the order of channels have been inconsistent, but I’m not familiar with the “RACHEL home screen” you mention. Is this a list of Kolibri channels that is viewed outside of the Kolibri app? Would you mind sharing some screenshot with me?
The en-kolibri-index module found at http://oer2go.org/viewmod/en-kolibri-index is used to show Kolibri in the RACHEL user interface. The rachel-index.php file included in that is what you see on the main RACHEL page. It retrieves the channel listing from /api/content/channel/?available=true&format=json of the Kolibri server and displays it. It doesn’t look like the order is modified and it just relies on that json to display information.
Here is the requested screenshot. You will see that the Malawi Teachers Support Channel which I arranged to be first on the list is actually coming out 4th. I have since added Career Girls.
Thanks! There is actually a different API endpoint used inside the Kolibri channel page: /device/api/device_channel/, which I just confirmed does not match the output of /api/content/channel/?available=true&format=json after you manually reorder channels. So we can try to fix that on the Kolibri side to make the two endpoints have the same order.
When you see that one order is the reverse of the other, is that just a coincidence of how you manually ordered channels in Kolibri (after installing them), or is the RACHEL ordering always the reverse of the Kolibri ordering?