-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
write initial version of presentation
Signed-off-by: Hrvoje Varga <hrvoje.varga@gmail.com>
- Loading branch information
Showing
24 changed files
with
879 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
language: generic | ||
|
||
services: | ||
- docker | ||
|
||
before_install: | ||
- docker pull hvarga/latex-docker | ||
|
||
script: | ||
- docker run --rm -v ${PWD}:/home/latex/work -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --user root --entrypoint make hvarga/latex-docker | ||
|
||
before_deploy: | ||
- git tag "build-$TRAVIS_BUILD_NUMBER" | ||
|
||
deploy: | ||
provider: releases | ||
api_key: | ||
secure: mLUzVIQpVAMybaHzUkjt33CC1HAnOxqCDYDmaW/0XHmOWHgNqxDqmotTDNZIFijxo/kS1dtDEaTdcUp4d4TML7AKdnk7USXwXYQFYWKTqmWo0cjd4lRIj7f2HVfthkxuhdjN8uSz7tLO8R4kM1iJwMF08ph8FMnjvelCNOxwPWQyYLUTVCgTsEfV7ApTJyMpbLZVeF2R4WlX0sofin+ggYN6++BBsXWR15pRjWxDls7BVkoRodtHR5Kf/QqFbHFXQ1WUqsgqEsrkXLE1klxG/a1Rio3hzByMElglA1tZUoq7L26Hz2lJ29PzugW3pwErsuz4N9MSiCDov3xa/hTY35V5uAItleTutp3qQlI4r+NGM6ydkpiRjR+ulxhljlmEYrg65nZZYIdrVTirsS92Duhis0R2rTp0fYXC6bmRF4fb0qVy3Ms+vBPIhogZkJfuyscp4SAqB8OcWqy0CY7w+KSGD89Bf0uBKE4BvrXwJ/sIVPvNLhFETQs24B6QEbiLnUkVnTVBRpoH3/zuqGnKkm3sOKOUHn/G45C1SMWpRgvEPBUPUMUwuqudA6+Zri9X5cyvXu3/37yTxbytu/gHUBV3faIeiF6tA+lO2xNEjiZ5eAuXZefIUXfmJR0LQ6O0ZKWp0uuOIM///RCIMPPAKMGggJrJBRaGfCW0dFUy5xk= | ||
file: | ||
- presentation/build/openwrt-application-development-beamer.pdf | ||
- presentation/build/openwrt-application-development-slides.pdf | ||
- presentation/build/openwrt-application-development-handout.pdf | ||
overwrite: true | ||
skip_cleanup: true | ||
on: | ||
branch: master | ||
tags: false | ||
|
||
branches: | ||
except: | ||
- /build-[0-9]/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
all: | ||
(cd presentation; make) | ||
clean: | ||
(cd presentation; make clean) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
# OpenWrt - Application Development | ||
|
||
[![Build Status](https://travis-ci.org/hvarga/openwrt-application-development.svg?branch=master)](https://travis-ci.org/hvarga/openwrt-application-development) | ||
|
||
The goal of this project is to write a presentation which will help you to learn the basic knowledge about the OpenWrt and its ecosystem so that you can create your own custom application which will run on OpenWrt. | ||
|
||
Presentation itself is written using LaTeX. | ||
|
||
## How to Generate a PDF | ||
|
||
To be able to generate a PDF yourself you have to have quite a large collection of tools. It is highly recommended to use prepared Docker Image. This Docker Image contains everything you need to start working on the presentation. Alternative is to manually install the LaTeX system like TeX Live yourself which is out of scope of this documentation. Follow the sections below to configure your environment using prepared Docker Image. | ||
|
||
### Docker Image | ||
|
||
There is a Docker Image already prepared for you. You need to have a Docker installed before using prepared Docker Image. | ||
|
||
After the Docker is installed, execute following command to get the prepared Docker Image: | ||
|
||
```plain | ||
docker pull hvarga/latex-docker | ||
``` | ||
|
||
And that's it. You can proceed to chapter [Download the Source Materials](#download-the-source-materials). | ||
|
||
For more information about the prepared Docker Image, read the https://github.com/hvarga/latex-docker. | ||
|
||
### Download the Source Materials | ||
|
||
Second step is to download the source materials for the presentation. This can be accomplished using the Git to clone the repository. You need to have Git installed on your system. So, one more tool to install. | ||
|
||
Use your system package manager to install Git or go to http://git-scm.com/downloads and choose your operating system and follow directions. | ||
|
||
Now that you installed the Git, it is time to clone the repository. | ||
|
||
Open up your terminal and enter the following: | ||
|
||
```plain | ||
git clone git@github.com:hvarga/openwrt-application-development.git | ||
``` | ||
|
||
Git will do its magic and you will have the source materials. | ||
|
||
### Generate PDF | ||
|
||
Position yourself in the root folder of cloned repository and execute following command: | ||
|
||
```plain | ||
docker run --rm -v ${PWD}:/home/latex/work -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --entrypoint make hvarga/latex-docker | ||
``` | ||
|
||
You don't have Docker or this Docker Image? Follow [Docker Image](#docker-image) chapter. | ||
|
||
Above command will start the Docker Container out of the Docker Image that you pulled earlier in [Docker Image](#docker-image) chapter. Docker Container will execute `make` and `make` will call `latexmk` which will take care of generating the PDF document. PDF will be stored in the `build/openwrt-application-development.pdf`. Enjoy reading! | ||
|
||
## How to Contribute to the Presentation | ||
|
||
Since this presentation is under the Creative Commons license, everyone is free to share and adapt it. | ||
|
||
So, if you are willing to contribute by correcting grammar mistakes, making structural changes, alter the visual appearance for better readability, supplement some sections or chapters with additional information's that can help out a reader or even writing a new sections or chapters than by any means - contribute. | ||
|
||
### Learn LaTeX | ||
|
||
This presentation is written using the [LaTeX](http://latex-project.org/). So, if you want to contribute to the presentation than, obviously, you need to know LaTeX. Its homepage has a lot of good information's for reading. But if I have to single out just one good book to read, than I would recommend ["The (Not So) Short Introduction to LaTeX2e"](http://ctan.tug.org/tex-archive/info/lshort/english/lshort.pdf). If you don't have the time to invest in learning another technology or you are just too lazy than, please, at least read this recommended book. | ||
|
||
### Configure Environment | ||
|
||
Now to the fun part - in order to contribute, first, follow the [How to Generate a PDF](#generate-pdf) section of this document. Note that if you want to contribute to the presentation than you need to have the Git. Without it, you cannot send me your changes that you made to the presentation. | ||
|
||
Contributions to this presentation will be handled by the Git and the GitHub. So, [create an account](https://github.com/join) on the GitHub if you don't have one already. You will use Git to make versions of your changes and the GitHub [pull requests](https://help.github.com/articles/using-pull-requests) to send me your changes. | ||
|
||
Please, read a bit about the [Git](http://git-scm.com/doc) and the [GitHub](https://help.github.com/) itself before you start with your contributions. | ||
|
||
### Use LaTeX and Vector Drawing Editor | ||
|
||
Docker Image that you pulled earlier in [Docker Image](#docker-image) chapter, besides generating PDF, also comes with a LaTeX editor called [TeXstudio](https://www.texstudio.org/) and vector drawing editor called [Ipe](http://ipe.otfried.org/). | ||
|
||
#### TeXstudio | ||
|
||
To run TeXstudio, execute following command in the root folder of cloned repository: | ||
|
||
```plain | ||
docker run --rm -v ${PWD}:/home/latex/work -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix hvarga/latex-docker --ini-file /home/latex/profile.txsprofile | ||
``` | ||
|
||
If you are experiencing problems with running above command, please read the https://github.com/hvarga/latex-docker. | ||
|
||
After TeXstudio loads, you need to open the `main.tex` file. Presentation root is located in `/home/latex/work` and the `main.tex` is available at `/home/latex/work/presentation/main.tex`. | ||
|
||
`main.tex` is the root document of the project since it contains `\begin{document}` statement. | ||
|
||
#### Ipe | ||
|
||
To run Ipe, execute following command in the root folder of cloned repository: | ||
|
||
```plain | ||
docker run --rm -v ${PWD}:/home/latex/work -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --entrypoint ipe hvarga/latex-docker | ||
``` | ||
|
||
Ipe saves drawings in PDF files which can then be directly included by LaTeX. Ipe also allows you to reopen your existing PDF made by Ipe. Besides this, it has a nice features like object snapping, grouping and aligning. Basic geometry primitives like lines, splines, polygons, circles etc. | ||
|
||
Happy contributing! | ||
|
||
## License | ||
|
||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
.PHONY: all pdf clean | ||
|
||
all: clean pdf | ||
|
||
pdf: | ||
git log -1 --format=\\newcommand{\\commitid}{%H} > current_commit.tex | ||
git log -1 --date=iso --format=\\newcommand{\\commitdate}{%ad} >> current_commit.tex | ||
|
||
latexmk -pdf -silent -time -pdflatex="pdflatex -interaction=nonstopmode -synctex=1" -use-make -aux-directory=build --output-directory=build main.beamer.tex | ||
cp build/main.beamer.pdf build/openwrt-application-development-beamer.pdf | ||
|
||
latexmk -pdf -silent -time -pdflatex="pdflatex -interaction=nonstopmode -synctex=1" -use-make -aux-directory=build --output-directory=build main.slides.tex | ||
cp build/main.slides.pdf build/openwrt-application-development-slides.pdf | ||
|
||
latexmk -pdf -silent -time -pdflatex="pdflatex -interaction=nonstopmode -synctex=1" -use-make -aux-directory=build --output-directory=build main.handout.tex | ||
cp build/main.handout.pdf build/openwrt-application-development-handout.pdf | ||
clean: | ||
rm -rf build | ||
rm -f current_commit.tex |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
\section*{About} | ||
|
||
\subsection*{License} | ||
\begin{frame}{License} | ||
\begin{center} | ||
Presentation is written using \LaTeX. Source code is available at \href{https://github.com/hvarga/openwrt-application-development}{GitHub}. | ||
\end{center} | ||
\vfill | ||
\begin{center} | ||
\doclicenseImage | ||
\\ | ||
\doclicenseLongText | ||
\end{center} | ||
\end{frame} | ||
|
||
|
||
\subsection*{Author} | ||
\begin{frame}{Author} | ||
\pause | ||
\begin{itemize}[<+-|alert@+>] | ||
\item Currently employed at \href{http://www.sartura.hr/}{Sartura} on developing tools and systems based on GNU/Linux distribution. | ||
\item Day-to-day assignments include developing programmatic solutions, their integration, testing and documentation. | ||
\item Oriented on a software development using C and Go programming languages. | ||
\item Always open to the possibility of using new open source systems and tools. | ||
\item Advocator of \textit{Open Source} philosophy. | ||
\item Contributor to various open source projects like LLVM, GDB, OpenWrt, MUSL, Sysrepo... | ||
\item \href{https://www.opensource-osijek.org}{Open Source Osijek} co-founder. | ||
\end{itemize} | ||
\end{frame} | ||
|
||
\subsection*{Contact} | ||
\begin{frame}{Contact} | ||
\begin{table} | ||
\begin{tabular}{c l} | ||
\huge \faGithub & \huge \href{https://github.com/hvarga}{hvarga} \\ | ||
\huge \faLinkedin & \huge \href{https://linkedin.com/in/hvarga}{/in/hvarga} \\ | ||
\huge \faEnvelope & \huge \href{mailto:hrvoje.varga@gmail.com}{hrvoje.varga@gmail.com} | ||
\end{tabular} | ||
\end{table} | ||
\end{frame} | ||
|
||
\subsection*{Goal} | ||
\begin{frame}{Goal} | ||
\textbf{Cover the OpenWrt from the application development perspective}. | ||
\pause | ||
\begin{itemize}[<+-|alert@+>] | ||
\item OpenWrt Basics. | ||
\item OpenWrt Modules. | ||
\item Custom Application. | ||
\end{itemize} | ||
\end{frame} | ||
|
||
\subsection*{Requirements} | ||
\begin{frame}{Requirements} | ||
\pause | ||
\begin{itemize}[<+-|alert@+>] | ||
\item Access to the Internet. | ||
\item Basic understanding of a GNU/Linux operating system~\cite{starch-how_linux_works}~\cite{starch-linux_command_line}. | ||
\item Basic understanding of the C programming language~\cite{prentice-c_programming_language}~\cite{wesley-c_primer_plus}~\cite{oreilly-understanding_and_using_c_pointers}. | ||
\item Basic understanding of the GNU make system~\cite{oreilly-managing_projects_with_gnu_make}. | ||
\item Basic understanding of Docker containerization system~\cite{turnbull-the_docker_book}. | ||
\item Basic understanding of Git versioning control~\cite{torvalds-git}~\cite{chacon-pro_git}. | ||
\item Your target device should already be supported by the OpenWrt. | ||
\item Good sense of principles, patterns, designs and methods in software engineering. | ||
\end{itemize} | ||
\end{frame} | ||
|
||
\subsection*{Agenda} | ||
\begin{withoutheadline} | ||
\begin{frame}[allowframebreaks]{Agenda} | ||
\textbf{Part I} | ||
\tableofcontents[part=1, subsubsectionstyle=hide] | ||
|
||
\framebreak | ||
|
||
\textbf{Part II} | ||
\tableofcontents[part=2, subsubsectionstyle=hide] | ||
\end{frame} | ||
\end{withoutheadline} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
\section*{References} | ||
|
||
\subsection*{Bibliography} | ||
\begin{frame}[allowframebreaks]{Bibliography} | ||
\printbibliography[heading=none] | ||
\end{frame} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
\documentclass[aspectratio=43]{beamer} | ||
\usetheme{Luebeck} | ||
\setbeamercolor{background canvas}{bg=lightgray} | ||
\input{main} |
Oops, something went wrong.