OSE Linux

From Open Source Ecology
Jump to: navigation, search

Page under active editing 9/17


Software List[edit]

This is a partial list of software that OSE uses:

edit


OSE software stack.

What is It?[edit]

OSE Linux is a freely downloadable operating system that contains all software that is used regularly at OSE. It is run as a Live USB without the user having to modify or upset their usual operating system in any way whatsoever.

This addresses the tens of hours that it would potentially take to download and configure all the software and libraries in common use by OSE. Instead, a single install, taking under half hour of dedicated user time after download, is sufficient to download the entire operating system.

It is a good practice for OSE Developers to download and use the system to avoid software malfunction, improper settings, and in general the time it takes to download or install various software and its extensions, such as additional workbenches in FreeCAD, browser plugins, etc. OSE uses only open source software to produce all of its work product to facilitate interoperability with a large global team of developers.

Please note that OSE uses a lot of custom software - so please save yourself hours of install time and and just download the prepared OSE Linux. We are doing this to make your life easy. Note also that you should not run OSE Linux in a Virtual Machine, as a Virtual Machine will be much slower at computation intensive tasks such as CAD.

OSE Linux can be used by downloading the ISO, and creating a bootable USB stick. Instead of using one's regular operating system, one can choose - upon startup - to run the OSE Linux operating system from a USB stick, without installing it on one's hard drive. Note that currently you can't save files on the Live Linux - so upload any documents to your log, the wiki, or use cloud-documents where data is not saved locally.

Download the Current ISO Link (NOT For OSE Linux Live End Users)[edit]

Current[edit]

Oct 25 release
Added exploded part diagrams,vlc and obs
Working arduino and cura (its now possible to write the code to the arduino/print with cura)
Custom Wallpaper seems to work fine now.
This version fixed all known issues (except the time zone, which is in the nature of Ubuntu). Therefore, this is version 1.0, and this project will be seen as done until further changes are needed.
The Download Link is here magnet

Old[edit]

Sep 9 release
All programs are now arranged to some extent, no setup of cura or freecad needed. All programs asked to date are added and functional. The screen is setup for the working with the OSE software and not just the default look.
Some people came up with an issue regarding the ethernet connection, although there wasn't much testing yet, the top answer of this question may help Wifi Ubuntu Live CD. This will be adressed when a solution is found.
The Download Link is here

Sep 3 release
same as last version, fixed some breaking bugs and added some basic options as default, as well as the program debsums. This version should be fully operable and its recommended updating to it
The Download Link is here
Aug 23 release
A new version has been released with further, sophisticated options. Some of them are not in an optimal stage, so I am awaiting some feedback how the default should look like. That means setting up the different software parts in a way thats most convenient and sharing it in the software list. As for now, in the /opt folder (filemanager > system > opt) there is the Macro sheet for freecad and the .ini for the d3d for Cura. The Marlin Software can be found in the examples os the arduino software
The Download link is here
APR 28 hybrid release
Link to shared Google Drive folder containing all versions[1]
The CURRENT OSE Live iso is named 4-28-17ose0.42.iso

  • LINK TO DOWNLOAD ISO - [2]


  • 2/17 - [3]
  • Version 0.3 - [4]
  • Radme by Jai Kumar - [5]

MD5SUM:


HintLightbulb.png Hint: Latest Version is 0.3

And then create a bootable USB drive with that file.

To do that, GoGoDuck - https://duckduckgo.com/?q=iso+to+usb&t=canonical&ia=web


HintLightbulb.png Hint: Instructions for creating a bootable USB are in progress as of 3/14/17 by Jai Log

Download Tracking[edit]

Need to track the number of downloads just like Arduino does - see this nice example:

Downloadtracking.jpg

Once created, this data should be posted at the OSE Stats Page.

How to Create the ISO on an Existing Ubuntu System (For developers - This is not the end-user HowTo)[edit]

We are using the customizer by kamilion:
https://github.com/kamilion/customizer/wiki/First-guide
however, there is a problem with the iso creation process: we need to modify the source code, as the kernel download will otherwise fail and disturb the creation of the iso. This has of course to be done before the compiling into a deb file. For that, we have to edit:
/{Unzipped Master}/src/actions/rebuild.py go to the line

   detect_boot()

and look under it, there should be a line going like

   if config.KERNEL is not default

comment that out (with #) until next else (including the else) and then correct the intendation (as python is very sensitive to that), meaning everything to the next empty line has to be moved left one 4 whitespaces. In the end, it should look like this:

       #if config.KERNEL is not "default" or None:
       #    misc.chroot_exec(('apt-get', 'install', '--yes', \
       #        config.KERNEL, '-q'))
       #else:  # use the kernel the user specified in the config.
       if arch is not "amd64":  # then use the 32bit 'linux-image-generic'
           misc.chroot_exec(('apt-get', 'install', '--yes', \
               'linux-image-generic', '-q'))
       else:  # use the amd64 'linux-signed-generic' for uEFI
           misc.chroot_exec(('apt-get', 'install', '--yes', \
               'linux-signed-generic', '-q'))



for starting the software just type into a console:

   sudo customizer-gui

There most of the things are pretty self-explainatory or described on the github page, we will be using the chroot console to setup our iso. The following commands will setup the system:
Basic Installation of programs

   echo "deb http://us.archive.ubuntu.com/ubuntu xenial main universe" >> /etc/apt/sources.list
   echo "deb http://us.archive.ubuntu.com/ubuntu xenial main multiverse" >> /etc/apt/sources.list
   dpkg --add-architecture i386
   add-apt-repository ppa:freecad-maintainers/freecad-stable -y
   add-apt-repository ppa:freecad-community/ppa -y
   add-apt-repository ppa:thopiekar/cura -y
   add-apt-repository ppa:maarten-baert/simplescreenrecorder -y
   add-apt-repository ppa:js-reynaud/kicad-4 -y
   add-apt-repository ppa:webupd8team/brackets -y
   add-apt-repository ppa:freecad-maintainers/freecad-daily -y
   add-apt-repository ppa:kdenlive/kdenlive-stable -y
   add-apt-repository ppa:obsproject/obs-studio -y
   apt-get update
   apt-get upgrade -y
   apt-get install freecad freecad-doc gimp inkscape audacity libavcodec-extra simplescreenrecorder librecad sweethome3d blender kicad openscad fritzing brackets gnumeric gnumeric-plugins-extra gnumeric-doc freecad-extras-drawing-dimensioning freecad-extras-assembly2 freecad-extras-fasteners gmic gimp-gmic git kdenlive vokoscreen chromium-browser freecad-daily debsums obs-studio -y

Installing Cura

   apt-get install python-opengl python-serial -y
   wget http://download.lulzbot.com/Software/Cura/Packages/Cura_21.08/debian/stretch/cura_21.08-f2748_amd64.deb (or the most current, check it)
   dpkg -i cura_21.08-f2748_amd64.deb
   rm cura_21.08-f2748_amd64.deb
   printf "\nADD_EXTRA_GROUPS=1\nEXTRA_GROUPS="dialout"\n" >> /etc/adduser.conf 

Install Arduino 1.6.8 (NOT the current)

   wget https://downloads.arduino.cc/arduino-1.6.8-linux64.tar.xz
   tar xvfJ arduino-1.6.8-linux64.tar.xz
   rm arduino-1.6.8-linux64.tar.xz
   mv arduino-1.6.8 /opt
   and add the OSE Marlin to the examples
   cd /opt/arduino-1.6.8/examples 
   mkdir OSE
   download the file in http://opensourceecology.org/wiki/File:OSE_Marlin.zip
   unzip OSE_Marlin.zip and put the contained file called Marlin in the OSE directory, then delete the rest
   Give it the right to access it, with chown or simply: chmod 777 -R OSE (theres no inherent danger from that code when accessible)
   additionally, make sure the last line of the cura setup is run, as this makes the actual communication with the boards possible.

installing inkscape export:

   wget http://bigbluesaw.com/media/BigBlueSawDXFOutput-Version0.2.zip
   unzip -o BigBlueSawDXFOutput-Version0.2.zip -d /usr/share/inkscape/extensions/
   rm BigBlueSawDXFOutput-Version0.2.zip

installing threejs blender addon:

   wget https://github.com/mrdoob/three.js/archive/master.zip
   unzip master.zip
   cp -r three.js-master/utils/exporters/blender/addons/io_three /usr/share/blender/scripts/addons
   rm master.zip
   rm -r three.js-master

jitsi extension:

   nano /etc/chromium-browser/policies/managed/statkey.json

write in there

   {
           "ExtensionInstallForcelist":
                   ["kglhbbefdnlheedjiejgomgmfplipfeb;https://clients2.google.com/service/update2/crx"]
   }

Custom User settings
Maybe delete some old stuff, like (this will be updated when the iso gets too bloated):

   sudo apt-get purge unity-webapps*

To make the user experience perfect, we need to adjust some user settings for the freshly logged in user. Unfortunately, the user for the live CD is created on the fly, therefore it cannot be preparated. However, it is possible to manipulate every new user that is created by providing their default folders and everything.
This means, we will preparate the user by setting it up: Run the not created ISO by burning it to a stick, hosting it with a vm or similar, and set it up in a way that everything important is added and set. This includes cleaning the desktop and preparing the taskbar, starting Freecad and installing macros and commands there, and prepare Cura to create GCode for the OSE D3D Printer (More details on that is provided on the software list to the specific task). Additionally, the set setup.sh from the arduino folder must be run to make it a valid program for the user.
When that is done, copy the ENTIRE personal folder (including all hidden folders) into a safe place in the network, as the live CD will not remember any changes. A Cloud, NAS, or simply scp will do the job, however remember not to leave traces, like a remembered password or personal data, as they will be replicated to every new User of the ISO!!!
When you did that, copy all those files (the hidden included, better double check) into the (previously emptied) /etc/skel directory of your chroot (you can do that with scp as well as just adding it into the filesystem that is chrooted on the main system).
The skel folder is basically replicated as a blueprint to every new created user, so every setting left there is then carried forward to the new created user. Rebuild the ISO, and you should be done!


Old[edit]

Step 1: Download the Ubuntu iso to customize. Remember the directory where it is saved, because we would need to move it later.

Where do I go to download ubuntu.iso? I originally use a USB drive to install Ubuntu 14 onto my computer (recently ran the upgrade to get version 16). The ISO image is on that USB drive?

Doc with detailed Walkthrough

I followed the instructions below and received the error listed here.

2.a. sudo apt-get install squashfs-tools genisoimage

3.a. mkdir oseimage

4.a. cp /path/to/saved/ubuntu.iso ~/where/to/save/custom-img

Error -> cp: cannot stat '/path/to/saved/ubuntu.iso': No such file or directory


Testing[edit]

We are documenting which systems work successfully for Live boot and/or install of the OSE Linux ISO.

Please document 3 things:

  1. Version of the OSE Linux you are trying to boot and/or install - date or link to the download from above. Note that new versions will be published quarterly. It is impotant to keep notes on the specific version that you are using so there is no confusion on which OSE Linux versions are successful
  2. Hardware you are using, such as Dell Precision M6500 Laptop
  3. Operating system that you are using on your hardware - such as Ubuntu 16.04.

To document this for your system, please go to See ISO to USB Install Notes. The test should verify the following specific usage points, and receive "100% tested and working" condition for the ISO to be considered done (ie, for example, we cannot have the Dimension Drawing Workbench not working in FreeCAD. For the specific usage points that are marked "Not Cricital", they do not count in the grading.

  1. Is the time zone set correctly? (Not critical)
  2. Check.png Does Chromium connect to wireless internet without a problem?
  3. Is the version of Arduino 1.6.8 as the default?
  4. Does Arduino IDE upload sample program to the Mega after selecting the correct board and port under Tools?
  5. Is OSE Marlin available within Arduino?
  6. Can you download a file from Part Library on the wiki and open it in FreeCAD?
  7. Does the Exploded Part Animation workbench create part explosions without crashing?
  8. Do files download to the desktop (so a new user can find files immediately without having to find the Downloads folder in the directory structure)?
  9. Can you upload files to the wiki, such as an image?


Further Development Points[edit]

  1. Adding critical bookmarks in Chromium

HowTo Document for Linux Users[edit]

Objective: A bootable USB stick that provides the OSE Live desktop, and will run all the OSE programs without touching any existing locally installed OS on the computer. It's a way to test, and use, the OSE programs (3D design, 2D design, video capture and edit, resource management) and not disturb the current computer setup.

1. Download the ISO (See above for current ISO URL)
2. Burn ISO to USB

   For Setting up the USB stick, follow the instructions here, 
simply swap the word SD for USB. There are no customizations to be made as they are suggested at the bottom, all is working out of the box.

3. Boot your computer with the USB, please refer to the document for further information:






Here is the video HowTo for Ubuntu 16.04 users, GUI version

http://opensourceecology.org/w/images/2/23/OSE_Live_USB_HowTo.webm


edit

HowTo Document for Windows Users[edit]

edit


The links below would help with: Setting up the OSE_OS on a Virtual Machine (using VirtualBox) on a Windows System.
Note that some lag might be experienced with such an installation depending on your system specs and some OpenGL glitches have been reported in the past though they seem currently resolved. If the ability to switch seamlessly from Ubuntu to Windows without having to reboot is essential as an option, it might be worth a try:
Installing Ubuntu inside Windows using VirtualBox
Install Guest Additions to Windows and Linux VMs in VirtualBox
How to Access Folders on Your Host Machine from an Ubuntu Virtual Machine in VirtualBox


Mac[edit]

  • How to Create a bootable Open Source Ecology (OSE) Linux USB Stick on Mac OS X -

[6]

OSE Linux Assists in Providing Technical Support[edit]

Technical support is a service of huge importance to the OSE community. As a Distributive Enterprise, OSE is interested in self-maintaining technical support base that can scale to millions of users.

To achieve this, part of our strategy is to utilize OSE Linux as an essential aspect of OSE's technical support. This is a managed distribution that works out all software-related issues for the OSE community - by providing a Linux distribution that just works.

Software-related issues stand in the way of seamless, distributed, open source collaboration. Overall, OSE Linux saves the OSE developer/user community thousands to millions of hours of total time that would otherwise be spent with people downloading software and making it work. To address this issue, OSE is proposing that any OSE user or developer obtains a copy of OSE Linux. This allows for a completely uniform way to eliminate all software related issues: improper installs, drivers, libraries, package conflicts, bad settings, security issues, software crashes, updates, and any other software issues. This is done by installing and using an entire OSE operating system, with all software prepared. The goal is to produce a stable and widely accessible system that can be run from a USB or that can be installed as a Multi-Boot System. The release schedule for updates will be quarterly.

Requirements[edit]

  • Follows Best Practices for creating a Linux distribution
  • Download statistics are tracked - number vs. Time, and are displayed via a wiki script
  • Single configuration with all of OSE-critical software
  • Contains libraries - such as tractor design in FreeCAD, etc.
  • Has a Team Charter for long term support
  • Clear hosting strategy and admin
  • Donation option with hosting transparency page of cost and uptime, and user statistics
  • Download requires an email for future communications
  • Clear OSE Social Contract - contract with the OSS/H community to keep this distribution open source for ever
  • Clear contributor agreement
  • Clear repositories for design - distributed and pulled into the OSE distribution as current working design libraries.

Links[edit]