Rockbox Technical Forums
Rockbox General => Rockbox General Discussion => Topic started by: CharlieSummers on November 23, 2011, 06:48:49 PM
-
I read the manual, checked FAQs, searched the forums, and didn't find the answer...
I have one device set up the way I want it. I have four other devices in the same family (two are identical, two are a different version of the device) I want set up the same; same themes, same settings. Is there a simple way to do this within the Rockbox Utility, or an easy way to copy themes (which appear to have pieces spread out all over the filesystem) and settings (which seem pretty straightforward) to a group of devices?
-
Save the settings on one player and use that same .cfg file on the other players.
-
Thanks for the reply!
Save the settings on one player and use that same .cfg file on the other players.
Yes, as I mentioned that seemed pretty straightforward, but that doesn't help with themes - I need the theme collection to be placed on all of the devices as well. And they seem to have pieces all over the place.
-
The themes come in a zip archive. You can download it and extract it to each player and everything will end up where it belongs.
Rockbox Utility is also a convenient way of downloading a set of themes to a given player.
-
Rockbox Utility is also a convenient way of downloading a set of themes to a given player.
No, it really isn't.
If you have one player, picking and choosing from a lengthy list of themes while patiently waiting for the thing to pull the previews is fine - it's how I set up the original device. But I now know which themes need to be on all the players, and option-clicking on that list in the Utility for each player would be a royal pain. Perhaps if the Utility allowed for storing "favorites" it would be a convenient way to load four additional players with the same themes, but as it stands it is probably the least efficient way to set up multiple devices identically. I understand it was never designed for multiple-device synchronization, which is why I discounted it as a method pretty quickly.
Also remember I need an efficient way to quickly reload the theme/config sets when one of the target users (who are not at all computer-literate) trashes the main theme or sets the font size to something too small or large to read.
(*sigh*) I may just try creating a folder containing the backdrops/doom/fonts/icons/rocks/themes/wps folders from the "master" device along with config.cfg and see if that gets everything...if it does, I can write a shell script or bat file to auto-reload. Because there are two different hardware revisions, I can't just drop the entire .rockbox folder, darnitall.
Edit: Ok, first big mistake, including the rocks folder. The files therein are clearly hardware-version-dependent.
-
Hmmmmmmmmm, this is stupid but I think it's the most "logical" thing to do :P
1) Download all the themes you want from the "downloads -> themes" in the mainpage
2) Extract them (they already have folder structure in the zip starting from the ".rockbox")
3) Copy any config file(s) from the "master" player to the ".rockbox" folder structure you extracted the themes to
3) Copy that ".rockbox" folder to the players
I don't see how it can be any easier or simpler. Am I missing something? ???
-
Am I missing something? ???
Yes. There are two different hardware versions of the same player, so I can't copy the entire .rockbox folder (the kernal and binaries are different for the two hardware versions). Also, the setup is already accomplished on one of the players, so re-downloading and extracting the themes I've already installed to the "master" device seems an unnecessary step.
Other than the blunder of copying the /rocks/ folder (binaries incompatable between hardware versions), maintaining a folder containing the /backdrops/doom/fonts/icons/themes/wps folders and .cfg file copied from the "master" device (the one I already configured) and dropping that into the slave's .rockbox folder with cp -Rf seems to be working, although I haven't had a lot of time to test everything out to see if I broke anything else. Also haven't had time to write auto-updater scripts, but hey, it's the night before a holiday here in the U.S.
-
Am I missing something? ???
Yes. There are two different hardware versions of the same player, so I can't copy the entire .rockbox folder (the kernal and binaries are different for the two hardware versions).
Hes not talking about the firmware, but rather the theme files. They're not machine dependent, aside from assumptions about screen size.
-
Hes not talking about the firmware, but rather the theme files. They're not machine dependent, aside from assumptions about screen size.
Yes, I know. If you continue reading that same paragraph, you'll note I expanded, "Also, the setup is already accomplished on one of the players, so re-downloading and extracting the themes I've already installed to the 'master' device seems an unnecessary step."
He suggested I create a .rockbox folder that contained the theme files by downloading them again from the Net. I first explained why I couldn't just throw the entire .rockbox folder at the "slaves," then why I didn't think spending time re-downloading and manually extracting was the most efficient way since I already had them sitting there.
-
I first explained why I couldn't just throw the entire .rockbox folder at the "slaves," then why I didn't think spending time re-downloading and manually extracting was the most efficient way since I already had them sitting there.
Then copy them from the existing player? I'm not even sure what you're asking?
-
Yes, I know. If you continue reading that same paragraph, you'll note I expanded, "Also, the setup is already accomplished on one of the players, so re-downloading and extracting the themes I've already installed to the 'master' device seems an unnecessary step."
It might be unnecessary but downloading a couple of kiB is for sure way faster than (a) discussing the issue for hours and (b) writing a script to do the trick for you.
There's also no need to do the unzipping manually, just create a "themes only" installation to any FAT32 drive that does not contain Rockbox (it doesn't need to be an actual player). Then copy the resulting .rockbox folder on top of each player.
If you want to write a script you can parse rbutil.ini, which contains all installed files and their version / timestamp values. Just ignore the values and grab the files that are present in the correct section. Should be pretty simple with a couple of lines Python / Perl / whatever.
-
It might be unnecessary but downloading a couple of kiB is for sure way faster than (a) discussing the issue for hours and (b) writing a script to do the trick for you.
Downloading or not, I still need to write the shell script to do the copy efficiently (I know it's an anachronism, but in un*x I prefer using the console to X), and since I already have the master unit set up, it makes no sense to me to re-download or reinstall the themes that are already sitting there on the master device.
There's also no need to do the unzipping manually, just create a "themes only" installation to any FAT32 drive that does not contain Rockbox (it doesn't need to be an actual player). Then copy the resulting .rockbox folder on top of each player.
Or I could just copy the already-existing folders listed above (/backdrops/doom/fonts/icons/themes/wps) and .cfg file from the master device to any directory in the host computer's filesystem, and use a really simple shell script to copy that to the slaves. Which is the path I chose as noted in my previous posts.
But you're right, I am wasting considerable time typing about it, as frankly it takes more time to repeatedly explain the simple process I chose than the process itself takes - plug in the slave, wait for mount, type the script name (./rockconf since I'm not real imaginative) which before exiting umounts the device, and repeat as necessary, all from the console.
I initially asked if there was a simple existing way to bulk-install the same system configuration to multiple devices; it's clear from the responses there is not. This is why everyone who has responded has come up with some process outside the existing tools...I simply chose one that was a little less work than anyone else suggested.
So with my thanks to the responders, I'm finished with this.