I am going to preface this by saying, if you use anything in this for your own learning, please take everything with a grain of salt. I am learning all this myself. I will try and keep things separated based on topic, Linux (using Mint 18.1 Cinnamon), coding (starting with the Arduino IDE and the Teensyduino addon software), and finally micro controllers (currently I only have a couple Teensys but that might change in the near future.
If you are following this, to use, and run into a blank spot, please ask. I very well may have forgotten a step or two.
LinuxOk, I started by getting Linux running on dual boot on an older laptop I had inherited from my father in law when he passed a couple years ago. This laptop was a couple years old then so it is a bit dated. The reason for Linux vs windows, was based on experience a year or so ago. I was trying to compile some firmware for a keyboard and learned that the GCC/AVR compiler for windows was broken badly. This led me to wiping a spare drive in my desktop and installing Ubuntu on it just to compile one single keyboard firmware. I needed to basically get my hand held through that process but I did succeed in that endeavor. Fast forward to now, I want to build my own keyboard from the ground up, learning electronics in general, doing an onboard controller daughter board of my design, possibly writing my own firmware, or modify an existing one with a GUI to make it super simple to get a custom layout, like Xwhatsit level easy.
I installed Mint 18.1 Cinnamon on this laptop in dual boot, got it running, messed up a software install, screwed it up worse trying to uninstall it, and said screw it. I then wiped the drive, and installed the same OS as the sole OS on the machine.
If you have never used Linux, it is a pretty different experience than windows. Just knowing that if you type something in wrong in the terminal, it could be bad. After installing, I went down the list of this site and did some tweaks. Everything went smooth and is seeming to work as advertised.
https://sites.google.com/site/easylinuxtipsproject/mint-cinnamon-firstCouple notes on copying and pasting into and out of the terminal. Copying and pasting while outside the terminal is the same, but inside the keystroke command is Ctrl+Shift+ C or V. Also, up and down arrows cycle through previous entries. When you are typing in your password, it is normal behavior for NOTHING to show up when typing in your password, this will take some getting used to.
After going through that, I set about installing the Teensy Loader. This is a bit different than on windows. From
this link, click on the Linux (Ubuntu) link. Just so people know, Mint was designed from Ubuntu so from my understanding, the vast majority of software that works for Ubuntu will work on Mint, at least I have yet to find something that doesn't. From this link, download the proper Teensy program, your choices are 32 bit, 64, bit, or for Raspberry Pi. You also have download links for a pile of LED Blink .hex files. These files are named based on what they are for, slow/fast is speed of blinking, the number is the version of the Teensy, and the pp after the number is for ++ versions.
From here you have to extract the .tar.gz file to the machine. I created a folder in Documents named Teensy for this.
A heads up, this is all you need to do for the program to run, but because of permissions and "rules", you will not be able to change the firmware on the Teensy. To do this you will need to install the Linux udev rules. The bottom link in the list of 5 IS the file, with your browser SHOWING the contents of the file. To download this file there are two options. One is to create a dummy file in a random location, and copy/paste the contents of that page into the dummy file, and rename it properly. I did not do this, but was told in the Linuxmint-help IRC channel that it would work. Instead I used the following command to download it via terminal. I did it this way because you have to move it to the proper location via terminal anyway. So, these are the two commands I used to copy and move the file.
wget -O 49-teensy.rules http://www.pjrc.com/teensy/49-teensy.rules
Some notes about this command, mostly writing this out so I remember it better and have a later reference. The "wget" is the command to download, the "-O" means that the wget command will write the document/s to FILE. The 49-teensy.rules is the file name, and
http://www.pjrc.com/teensy/49-teensy.rules is the location of the file. Now the naming of that file is pretty specifc for Linux. About all I understand so far, is that the number used, has to do with the level that it runs at, this should not be changed. That is about all I know.
After you download the file, you need to move the file to the proper location via terminal. That is accomplished with the following command.
sudo cp 49-teensy.rules /etc/udev/rules.d/49-teensy.rules
Now, some notes on this command. The 'cp' is the actual copy command. The 'sudo' means to do the command with root privledges. Please correct me if I am wrong here. Obviously, the next items in the command are the file to be copied, and the location to be copied to.
After this, log out and back in, and you should be able to reflash your teensy no problem.
I am going to call it a night here, will be back tomorrow and add more to this.