kidsoncomputers / kocifier

KoC scripts for customizing distributions
MIT License
0 stars 7 forks source link

Distribution detection #7

Closed thotmx closed 6 years ago

thotmx commented 7 years ago

Create functions for Ubermix & Raspbian.

Detect which distribution is used, and install the correct software.

Ubermix reference is on this repository. Raspbian: https://gist.github.com/nataren/010ef3af7fa502279d149167f70b59b0

nataren commented 6 years ago

Dev oriented task. Having two scripts might be the simpler way to go instead of a bunch of conditionals.

holta commented 6 years ago

Having two scripts might be the simpler way to go instead of a bunch of conditionals.

I was wondering the same. Going further, it might even be wise to have 2 different people nurture Ubermix & Raspbian initially, along the following lines:

https://github.com/kidsoncomputers/kocifier/blob/master/ubermix_packages

https://github.com/kidsoncomputers/kocifier/blob/master/raspbian_packages (does not yet exist, but probably should!)

nataren commented 6 years ago

Or if we use Raspbian Desktop for PC and Raspian for RPI then it is a single distro for both plaforms:

https://www.raspberrypi.org/downloads/raspbian/

https://www.raspberrypi.org/downloads/raspberry-pi-desktop/ (with support for installing on hard drive)

holta commented 6 years ago

Or if we use Raspbian Desktop for PC and Raspian for RPI then it is a single distro for both plaforms:

This was kinda vaporware until recently, but the timing looks excellent for us all to experiment with this now, as Raspbian Stretch for PC (2.2GB ISO) was just announced Dec 1st 2017 here:

https://www.raspberrypi.org/blog/stretch-pcs-macs-raspbian-update/ https://www.raspberrypi.org/forums/viewtopic.php?f=50&t=198934

Even if the actual release appears to be from 2017-11-16 herein:

http://downloads.raspberrypi.org/rpd_x86/images/rpd_x86-2017-12-01/

PS am cc'ing @georgejhunt just in case he or others have tried this?

georgejhunt commented 6 years ago

I downloaded the raspbian desktop, and installed it on a spare NUC.

Impressions: -Install process is not as hands-off as ubermix -- need to direct partitioning, hit enter a few times.

There are many labs with ubermix already installed. I question whether raspbinan desktop should be retrofitted on all the machines that already are running ubermix successfully.

thotmx commented 6 years ago

I like using 2 different files for packages. But maybe after some tests, we can have a common-packages files and extra files with packages that are required by a distribution.

ch1x0r commented 6 years ago

By default there are 1331 packages for Raspbian Desktop. I have the list > output.txt for installed packages for Raspbian.

https://github.com/kidsoncomputers/kocifier/blob/master/raspbian_packages (does not yet exist, but probably should!)

holta commented 6 years ago

By default there are 1331 packages for Raspbian Desktop. I have the list > output.txt for installed packages for Raspbian.

Great plz do post whatever you have ~ attachment here in GitHub or pastebin or whatev?

(Of course this list is a bit different on PC as compared to ARM/RPi — e.g. lacking Minecraft and Wolfram Mathematica on the PC side — where Raspberry Pi Foundation was not given a license!)

ch1x0r commented 6 years ago

Some of these are build and OS specific tools/apps/utils

Note: this list has 1334 (I installed mc and aptitude in my instance.) I could filter through this to find relevant user facing packages...

listRaspbian_12172017.txt

holta commented 6 years ago

I could filter through this to find relevant user facing packages...

Awesome if you get the chance!

UNRELATED ASIDE: Let's keep an eye on "PiServer" announced in the "New PC applications" section @ https://www.raspberrypi.org/blog/stretch-pcs-macs-raspbian-update/ on December 1st 2017 ...excerpt:

We have included a couple of new applications in the PC version. One is called PiServer — this allows you to set up an operating system, such as Raspbian, on the PC which can then be shared by a number of Pi clients networked to it. It is intended to make it easy for classrooms to have multiple Pis all running exactly the same software, and for the teacher to have control over how the software is installed and used. PiServer is quite a clever piece of software, and it’ll be covered in more detail in another blog post in December. ... Both of these applications are included as standard on the PC image, but not on the Raspbian image. You can run them on a Pi if you want — both can be installed from apt.

ch1x0r commented 6 years ago

I was looking over the packages here: https://github.com/kidsoncomputers/kocifier/blob/master/ubermix_packages

And I don't see why we couldn't add most if not all of these packages to Raspbian and create a custom iso.

As a test, I will add these to see size, time to install, the custom iso image, etc. I believe we can optimize a few things to reduce install time - however, I don't know how necessary that will be. I can test a side by side later, if you want. Using the same specs in a VM I can compare these after but really for now am going to test Raspbian.

  1. Add Packages listed above
  2. Test in VM

Size of image after packages added: Installation time: Reboot time:

Let me know if there are additional packages to add at this time.

Just testing later tonight...

ch1x0r commented 6 years ago

So, I took the Raspbian image and installed some of those listed ubermix packages.

Here are the results. I know... it's a spreadsheet ¯_(ツ)_/¯ but it seemed to be the simplest documentation solution at that time.

pkgs-Ubermix64_2_Raspbian-12232017.xlsx (have a *.ods if you need another format)

Included in the spreadsheet are:

pkgs-Ubermix64_2_Raspbian-12232017.xlsx

Still deeper would a short description of each software for users unfamiliar with these applications/tools/utilities.

installedDec23.txt Attached is a list of packages from dpkg --get-selections and FWIW (any free software folks), I did not add non free firmware pkgs. FYI. installedDec23.txt

PhirePhly commented 6 years ago

I don't understand the notation used on this spreadsheet. Is the highlighted lines on the first page the only packages not already installed on Raspbian? I thought many of the listed packages came stock on standard desktop Raspbian.

Most of the rest of the tabs look like edubuntu; how does Ubermix play into this? What's the top level packages we want to install on top of base Raspbian? Because many of these packages seem to be dependencies of other packages on the same list.

A dpkg --get-selections diff against the base install would be more helpful than the "installedDec23" full listing.

I don't think the non-free firmware package would do much since I think Raspbian already ships with all the needed non-free firmware for the Broadcom chipset?

ch1x0r commented 6 years ago

The highlighted lines are ubermix packages not yet installed on the Raspbian in the VM. So, there were a few that were part of Raspbian already: Libreoffice, build-essential, and gcalcultor. The non free firmware packages in the installed list were from Raspbian. The non free only matters if you are a free software person, really. Also, this was simply to see if the software packages from Ubermix would work with Raspbian and the size and time it would take for install.

By the way - this is interesting - the Edubuntu question. Thanks for asking. It seems like Ubuntu-edu-* (primary, secondary, tertiary) are part of Edubuntu. The preschool version (not currently relevant is it?) took mostly from the KDE Education project - except 2 packages. Other than the desktop and fonts, isn't that all Edubuntu is....

https://packages.ubuntu.com/source/trusty/edubuntu-meta

I just wanted to point that out in the spreadsheet.

ch1x0r commented 6 years ago

Diffs with base and installed files.

diff1224-apt.txt Dec24-installed-apt.txt Raspbian-base-apt.txt

Dec24installed-dpkg.txt diff_1224-dpkg.txt Raspbian-base-dpkg.txt

ch1x0r commented 6 years ago

If it's just the Desktop Env...settings - like the Panel menu and icons... maybe there are some potential solutions - for focusing on just that. https://packages.debian.org/stretch/dconf-gsettings-backend I'll test this out over New Year's weekend.

Additionally, not sure but there may be some simple backup/restore/snapshot utilities for restore to look into.

holta commented 6 years ago

If it's just the Desktop Env...settings - like the Panel menu and icons... maybe there are some potential solutions - for focusing on just that. https://packages.debian.org/stretch/dconf-gsettings-backend I'll test this out over New Year's weekend.

All we really need are 3-or-4 desktop icons, for young learners and novice teachers, who are apprehensive about clicking on anything.

Someone like @avni or @thotmx with firsthand KoC experience can specify what those icons should likely be!

(As you've discovered, the same kocifier scripts for Ubermix seem to work on Raspbian PC/Raspbian RPi which is really great...)

Additionally, not sure but there may be some simple backup/restore/snapshot utilities for restore to look into.

Yeah whether or not we solve this, schools and libraries have faced this age-old challenge for decades — with many different ways to skin this cat for sure — regardless of:

ch1x0r commented 6 years ago

Raspberry Pi script is running on the pi3 and installing packages using the edited script. Stopped at extremetuxracer on this page: https://github.com/kidsoncomputers/kocifier/blob/master/ubermix_packages

I believe these will be an issue. So maybe - the raspbian for pi needs a separate list of packages. firmware-b43legacy-installer firmware-b43-installer flashplugin-downloader flashplugin-installer

Stay Tuned... kocifier-Rasp3.txt

ch1x0r commented 6 years ago

I forked the repo to work on the script, list, etc. Stopped to work on the UX. Feedback and ideas are appreciated. I'm somewhat graphically challenged. Thanks! desktop-raspkids

ch1x0r commented 6 years ago

Or maybe something a little softer. The Qimo project left behind wallpapers after they closed out their distro project background2 If you find a good background, let me know. Also, please provide any attribution if that is required so I can add this to the distro.

Thanks!

Qimo Project "you can download the wallpaper images from here if you want to use them as backgrounds or whatnot." http://www.qimo4kids.com/

thotmx commented 6 years ago

I like the last one @ch1x0r

Taking into account that we use these: https://www.kidsoncomputers.org/data/backgrounds/

@nataren do you have the white background that we used on the RPi labs?

ch1x0r commented 6 years ago

raspkids-illa-backgroundwithkoc

ch1x0r commented 6 years ago

will dd and make available tonight (if all goes well)

holta commented 6 years ago

Amazing @ch1x0r — hope to see everyone tonight on the 10PM EST Mexico planning call!

ch1x0r commented 6 years ago

At this point, I'm not pushing my repo changes - but, I did want to mention (since I missed the meeting) that I put the old original 2.5 Ubermix image with the script on thelifeofkenneth.com and also - the desktop custom Pint iso which includes all these edu packages and locale set to Spanish (requires 11 Gb storage though for installation and so far only for 64)

Notes from Script:

function raspbian_kocify { raspbian_update_packages raspbian_install_software Request:Change the wallpaper using commands Answer:You could create a desktop or theme... the KOC desktop or something... the KOC theme

R:Install Kids Ruby A:please provide more information - saw on issue depends on adoption

R:Change regional formats A:

R:locales - Change the timezone to Mexico City = dpkg-reconfigure locals es-MX manually or add to script but a manual selection - find alternate A: Yes it's all Spanish now.

R:Configure input methods A:

R:remove_keyboard_packages A: Yes. Done

R:Install then remove keyboard packages?OK - remove fcitx* A:Does install of the packages for the ubuntu-keyboard-english or ubuntu-keybord-spanish to solve this (list of packages)

R:Install Language Pack support for Spanish A:language-pack-es-base language-pack-gnome-es language-pack-kde-es (list of packages)

thotmx commented 6 years ago

@ch1x0r How can I get all the changes generated for the "final" image. (There are some commands that we executed to get the sound, and I think we added audacity to the packages, but I don't know what the others changes are).

ch1x0r commented 6 years ago

@thotmx I believe they took my RaspKids image and made some really minor changes to this - icons, change background - they did not even make a desktop. I believe YOU or another dev could create a desktop to take care of these extremely minor things they did manually. I can only list these simple tasks in a simple list :)

Added some desktop shortcuts for the 6 apps Changed my beautiful background we agreed on to a plain image Added audacity Added tuxtype Probably used amixer for audio config

Really, not much of anything. So, I am happy to work with you when I roll out my next image of Raspkids and PintOS (desktop 32/64). But otherwise, I would only like working directly with you because you know how much time I put into this and do not dismiss the effort and we work well together.

Please DM me and will you be available for even 1 hour on feb 10 when my Linux User group and ASU user group get together and work on some feature rich improvements to Raspkids.

I would like feedback from Acatlima to produce a better Raspkids image for future and public use.

Thanks.

thotmx commented 6 years ago

@ch1x0r:

What did you do to create the RaspKids image?

What extra steps did you do?

ch1x0r commented 6 years ago

So, basically, all I did was simple stuff. Start Date: December 17, 2017

GOALS

---- BEFORE RUNNING SCRIPT ---- APPS 
The list of Ubermix apps were compared against currently available apps. All Ubuntu-*-Packages were evaluated as these were also included in Ubermix:

There were duplicate packages in each level. Most packages were from the KDE Education suite. None were Ubuntu developed or community based. These were evaluated to generate one list of packages. The keyboard and language packages were also evaluated in order to give you a full list like Ubermix. NOTE: I was working on creating packages for the Raspkids KOC offering - like: Pi-Raspkids-Pre-school Pi-Raspkids-Primary Pi-Raspkids-Secondary Pi-Raspkids-Tertiary

However, I need to evaluate the software going in and how it performs on the current Pi3 before including this in a package. Who knows. Maybe I'll never get done evaluating packages - Community help would be nice ;D!!

The packages listed in the Ubermix offering were included in the Raspkids image unless there was a problem with crashing or dependencies - See raspkids_packages

Minor script edits: Made a current path and remove keyboard packages…(as suggested by Oscar)

Changes to script:

Edits to packages list:

Run script.

AFTER SCRIPT

Manual edits to the menu:

*Could be scripted/binded to a key: xfce4-popup-whiskermenu (launch command)

Manual edits to the panel:

Desktop

---- AFTER CUSTOMIZATION ---- I removed some inessential packages. I believe the following were added: amixer tuxtype audacity avidemux (? Not sure)

Notes Installed Cairo-Dock. At first I set this by default on startup. However, I noticed some odd behavior and removed that. *Note2: Plank was suggested over Cairo-Dock… I agree. Not implemented.

NOTE: Created a desktop environment for the desktop version but was concerned about the stability and no time to test more SUGGESTION: Create a stable desktop - simple process, testing needed.

The PINT desktop image was much of the same except the boot up image was changed, splash image and all that... and there was a recovery mode for the pint (desktop 32_64) version.

Ohhhh yea. I believe I set the boot up to be black so when installing maybe you didn't see everything - but I mean you still could using the keyboard... but was going to change that image... but never got around to it. ^^ Pi boot!

https://github.com/ch1x0r/kocifier/blob/raspkids_dev/instructions.txt

ch1x0r commented 6 years ago

Oh yeah and changed the locales...and set to mx time.

On Jan 31, 2018 7:25 PM, "Hermes Ojeda Ruiz" notifications@github.com wrote:

@ch1x0r https://github.com/ch1x0r:

What did you do to create the RaspKids image?

  • Execute the script (to add software) in a new Raspbian installation.
  • Add a new wallpaper.

What extra steps did you do?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kidsoncomputers/kocifier/issues/7#issuecomment-362137951, or mute the thread https://github.com/notifications/unsubscribe-auth/AEt2wHQbiLFWSrzZQsG48Ghe5r0xO959ks5tQSCYgaJpZM4N2CNy .

imvasen commented 6 years ago

I added, unintentionally, a commit to master branch with a script to check distribution. Identifying distribution is the commit message. Is that what you were looking for?

Of course, this is in the event that only one script gets used for both distributions.

thotmx commented 6 years ago

Be careful with that @IpiVasquez.

DON'T send commits to master branch. Create a new branch and a Pull Request for code review.

Please create a new branch with those changes, when you are ready create a PR. (When it's ready I'll revert those changes).

thotmx commented 6 years ago

This issue should be closed. I'll take the useful comments to create new issues related with improving the script.