Editing Linux

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 11: Line 11:
16:30 - 18:30 [[C_and_assembler_on_Linux|C and the Assembler on Linux]]
16:30 - 18:30 [[C_and_assembler_on_Linux|C and the Assembler on Linux]]


18:30 - 20:00 [[Linux.BSD.UNIX Open Learning and Hacking in Turing]]: Hands-on learning. Feel free to come early if you might need extra assistance.  No experience necessary or expected.
18:30 - 20:00 [[Linux 101]]: Introductory Class. The class will be presented in 2 parts and restarts the 1st and 3rd week of each month. Live CD's and thumb drives will be available for hands-on learning. Feel free to come early if you might need extra assistance.  No experience necessary or expected.


==Wednesdays==
==Wednesdays==
Line 34: Line 34:
Start playing with Bash Scripting by using the following tools:
Start playing with Bash Scripting by using the following tools:


==Gitorious==
==Github==
[https://gitorious.org/ Gitorious] is a good place to start connecting with a Git service that has a web interface which is itself also [[free software]] (unlike Github).  Accounts are gratis and provide the best option for learning Git outside of class and our usual terminal interface.
[https://github.com/ Github] is a good place to start connecting with the majority of active Git users/coders who are willing to collaborate with you.  Accounts are free and provide the best option for learning Git outside of class and our usual terminal interface  
'''Note:''' Of course, nothing is stopping you from just ssh'ing into Github like you usually would.


'''Note:''' Of course, nothing is stopping you from just ssh'ing into any git server like you usually would.  You can also install your own git server on your own computerYou can even set up [http://getgitorious.com/install-gitorious your own Gitorious server].
1.  Create a repository and readme.
 
2.  Upload a file.
# Create a repository and readme.
3.  Search for code you like or could improve.
# Upload a file.
4.  Fork something someone poorly wrote, improve it, and push it back to them.
# Search for code you like or could improve.
# Fork something someone poorly wrote, improve it, and push it back to them.


This will give you the basic, visual understanding of how version control works and why we use it.
This will give you the basic, visual understanding of how version control works and why we use it.
Line 86: Line 85:


==Building Linux from source code on Debian-based GNU/Linux systems==
==Building Linux from source code on Debian-based GNU/Linux systems==
The Debian family includes GNU/Linux distros like Ubuntu, Mint, and Trisquel.
# Get the build requirements:
# Get the build requirements:
#: <code>su -c 'apt-get install build-essential libncurses5-dev'</code>
#: <code>su -c 'apt-get install build-essential libncurses5-dev'</code>
#: or
#: or
#: <code>sudo apt-get install build-essential libncurses5-dev</code>
#: <code>sudo apt-get install build-essential libncurses5-dev</code>
# Download the Linux source code from the [http://www.fsfla.org/svnwiki/selibre/linux-libre/ Linux-libre project]. The source tarballs from kernel.org should be avoided if possible, because it includes proprietary binary blobs, which violate your [https://www.gnu.org/philosophy/free-sw.html four essential user freedoms].
# Download the Linux source code from the [http://www.fsfla.org/svnwiki/selibre/linux-libre/ Linux-libre project]. The source tarballs from kernel.org should be avoided if possible, because it includes proprietary binary blobs.
#: <code>wget http://www.linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.4.N/linux-libre-3.4.38-gnu.tar.bz2</code>
#: <code>http://www.linux-libre.fsfla.org/pub/linux-libre/releases/3.4.8-gnu/linux-libre-3.4.8-gnu.tar.bz2</code>
# Extract the source archive:
# Extract the source archive:
#: <code>tar xf linux-libre-3.4.38-gnu.tar.bz2</code>
#: <code>tar xf linux-libre-3.4.2-gnu.tar.bz2</code>
# Enter the directory with the extracted source code (and make edits to the source if you wish):
# Enter the directory with the extracted source code (and make edits to the source if you wish):
#: <code>cd linux-3.4.38</code>
#: <code>cd linux-3.4.2</code>
# Create or edit the build config file:
# Create or edit the build config file:
#: <code>make menuconfig</code>
#: <code>make menuconfig</code>
# Build the kernel and package it into deb files (if you don't intend on debugging, set the INSTALL_MOD_STRIP variable to 1 to remove the debugging symbols):
# Build the kernel and package it into deb files (if you don't intend on debugging, set the INSTALL_MOD_STRIP variable to 1 to remove the debugging symbols):
#: <code>INSTALL_MOD_STRIP=1 make deb-pkg</code>
#: <code>INSTALL_MOD_STRIP=1 make deb-pkg</code>
#: (On a laptop or desktop, this step can take between 20 minutes to several hours.)
#: (This step can take several hours, depending on the machine you're building it on.)
# Go up one directory:
# Go up one directory:
#: <code>cd ..</code>
#: <code>cd ..</code>
Line 113: Line 111:
#: <code>sudo shutdown -r now</code>
#: <code>sudo shutdown -r now</code>


=Suggestions
=Suggestions for Improving this Section=
for Improving this Section=
This wiki is build on Mediawiki.  I highly recommend installing a USB version of it or something like so you can edit, expand, and this page while offline.  Thanks!
This wiki is built on Mediawiki.  I highly recommend installing a USB  
version of it or something like so you can edit, expand, and this page  
while offline.  Thanks!


Include photos and descriptions of community linux machines, live cd's,  
Include photos and descriptions of community linux machines, live cd's, and other relevant things at nb.
and other relevant things at nb.


Should [[Android]] get talked about here as well?
Should [[Android]] get talked about here as well?
Please note that all contributions to Noisebridge are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see Noisebridge:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)