local-lvm (pve)
/dev/pve
hdd-1tb (pve)
/dev/hdd-1tb
synology (pve)
/mnt/pve/synology
local-lvm (pve)
/dev/pve
hdd-1tb (pve)
/dev/hdd-1tb
synology (pve)
/mnt/pve/synology
Follow the instruction for installation:
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt-get update
sudo apt-get install google-chrome-stable
Many thanks to post!
originalAt the end of this article you’ll have a working PXE server that lets you boot memtest86+ over a network.
The goal is to have a simple but working solution. This is why I’m using memtest. It consists of just one file and thus is easy to use in a PXE setup. More complex scenarios (i.e. loading real operating systems) can be built on top of this simple setup.
Everything described in the article can be done inside a virtual machine. The only requirement is that the VM is connected directly (i.e. no NAT) to the network where it’s supposed to serve PXE (usually the host’s network).
PXE is an abbreviation for “Preboot Execution Environment”. To put it simple: It’s a standardized way to boot an operating system over network (rather than from hard disk).
DHCP is usually used to assign IP addresses to computers/devices in a network. PXE is an extension to DHCP. To use PXE one needs a PXE-capable DHCP server.
When PXE was designed, the creators wanted to make it compatible with networks that already have an existing DHCP server. As a result, PXE and DHCP can be provided by separate servers without interfering with each other. In this scenario, the PXE server is called proxyDHCP server and only provides the PXE functionality (but doesn’t do IP assigning).
TFTP (Trivial File Transfer Protocol) is used by PXE clients to download the operating system (file) from the PXE server.
dnsmasq is a “simple” Linux tool that combines a DNS server, a DHCP server, a TFTP server, and a PXE server. This is the tool you’ll use in this article.
The steps in this article are based on Ubuntu 16.04.
You need the following packages:
$ apt-get install dnsmasq pxelinux syslinux-common
You also need the precompiled memtest binary:
$ wget http://www.memtest.org/download/5.01/memtest86+-5.01.bin.gz $ gzip -dk memtest86+-5.01.bin.gz
Furthermore, you need a working DHCP server (e.g. one provided by a hard router).
The last thing you need is to know the network you’re on. My network is 192.168.178.XXX
– so I’ll use this in this article. This information is only needed once in a configuration file (see below).
Warning: During the course of this article your Ubuntu machine may temporarily lose the ability to do DNS lookups. This is caused by dnsmasq
. If this happens to you and you need to download anything or access the web, just (temporarily) stop dnsmasq
.
Lets do it then. This section describes all steps need to get a working PXE server.
First, lets stop dnsmasq for now.
$ service dnsmasq stop
Create the directory where all transferable operating system files will reside:
$ mkdir -p /var/lib/tftpboot
Inside of this directory, create a directory for the unzipped memtest binary file and copy it there:
$ mkdir -p /var/lib/tftpboot/memtest $ cp ~/memtest86+-5.01.bin /var/lib/tftpboot/memtest/memtest86+-5.01
Important: Note that the copy command removed the .bin
file extension. This is required.
Now create the directory for the PXE configuration file:
$ mkdir -p /var/lib/tftpboot/pxelinux.cfg
Important: This directory must always be called pxelinux.cfg
.
Inside of this directory, create a file called default
and put in the following content:
default memtest86 prompt 1 timeout 15 label memtest86 menu label Memtest86+ 5.01 kernel /memtest/memtest86+-5.01
Next, you need to put the files pxelinux.0
(Ubuntu package pxelinux
) and ldlinux.c32
(Ubuntu package syslinux-common
) in /var/lib/tftpboot
. I’ll use symlinks for that:
$ ln -s /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot/ $ ln -s /usr/lib/syslinux/modules/bios/ldlinux.c32 /var/lib/tftpboot/
Now, clear all contents of /etc/dnsmasq.conf
and replace them with this:
1
2
3
4
5
6
7
8
910
11
12
13
14
15
16
17
|
# Disable DNS Server port=0 # Enable DHCP logging log-dhcp # Respond to PXE requests for the specified network; # run as DHCP proxy dhcp-range=192.168.178.0,proxy dhcp-boot=pxelinux.0 # Provide network boot option called "Network Boot". pxe-service=x86PC,"Network Boot",pxelinux enable-tftp tftp-root=/var/lib/tftpboot |
Important: In line 9 you need to put in your network, if you’re not on 192.168.178.XXX.
Edit /etc/default/dnsmasq
and add the following line to the end:
DNSMASQ_EXCEPT=lo
This line is necessary because you disabled dnsmasq’s DNS functionality above (with port=0
). Without it Ubuntu will still redirect all DNS queries to dnsmasq
– which doesn’t answer them anymore and thus all DNS lookups would be broken. You can check /etc/resolv.conf
and verify that it contains the correct IP address for your network’s DNS server.
Last step – start dnsmasq
again:
$ service dnsmasq start
Now, when starting a PXE-enabled machine, it should boot memtest.
This script will show your current WAN IP address before and after connecting to your VPN.
VALID_IP="123.123.123.123" #this is the correct IP you should be connected to
myip="$(dig +short myip.opendns.com @resolver1.opendns.com)"
echo "My current WAN/Public IP address: ${myip}"
echo "Starting OpenVPN connection"
sleep 1
sudo openvpn --config ~/path/to/VPNConfig.ovpn --daemon
echo "Establishing connection..."
sleep 8
myip="$(dig +short myip.opendns.com @resolver1.opendns.com)"
echo "Now connected to WAN/Public IP address: ${myip}"
if [ "$myip" == "$VALID_IP" ]; then
echo "Succesfull connected to VPN-server!"
sleep 1
fi;
exit
Edit /etc/dhcpcd.conf
sudo nano /etc/dhcpcd.conf
Add the following rows add the bottom of the text. Leave the default text intact.
interface eth0 static ip_address=192.168.1.99 interface wlan0 static ip_address=192.168.1.100 static routers=192.168.1.1 static domain_name_servers=202.62.64.3 8.8.8.8
Reboot
1. To install it, open terminal (Ctrl+Alt+T) or log in Ubuntu server and run command:
sudo apt-get install openssh-server
2. After that, you should have SSH service enabled in your system, you may check its status by running command:
sudo service ssh status
3. You may change some settings (e.g., the listening port, and root login permission) by editing the configuration file via command:
sudo nano /etc/ssh/sshd_config
On Ubuntu desktop, you may use gedit
instead of nano
:
Finally apply the changes by restarting or reloading SSH:
sudo service ssh restart
CIFS installation
sudo apt-get install cifs-utils
First, let’s create the mount directory. You will need a separate directory for each mount.
sudo mkdir /media/windowsshare
Then edit your /etc/fstab file (with root privileges) to add this line: (more…)
When you install Zorin, it could be possible that you don’t see a title bar at the top of you screen. This is because of an error in the Compiz window manager.
You can avoid this problem by using Metacity instead.
Follow the next steps:
Now you’re logged in to a Gnome enviroment with the Metacity window manager.
With help from this manual you can make your own APRS Igate with a Raspberry Pi and RTL-SDR dongle.
If you find any incorrect information or you have additional info, please leave a comment!
Offcourse change some of the commands to your personal settings like Callsign, gain, correction factor etc.
Install Raspian operation system to your Raspberry Pi. See: Installation manual
My advice is to let the system boot to termial in stead of the graphical user interface (GUI). This will keep as much as possibile processor power and memory free.
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo raspi-config mkdir ~/src
sudo nano /etc/modprobe.d/raspi-blacklist.conf
Add the next lines to the file:
blacklist dvb_usb_rtl28xxu blacklist dvb_usb_v2 blacklist rtl_2830 blacklist rtl_2832 blacklist r820t
sudo reboot
cd ~/src sudo apt-get install git build-essential cmake libusb-1.0-0-dev git clone git://git.osmocom.org/rtl-sdr.git cd rtl-sdr mkdir build cd build cmake ../ -DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig
cd ~/src sudo apt-get install qt4-qmake qt4-default libpulse-dev libx11-dev patch pulseaudio git clone https://github.com/EliasOenal/multimonNG.git cd multimonNG mkdir build cd build qmake ../multimon-ng.pro make sudo make install
cd ~/src sudo apt-get install libtool autoconf automake libfftw3-dev git clone https://github.com/asdil12/kalibrate-rtl.git cd kalibrate-rtl git checkout arm_memory ./bootstrap ./configure make sudo make install
kal -s GSM900 kal -c 36
(Channel 36 was strongest at my place. You may find another channel to be stronger)
cd ~/src sudo apt-get install python2.7 python-pkg-resources git clone https://github.com/asdil12/pymultimonaprs.git cd pymultimonaprs sudo python2 setup.py install
sudo cp pymultimonaprs.init /etc/init.d/pymultimonaprs sudo chmod +x /etc/init.d/pymultimonaprs sudo update-rc.d pymultimonaprs defaults
(If you allready have a APRS password, you can use that offcourse.)
Change ‘CALLSIGN’ to your own callsign. Don´t add the SSID like CALLSIGN-10. That would give you another (wrong) key.
cd ~/src/pymultimonaprs ./keygen.py CALLSIGN Key for CALLSIGN: 12345
sudo nano /etc/pymultimonaprs.json
Start system to test funtionallity. (Ctrl+C for stop)
rtl_fm -f 144800000 -s 22050 -p 18 -g 42.0 - | multimon-ng -a AFSK1200 -A -t raw -
The -p 18 is correction in PPM, -g 42.0 is one of the possible gain factors. You have to make a choice from the following supported values:
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
Start pymultimonaprs
sudo /etc/init.d/pymultimonaprs start
See which USB number the RTL-SDR dongle has:
lsusb
Check by USB number if the group by RTL-SDR device is ‘input’. ls –lR /dev/bus/usb
For example: If RTL-SDR device is in (group) Bus 001 and Device 004:
cd /dev/bus/usb/001 sudo chgrp input 004
Source: https://yd0nxx.wordpress.com/2013/04/30/aprs-igate-using-raspberry-pi-board/
Password = 123456 (default)
Phonenumber = +31619xxxxxx (fill in complete number)
123456,sos1,0031619xxxxxx#
Return message:
0031619xxxxxx has been set for the master number sucessfully.
for example Dutch provider Simyo.nl
APN = portalmmm.nl
Port = 5080
User = empty
Password = empty
apn,portalmmm.nl,user,,pd,,pport,5080#
Return message:
Apn set succesfully! Reboot system now ...
lag,1# — Change the language to 1=Chinese (default), 2=English, 3=Russian dsp# — Device status and work situation
gon# — Turn on the tracking function (factory default)
goff# — Turn off the tracking function
aj# — Set push to answer incoming call (fatory default)
mt# — Auto-answer handsfree incoming call
jy# — Silence monitoring
dw# — Check position
tim,10# — Setting interval of the position data upload (factory default is 10 mins)
lon# — Turn on indicator light (factory default)
loff# — Turn off indicator light
dndoff# — Turn off DO NOT DISTURB in push-to-talk mode (factory default)
dndon# — Turn on DO NOT DISTURB in push-to-talk mode
See also:
http://en.rf-gsm.com/uploads/soft/140407/RF-V16-Spec.pdf