adds raspberry pi exersises
This commit is contained in:
parent
e897a54d29
commit
206be2c242
|
@ -1,24 +1,35 @@
|
||||||
# Overview of communication channels
|
# Overview of communication channels
|
||||||
|
|
||||||
## Details
|
Throughout this course we'll be using a chat protocol names **matrix** to stay in touch.
|
||||||
|
As matrix is a federated protocol you can create an account on quite a few different servers and still communicate together.
|
||||||
* **Note:** Account creation for gitea, matrix etc
|
A server has been set up at the school and you can create an account on it by going to [this](https://riot.86thumbs.net/) url.
|
||||||
* **Id:** prerequisite.theory.communication
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
## Information
|
## Information
|
||||||
|
|
||||||
* [matrix login](https://riot.86thumbs.net/)
|
* [matrix login](https://riot.86thumbs.net/) on our server
|
||||||
* [gitea login](https://gitea.86thumbs.net/)
|
|
||||||
* what is [matrix](https://matrix.org/docs/guides/introduction)
|
* what is [matrix](https://matrix.org/docs/guides/introduction)
|
||||||
* which [clients](https://matrix.org/clients/) can you use
|
* which [clients](https://matrix.org/clients/) can you use
|
||||||
|
|
||||||
|
# Introduction to markdown for notekeeping
|
||||||
|
|
||||||
|
Markdown is a very simple makeup language used very extensively online and in coding projects.
|
||||||
|
You'll see it used all over github, for example the documetation of the [vim](https://github.com/vim/vim/blob/master/README.md) repository is a markdown file.
|
||||||
|
Our main reasons for using markdown are:
|
||||||
|
|
||||||
|
* ease of syntax
|
||||||
|
* perfect compatibility with git versioning
|
||||||
|
* renders to html on most git web platforms
|
||||||
|
|
||||||
|
## Information
|
||||||
|
|
||||||
|
* markdown [guide](https://www.markdownguide.org/getting-started)
|
||||||
|
* basic [syntax](https://www.markdownguide.org/basic-syntax)
|
||||||
|
|
||||||
# Brief introdution to cross platform text editors
|
# Brief introdution to cross platform text editors
|
||||||
|
|
||||||
## Details
|
The computers in our classroom run Windows for which the easiest tool to write and visualise markdown is [vscode](https://code.visualstudio.com/).
|
||||||
|
On linux you can also use vscode but as markdown files are just simple text files, any text editor will do.
|
||||||
* **Id:** prerequisite.theory.editors
|
My personal preference is vim but use whatever you fancy.
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
## Information
|
## Information
|
||||||
|
|
||||||
|
@ -27,28 +38,11 @@
|
||||||
|
|
||||||
# Short introdution to git for notekeeping
|
# Short introdution to git for notekeeping
|
||||||
|
|
||||||
## Details
|
|
||||||
|
|
||||||
* **Note:** git tutorial
|
|
||||||
* **Id:** prerequisite.theory.git
|
|
||||||
* **Effort:** 0.8
|
|
||||||
|
|
||||||
## Information
|
## Information
|
||||||
|
|
||||||
|
* our [gitea](https://gitea.86thumbs.net/) server
|
||||||
* getting started with [git](https://git-scm.com/book/en/v2)
|
* getting started with [git](https://git-scm.com/book/en/v2)
|
||||||
* standard git [gui](https://git-scm.com/book/en/v2/Appendix-A%3A-Git-in-Other-Environments-Graphical-Interfaces)
|
* standard git [gui](https://git-scm.com/book/en/v2/Appendix-A%3A-Git-in-Other-Environments-Graphical-Interfaces)
|
||||||
* cross platorm git gui [gitkraken](https://www.gitkraken.com/) *needs account*
|
* cross platorm git gui [gitkraken](https://www.gitkraken.com/) *needs account*
|
||||||
* getting started with git [pluralsight](https://app.pluralsight.com/library/courses/getting-started-git/table-of-contents)
|
* getting started with git [pluralsight](https://app.pluralsight.com/library/courses/getting-started-git/table-of-contents)
|
||||||
|
|
||||||
# Introduction to markdown for notekeeping
|
|
||||||
|
|
||||||
## Details
|
|
||||||
|
|
||||||
* **Note:** markdown syntax
|
|
||||||
* **Id:** prerequisite.theory.markdown
|
|
||||||
* **Effort:** 0.3
|
|
||||||
|
|
||||||
## Information
|
|
||||||
|
|
||||||
* markdown [guide](https://www.markdownguide.org/getting-started)
|
|
||||||
* basic [syntax](https://www.markdownguide.org/basic-syntax)
|
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
# Raspberry PI exercises
|
||||||
|
|
||||||
|
## GUI installation
|
||||||
|
|
||||||
|
This is a bit of an *exploration* exercise.
|
||||||
|
Go to the [Raspberry PI OS](https://www.raspberrypi.org/) website and download the Desktop OS.
|
||||||
|
Find a way to flash the OS to your SD card.
|
||||||
|
There are multiple options to do so so feel free to look for the way that looks the most straight forward to you.
|
||||||
|
Once up and running have a look around the OS and see if you recognise the *desktop environment*.
|
||||||
|
Configure the desktop environment to your liking such as keyboard, language, timezone etc.
|
||||||
|
Connect to internet and perform an upgrade of the system so that all software is up to date.
|
||||||
|
(You can connect either over Wifi of over ethernet, your choice.)
|
||||||
|
Was everything already up to date?
|
||||||
|
If not, why would a fresh install have updates?
|
||||||
|
Do you recognise any of the packages that need upgrading?
|
||||||
|
|
||||||
|
I would like you to take some notes concerning the topics above, preferably with a markdown file on your gitea account. (you'll need the notes later for debrief)
|
||||||
|
You might have to install some things, maybe not.
|
||||||
|
Which text editor did you choose?
|
||||||
|
Are you visualising your markdown file before pushing?
|
||||||
|
If so, how are you doing this?
|
||||||
|
|
||||||
|
Can you tell me a bit more about this computer?
|
||||||
|
Some *details* about the system such as RAM, CPU type/count, how many users are known to the system, ip address, kernel version, temperature, etc. (the more the better)
|
||||||
|
Which programs are you using to find out about the system?
|
||||||
|
Are there multiple ways of discovering this information?
|
||||||
|
|
||||||
|
### Extra challenge
|
||||||
|
|
||||||
|
Can you connect to our matrix server and send us a message from this computer?
|
||||||
|
|
||||||
|
For the next part you will have to setup the same Raspberry PI but without graphical interface.
|
||||||
|
I advise you to make do some research on how to configure all the system setting you did but *without* a GUI.
|
||||||
|
Best to keep track of this research.
|
||||||
|
Power down the PI in a *clean* manner and move on to the next challenge.
|
||||||
|
|
||||||
|
## Headless installation
|
||||||
|
|
||||||
|
On the same website as before you can also download an image without a desktop environment.
|
||||||
|
Which one would it be?
|
||||||
|
Find it, download it and flash it to your sd card.
|
||||||
|
Once the PI is up and running log in and find a way to connect to the internet over Wifi and confirm you have an actual internet connection.
|
||||||
|
You can do this any way you deem fit but please keep a note on how you do it and if you know multiple ways, please write them down.
|
||||||
|
Clone the repository you made during the previous install to this one and note some of the differences you spot between this installation and the previous one.
|
||||||
|
Is this system up to date?
|
||||||
|
If not, is it a big difference?
|
||||||
|
What services are running?
|
||||||
|
What's the memory usage difference?
|
||||||
|
How annoying is multitasking on this installation?
|
||||||
|
Can you think of an *easy* way to be more productive?
|
||||||
|
|
||||||
|
Next up I would like you to install an ssh server on this Raspberry PI.
|
||||||
|
Confirm it's running and accepting connections.
|
||||||
|
(I'm very willing to debug your connection from my computer but you'll have to tell me what to do)
|
||||||
|
You can again do this in any way you can think of but keep track of what works and what doesn't.
|
||||||
|
|
||||||
|
Your next step will be to log into this machine without screen and keyboard connected so write down any information you might need to do so.
|
||||||
|
How will you find your Raspberry PI on the network?
|
||||||
|
|
||||||
|
Once you're confident the ssh server is up and running turn off the Raspberry PI, again in a *clean* manner, and disconnect the screen and keyboard.
|
||||||
|
|
||||||
|
## Time go fully headless
|
||||||
|
|
||||||
|
Get your windows machine back up and running and log into your Raspberry PI over ssh.
|
||||||
|
Does windows have a built in ssh client?
|
||||||
|
You might need to download one.
|
||||||
|
|
||||||
|
Are you sure this is your Raspberry PI?
|
||||||
|
Can you *accidentally* log into the wrong PI?
|
||||||
|
How would you make it more clear for yourself (and others) that your PI is yours?
|
||||||
|
|
||||||
|
If you made it this far you should know your IP address and should have noticed we are not in the same network as Steve's network.
|
||||||
|
On the router between our network and Steve's there is a webserver running and this webserver is serving a file called `accounts.csv`.
|
||||||
|
Please download it and create user accounts for all these people.
|
||||||
|
The username should be the `$USERNAME` part of their matrix handle and as a password their `$FIRSTNAME$LASTNAME`.
|
||||||
|
|
||||||
|
### Extra challenge
|
||||||
|
|
||||||
|
If the lack of multitasking is driving you crazy, how would you go about fixing it?
|
||||||
|
Can you connect to our matrix server and send us a message from this computer?
|
||||||
|
|
||||||
|
How can we exchange files between this computer and our windows machine?
|
||||||
|
Some sort of FTP server would be handy no?
|
||||||
|
Can you set one up for all our users?
|
|
@ -1,61 +1,21 @@
|
||||||
## MR05/XX Introduction to hardware components of servers and clients
|
# MR04/R71 Introduction to linux
|
||||||
|
|
||||||
* **Note:** In this module we will focus on hardware and the exposure to Raspberry Pi's as an alternative target platform
|
## Very brief introdution to bandit and SSH
|
||||||
* **Id:** resources.hardware
|
|
||||||
* **Effort:** 2.5
|
|
||||||
|
|
||||||
### Group deployment of RPI clients and headless servers
|
## Introduction to the shell
|
||||||
|
|
||||||
* **Id:** resources.hardware.theory.deployment
|
## Quick dive into a GUI installation
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
### Introduction to Raspberry Pi (ARM vs x86)
|
## History of unix/linux and Debian
|
||||||
|
|
||||||
* **Id:** resources.hardware.theory.rpi
|
## Introduction to vim
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
## MR04/R71 Introduction to linux
|
# MR05/XX Introduction to hardware components of servers and clients
|
||||||
|
|
||||||
* **Note:** Introduction to the history and usage of Linux as an OS with both graphical and shell interfaces.
|
## Introduction to Raspberry Pi (ARM vs x86)
|
||||||
* **Id:** resources.linux
|
|
||||||
* **Effort:** 5.0
|
|
||||||
|
|
||||||
### Very brief introdution to bandit and SSH
|
## Group deployment of RPI clients and headless servers
|
||||||
|
|
||||||
* **Note:** bandit
|
# MR03/R61 Introduction to centralized administration of networking services
|
||||||
* **Id:** resources.linux.theory.bandit
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
### Introduction to the shell
|
|
||||||
|
|
||||||
* **Note:** Based on Ryan's tutorials
|
|
||||||
* **Id:** resources.linux.theory.cli
|
|
||||||
* **Effort:** 1.0
|
|
||||||
|
|
||||||
### Quick dive into a GUI installation
|
|
||||||
|
|
||||||
* **Id:** resources.linux.theory.gui
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
### History of unix/linux and Debian
|
|
||||||
|
|
||||||
* **Id:** resources.linux.theory.intro
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
### Introduction to vim
|
|
||||||
|
|
||||||
* **Note:** complete vimtutor and create a custom vimrc
|
|
||||||
* **Id:** resources.linux.theory.vimtutor
|
|
||||||
* **Effort:** 0.5
|
|
||||||
|
|
||||||
### MR03/R61 Introduction to centralized administration of networking services
|
|
||||||
|
|
||||||
* **Id:** resources.networking.services
|
|
||||||
* **Effort:** 7.5
|
|
||||||
|
|
||||||
### Debian implementations of essential services
|
|
||||||
|
|
||||||
* **Note:** Focus on DHCP, DNS, SFTP, SSH, CUPS, LDAP following chapter 10 and chapter 11 of the Debian system administrator handbook
|
|
||||||
* **Id:** resources.networking.services.theory.debian
|
|
||||||
* **Effort:** 2.5
|
|
||||||
|
|
||||||
|
## Debian implementations of essential services
|
||||||
|
|
Loading…
Reference in New Issue