From 45c8f12b620eea28b818d9f23447328aeb1e9d8f Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Fri, 04 Nov 2011 14:20:32 -0400 Subject: Initial commit. --- diff --git a/activities-ideas.txt b/activities-ideas.txt new file mode 100644 index 0000000..918dd1f --- /dev/null +++ b/activities-ideas.txt @@ -0,0 +1,24 @@ +events with NULL + contact kashifuddin qazi about that if he's still in NJIT +an install fest or two to get people started + show people GNU/Linux on hardware or in a VM + show them multiboot with GNU GRUB + show them the selection and features of DEs +some tutorials + software packaging + modifying packaged software (excercising freedom 1) + Linux LVM2 + possibly building a custom Linux-based OS + as suggested by Grant + BusyBox/Linux or GNU/Linux (LFS-style) + introduction to the Unix shell + overview of GNU Screen +go to a Debian-NYC Novice Night? + if they still run +guest speaker? + look into inviting a GNU speaker to talk about GNU/Linux & software freedom + probably need to find funds for travel expenses + do a survey to see how many people would show up +set up a (franken)server in the ACM office +fund raising idea: sell copies of GNU/Linux on CDs and DVDs + Selling on Campus Policy: http://www.njit.edu/doss/policies/selling.php diff --git a/bradley-kuhn-talk.txt b/bradley-kuhn-talk.txt new file mode 100644 index 0000000..2fe6d5e --- /dev/null +++ b/bradley-kuhn-talk.txt @@ -0,0 +1,37 @@ +Bradley Kuhn + holds BS and MS in CS + former Exec Dir of FSF for 3 years + former political analyst and technology director of SFLC for over 5 years + now Exec Dir of Conservancy and board member of FSF +date + November + bkuhn asks for as late as possible, maybe week of 2011-11-14 + weekday? weekend? +funding + travel costs - train ticket(s) from NYC to Newark + "small honorarium" to Conservancy +speech + "Software Freedom and the GNU Generation" is "a bit stale" + recent talks too detailed for students + working on a new talk "Making a Career out of Software Freedom" +day of the talk + will need somewhere to speak, probably Ballroom in CC + can spend all day on campus + allocate a room in which students and faculty can talk with bkuhn about FS + ACM office? + a conference room? + CC 2nd floor? + some classroom somewhere? +publicity + e-mail all of CCS through Sarah Vandermark + hand out flyers in classes maybe + post flyers around campus +TODO + find funding - IN PROGRESS + reserve the Ballroom + find a room for meetings after the talk + organize a recording + figure out food (maybe he'll just go down to GDS) + figure out if he'll bring his laptop and if we can connect it to a projector + ??? + profit? diff --git a/gnu-linux-fundraiser.txt b/gnu-linux-fundraiser.txt new file mode 100644 index 0000000..35a9822 --- /dev/null +++ b/gnu-linux-fundraiser.txt @@ -0,0 +1,72 @@ +four step process to raise funds for ACM & increase membership in SIG GNU/Linux: + 1. Sell copies of GNU/Linux + 2. Invite buyers to SIG meetings for help + 3. ??? + 4. Profit + +possible distributions: + definitely: + Debian + versions: 6.0.3, testing by request + architectures: x86, x86-64, others by request + editions: CD set, DVD set, netinstall CD, sources (36 CDs or 6 DVDs) + live DVDs? other DEs? + total items: 9 + x86 CDs (all DEs), x86-64 CDs (all DEs), + x86 DVDs (all DEs), x86-64 DVDs (all DEs), + x86 netinstall CD, x86-64 netinstall CD, + sources CDs, sources DVDs, + live CDs and DVDs + Trisquel + versions: 5.0, 4.5.1 + architectures: x86, x86-64 + editions: default CD, i18n DVD, mini CD, netinstall CD, sources DVD + total items: 9 + probably: + gNewSense + versions: 2.3 + architectures: x86 + editions: default, sources (1.8 GiB tar archive) + total items: 2 + BLAG + OH NOES, NO SOURCE IMAGES, LEGAL BAD STUFF + Dragora + versions: 2.1 + architectures: x86, x86-64 + editions: default, sources DVD + total items: 3 + Ubuntu (will need a warning label about recommendations of non-free sw) + versions: 10.10, 11.04, 11.10 + architectures: x86, x86-64 + editions: installable live CD, sources CDs + total items: 3 + Fedora (may need a warning label) + versions: 15 + architectures: x86, x86-64 + editions: installable live CD, ??? + source DVD (find sources for live images) + total items: 3+ + maybe not: + Dyne:bolic + OH NOES, NO SOURCE IMAGES, LEGAL BAD STUFF + Parabola + OH NOES, NO SOURCE IMAGES, LEGAL BAD STUFF + +display: + descriptions, screenshots, information about editions + provide live images for people to try if they bring laptops + otherwise refer people to h-node for information on drivers + +time: + probably after guest speech + so people know what's so magical and moral about this software + +kiosk: + maybe some kind of Debian testing/unstable system showing DEs: + GNOME 3 + GNOME 3 in fallback mode + KDE SC 4.6 + Xfce + LXDE + LightDM and different users to show different DEs + or some kind of mix of Vs running different OSes diff --git a/topics/boot.txt b/topics/boot.txt new file mode 100644 index 0000000..3d03935 --- /dev/null +++ b/topics/boot.txt @@ -0,0 +1,63 @@ +BIOS + firmware image on ROM chip + ROM is either a dual in-line package or plastic leaded chip carrier + POST + initializes HW, e.g. memory, video card, keyboard, USB hosts + finds a bootable device (HDD, ODD, USB flash drive, etc.) + reads MBR and executes stage 1 boot loader +boot loader, e.g. GNU GRUB + may offer user OS list and/or some other interactive IX (e.g. CLI) + will load a kernel, e.g. Linux, into memory and begin its execution +Linux + initializes memory, interrupts, etc. + may mount initial ramdisk + loads and schedules init and kernel threads +initial ramdisk + finds root filesystem + loads required drivers and runs required utilities to mount root fs + e.g. for RAID, LVM2, ext4 + checks for a suspend-to-disk virtual memory image and resumes if found + look at initrd on Debian: + $ gunzip -c /boot/initrd.img-`uname -r` | cpio --extract + warning: will extract to current working directory +init + multiple implementations + GNU/Linux: + System V-style init + systemd + Upstart + runit + OpenRC + Initng + BSDs: + own lightweight and modular daemon + BusyBox/Linux: + own lightweight daemon + SysV-style: + runlevels + 0 - halt + 1 - single-user mode + 2-5 - multi-user mode + 6 reboot + reads /etc/inittab + default runlevel + actions of runlevels + Ctrl+Alt+Del behavior + programs to control TTYs (e.g. /sbin/getty) + etc. + runs initialization scripts + `/etc/rcN.d/* start`, where N = runlevel + links to /etc/init.d/* + cron, servers, ACPI daemon, Network Manager, DMs, etc. +getty + prints /etc/issue, unless disabled + prompts for username + calls /bin/login +login + prompts for password + loads user environment + starts user's default shell (e.g. /bin/bash) +display manager + starts X.org server + prompts for user name and password + starts window manager and desktop shell diff --git a/topics/shell-tut.txt b/topics/shell-tut.txt new file mode 100644 index 0000000..0a73cb0 --- /dev/null +++ b/topics/shell-tut.txt @@ -0,0 +1,126 @@ +first steps and basic output + how shell reads input - three methods + use of "echo" built-in utility + ex: hello world +simple commands, field splitting, and quoting + ex: maybe cd, mkdir/touch, etc. +tilde and pathname expansion + ex: cd with tildes + ex: cd/mkdir/touch with pathname expansions +parameters + defining variables and expanding their values + positional parameters, special parameters, and shell variables + ex: assign variables + ex: expand and print variables and positional parameters +command substitution + ex: commands in subshells, output assigned to variables +arithmetic expansion + ex: some expressions, assignments, etc. +shell commands + revisit simple commands + command search and execution + pipelines + lists + sequential + asynchronous + AND + OR + compound commands + grouping + subshell vs current shell, shell execution environment: + open files + working directory + shell parameters + shell functions + shell options + shell aliases + if + show "test"/"[" command + while + ex: loop over positional parameters + #! /bin/sh + while [ $# -gt 0 ]; do + printf '%s\n' "$1" + shift + done + ex: read from input + until + for + case + functions +exit status +I/O redirection +built-in utilities + colon + export + break [n] + continue [n] + dot + eval + exec + exit + export + return + set + shift + unset +utilities + cat + cd + chgrp + chmod + chown + cp + date + dd + df + diff + dirname + du + echo + expr + false + file + fold + getopts + grep + head + id + kill + ln + lp + ls + mailx + mesg + mkdir + mkfifo + more + mv + nice + pr + printf + ps + pwd + read + rm + rmdir + sed + sh + sleep + sort + stty + tail + test + time + touch + tr + true + uniq + wc + who + +example scripts: + screen-batt + /usr/local/lib/pjrand.sh and /usr/local/bin/screensaver + /bin/which of Debian (ex. of IFS) + changelog-gen diff --git a/topics/shell.txt b/topics/shell.txt new file mode 100644 index 0000000..d98d249 --- /dev/null +++ b/topics/shell.txt @@ -0,0 +1,131 @@ +introduce the shell interpreter + POSIX.1-2008 XCU 2.1 + shell reads input from: + a specified file, + '-c' option argument, or + stdin (interactive mode) + shell splits input lines into tokens and parses them + shell expands words + shell performs I/O redirection + shell executes functions, built-in commands, files, etc. +parameters and variables + positional parameters + POSIX.1-2008 XCU 2.5.1 + decimal numbers greater than 0, e.g. $1 and $2 + multiple-digit numbers should be enclosed in braces + assigned with: + shell arguments when shell starts + function arguments when a function is called + can be reassigned using 'set' built-in command + special parameters + POSIX.1-2008 XCU 2.5.2 + @ + all positional parameters + * + all positional parameters + # + number of positional parameters + ? + exit status of most recent command pipeline + - + current option flags + $ + process ID of shell + ! + process ID of most recent background command + 0 + name of shell or shell script + shell variables + POSIX.1-2008 XCU 2.5.3 + HOME + pathname of user's home directory + IFS + delimiters for field splitting + default: + LINENO + line number of current script, if any + PATH + list of paths which should be searched for commands + PS1 + prompt value to be expanded and written to standard error + default value: "$ " + PWD + absolute pathname of the current working directory +word expansions + tilde expansion + POSIX.1-2008 XCU 2.6.1 + tilde-prefix: unquoted tilde at the beginning of a word + followed by all unquoted characters until first unquoted slash + login name is all characters in tilde-prefix following tilde + if login name is empty (tilde-prefix == "~") + expanded to value of HOME + else + expanded to home directory associated with login name + parameter expansion + POSIX.1-2008 XCU 2.6.2 + ${expression} or $expression + expression: + parameter + parameter:-word + parameter:=word + parameter:?word or parameter:? + parameter:+word + #parameter + parameter%word + parameter%%word + parameter#word + parameter##word + command substitution + POSIX.1-2008 XCU 2.6.3 + $(command) + or + `command` + expanding: + shell executes command in a subshell + shell replaces substitution with stdout of the command + newlines within command are allowed + nesting + `command1 \`command2 foo\` bar` + $(command1 $(command2 foo) bar) + arithmetic expansion + POSIX.1-2008 XCU 2.6.4 + $((expression)) + expanding: + shell processes expression + shell replaces substitution with value of the expression + arithmetic: + signed long integer precision + decimal, octal, and hexadecimal constants + e.g. 42, 052, 0x2A + operators: + ( ), unary +, unary -, +, -, *, /, % + ~, !, <<, >>, &, ^, | + <, <=, >, >= ==, !=, &&, ||, expr ? expr : expr + =, +=, -=, *=, /=, %=, <<=, >>=, &= ^=, |= + shell variables + if x has an integer value, then the following are equivalent: + $((x + 1)) $(($x + 1)) + field splitting + POSIX.1-2008 XCU 2.6.5 + IFS is a set of delimiters, at which unquoted fields are split + pathname expansion + POSIX.1-2008 XCU 2.6.6 + POSIX.1-2008 XCU 2.13 + performed unless 'set -f' was run + patterns + ? matches any single character + * matches multiple (0 or more) characters + [ opens RE bracket expansion + if pattern does not match any existing files + pattern string is left unchanged +redirection + input redirection + [n]word + [n]>|word + n default: 1, stdout + appending redirected output + [n]>>word diff --git a/topics/topics.txt b/topics/topics.txt new file mode 100644 index 0000000..31bd704 --- /dev/null +++ b/topics/topics.txt @@ -0,0 +1,12 @@ +mdadm RAID +Linux LVM2 +signals and threads +introduction to the UNIX shell +usage of dd +overview of GNU Screen +set up a server + do stuff with it, I don't know + +projects? + GNU/Linux or BusyBox/Linux, LFS-style + server -- cgit v0.9.1