Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • qs2g22/meta-marfb
1 result
Show changes
Commits on Source (2)
......@@ -62,9 +62,7 @@ level_two() {
gp23hi
/sbin/level3d.sh &
/usr/bin/marvision 1>/dev/null 2>/dev/null
# To avoid undefined behaviours when marvision exited abnormally,
# reboot the system.
reboot -f
wait $!
}
level_three() {
......
#!/bin/sh
/usr/local/gpiomon -c 0 -n 1 -q 24
/usr/bin/gpiomon -c 0 -n 1 -q 24
# blocked until
/sbin/chlevel.sh 3
#!/usr/bin/env bash
echo "Content-type: text/html"
echo
echo "<html><head><title>CHLEVEL2-CGI</title>"
echo "<style>a { padding: 0px 1em; border: 3px outset buttonborder; border-radius: 3px; color: buttontext; background-color: buttonface; text-decoration: none; }</style>"
echo "</head><body>"
echo "<hr />"
echo "<strong>** DEBUG INFO **</strong><br />"
printf "<i>Who am i?</i> $(whoami)<br />"
printf "<i>Uname?</i> $(uname -a)<br />"
printf "<i>Date?</i> $(date)<br />"
printf "<i>Uptime?</i> $(uptime)<br />"
echo "<hr /><br />"
echo "<strong>** CHANGE RUNLEVEL TO 2 CGI **</strong><br /><br />"
printf "<pre>Capturing in background..."
exec /sbin/chlevel.sh 2 &
PID=$!
disown $PID
printf " process (PID=$PID) started, detached and disowned.</pre><br />"
echo "<strong>Runlevel Changed!</strong> The system will reboot now unless there is an error.<br /><br /><br />"
echo "</body></html>"
exit 0
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2024-11-02 Sat 21:44 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Change Runlevel</title>
<meta name="author" content="Qiyang Sun" />
<meta name="generator" content="Org Mode" />
<style>
#content { max-width: 60em; margin: auto; }
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #e6e6e6;
border-radius: 3px;
background-color: #f2f2f2;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: auto;
}
pre.src:before {
display: none;
position: absolute;
top: -8px;
right: 12px;
padding: 3px;
color: #555;
background-color: #f2f2f299;
}
pre.src:hover:before { display: inline; margin-top: 14px;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-authinfo::before { content: 'Authinfo'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { }
</style>
<style type="text/css"> html { color-scheme: light dark; } body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } a { padding: 0px 1em; border: 3px outset buttonborder; border-radius: 3px; color: buttontext; background-color: buttonface; text-decoration: none; } </style> <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div id="content" class="content">
<h1 class="title">Change Runlevel</h1>
<div id="outline-container-org63d2e81" class="outline-2">
<h2 id="org63d2e81">Control</h2>
<div class="outline-text-2" id="text-org63d2e81">
<p>
<a href="http://192.168.1.1/cgi-bin/chlevel2.cgi">Change Runlevel To 2</a> or manually visit /cgi-bin/chlevel2.cgi
</p>
</div>
</div>
</div>
<div id="postamble" class="status">
<br /><hr /><p><strong>Copyleft 2024 Qiyang Sun and the MAR24 Project Maintainers</strong>. Unless otherwise noted or where University of Southampton copyright regulations apply, this work (excluding code and program) is licensed under CC BY-SA 4.0 | Linux Foundation&reg; and Yocto Project&reg; are registered trademarks of the Linux Foundation. Linux&reg; is a registered trademark of Linus Torvalds. This project is not affiliated with Debian. Debian is a registered trademark owned by Software in the Public Interest, Inc. Raspberry Pi is a trademark of Raspberry Pi Ltd.<br /><p><strong>Author</strong>: Qiyang Sun <<a href="mailto:qs2g22@soton.ac.uk">qs2g22@soton.ac.uk</a>> | <strong>Last modified</strong>: 2024-11-02 Sat 21:44 | <strong>Static page built with</strong> <a href="https://www.gnu.org/software/emacs/">Emacs</a> 28.2 (<a href="https://orgmode.org">Org</a> mode 9.5.5) </p>
</div>
</body>
</html>
#+TITLE: Change Runlevel
#+SETUPFILE: ./orgsetup
* Control
[[http://192.168.1.1/cgi-bin/chlevel2.cgi][Change Runlevel To 2]] or manually visit /cgi-bin/chlevel2.cgi
......@@ -31,4 +31,7 @@ University of Southampton.</em></p>
<br />
<p><a href="http://192.168.1.1/camctrl">Camera Control</a> Capture and
view the camera.</p><br />
<p><a href="http://192.168.1.1/chlevel2">Change Runlevel To 2</a> Reboot
to rover mode.</p><br />
</body>
......@@ -13,7 +13,9 @@ SRCREV_FORMAT = "sha256"
SRC_URI += "file://html/landing.html"
SRC_URI += "file://html/camctrl.html"
SRC_URI += "file://html/chlevel2.html"
SRC_URI += "file://cgi-bin/camcap.cgi"
SRC_URI += "file://cgi-bin/chlevel2.cgi"
EXTRA_OECONF:append = " --add-module=../nginx-rtmp-module --add-module=../nginx-exec"
......@@ -55,6 +57,12 @@ do_install:append() {
install -m 0777 -d ${D}/var/www/localhost/html/camctrl
cp ${WORKDIR}/html/camctrl.html ${D}/var/www/localhost/html/camctrl/index.html
cp ${WORKDIR}/cgi-bin/camcap.cgi ${D}/var/www/localhost/html/cgi-bin/camcap.cgi
# install change level 2
install -m 0777 -d ${D}/var/www/localhost/html/chlevel2
cp ${WORKDIR}/html/chlevel2.html ${D}/var/www/localhost/html/chlevel2/index.html
cp ${WORKDIR}/cgi-bin/chlevel2.cgi ${D}/var/www/localhost/html/cgi-bin/chlevel2.cgi
}
FILES:${PN} += "/usr/local/ /usr/local/nginx/ /usr/local/nginx/* /var/www/localhost/html/video-js/"