Commit 1aeab910 authored by Daniel Müller's avatar Daniel Müller
Browse files

Add VM download + geany description to README

parent 472c4d03
......@@ -2,17 +2,18 @@
## What is different compared to the official VM?
- Based on current Debian buster (10.7) instead of Ubuntu 14.04 from 2014
- New more modern Texteditor / lightweight IDE "geany" as replacement for snavigator. More info [below](#geany-as-replacement-for-sourcenavigator)
- The newer OS allows for easy customization with current applications if needed
- Preconfigured with icons and theme for a more modern look and feel
- Better startmenu (whiskermenu)
- Automatic login to desktop (The login doesn't add any security in this case and only takes more time)
- No automatic screensaver / logout
- More lightweight and optimized for use in a VM and for the specific tasks required
- Only ~46 tasks after boot compared to ~94 tasks on the original VM
- Less than 50 tasks after boot compared to more than 90 on the original VM
- Much more diskspace inside the VM with 19GB total instead of only 8GB (the disk is dynamic so it takes only actually used space from the host)
- Much less diskspace used inside the VM with only ~2.5GB used instead of ~5.6GB
- Much smaller image size with less than 1GB instead of ~2.7GB
- Source Navigator is preconfigured to use the modern `utf-8` textencoding instead of `iso8859-1` from 1987. That makes it easy to use special chars in the textfiles on any modern machine. Keep in mind that this breaks the special chars in the given files (e.g. `äöü...`) since those are using the old encoding.
- In case Source Navigator is still used, it is preconfigured to use the modern `utf-8` textencoding instead of `iso8859-1` from 1987.
- When mounting LabDisk and h-da user homedirectory, the username is automatically saved and reused
- The full VPN is replaced by sshuttle, which acts in the same way but tunnels all traffic through ssh
- With sshuttle the _VPN_ can also use passwordless authentication when it is configured
......@@ -20,11 +21,56 @@
- The ansible config shows exactly what steps have been used to setup the VM as it is and provide a comprehensible log of what was changed
- By using the ansible configuration, future updates (e.g. installing additional packages, changing binaries, ...) could be applied with one command inside the VM instead of needing to setup and configure a completely new VM image
## Screenshots
## Get the VM Image
As this is an unofficial project, the download is provided as an external link. Since it is likely that sensitive data (st-account information + passwords) is present at some point inside the VM, caution is advised. The provided VM image contains nothing that is not specified in the ansible playbook.
![](doc/screenshot1.png)
It is advised to calculate the SHA256 hash of the downloaded image file and check if it is the same as below to prevent installing a modified or broken version of the image.
### Downloads
[ra_mps-vm-sv-1.0.ova](https://drive.google.com/file/d/1DpYe2CGUX8J-b-JY5uggN1IfHmnBD__7/view?usp=sharing)
`SHA256: 00049DE630682904B0633B6B1D617E8B7F8D72285EAFD7F7818DC0C7F3AE31F6`
## Geany as replacement for SourceNavigator
In our usecase snavigator just acts as a plain texteditor with mediocre syntax highlighting and as a launcher for the insight debugger.
Technically any program can be used to write the code and the compilation can be done with a simple `make` command. The actual heavy lifting is done by the insight debugger (in our case `arm-elf-insight`).
While the debugger is harder to replace, snavigator can be fully replaced by the much newer lightweight IDE "Geany". The provided configuration has geany set up to build/debug the code with only one click using the makefile located in the same directory as the codefile.
A short selection of some advantages geany has in Comparison to SourceNavigator (in our usecase):
- No need to create, recreate or open projects. Geany can work directly on the codefiles. Just rightclick "open with geany"
- Line numbers (idk why this is not a thing in snavigator)
- Simple autocomplete
- Automatic closing for `()[]{}""''`
- Integrated file explorer view
- Remembers open files
- Optional integration with git (actions from IDE + highlighting changes in files)
- Code minimap
- Generally faster
- Generally more modern and better user experience
- Support for actual theming with a large selection of themes available online
- Highly customizable and extensible with many settings and and a sizable selection plugins
### How to use geany with the tasks from RA & MPS labs
Rightclick the codefile and select "Open with geany"
![](doc/screenshot_geany1.png)
To build the code, click the refresh button in the toolbar or select Build->Make. This will execute `make build` in the same directory as the currently selected code file. The output can be viewed in the compiler log at the bottom.
To change the main code file that is compiled, the makefile has to be changed, just just like with snavigator.
![](doc/screenshot_geany2.png)
![](doc/screenshot2.png)
To run the debugger, click the double gear icon in the toolbar or select Build->Debug. This will execute `make debug` in the same directory as the currently selected code file. If the makefile is setup correctly, the insight debugger will start and can be treated just like with snavigator.
Note: The makefile has to include the debug target:
```
debug:
arm-elf-insight $(FILE).elf
```
![](doc/screenshot_geany3.png)
## How to use the hda-util.sh (Desktop shortcuts)
A custom bashscript is installed to `/home/fs/hda-util.sh` which provides easy access to mounting h-da network shares, opening the VPN connection and more.
......@@ -111,4 +157,12 @@ The tasks for RA and MPS labs are not included to prevent license and copyright
## Known issues
### System volume is on 0 by default
- Workaround: Just turn it up
\ No newline at end of file
- Workaround: Just turn it up
## Random screenshots
![](doc/screenshot1.png)
![](doc/screenshot2.png)
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment