You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
301 lines
6.3 KiB
301 lines
6.3 KiB
Raspberry Pi 1e installation
|
|
|
|
--------
|
|
Before 1e boot:
|
|
|
|
Add "ssh" file In The Boot Partition
|
|
|
|
"ssh" is empty
|
|
|
|
--------
|
|
|
|
Find ip-adres in router and log in via ssh (user: pi, password: raspberry)
|
|
|
|
Add user and make sure it has the same UID as your other machines (for convenience):
|
|
|
|
in "/etc/passwd" you cab find the UID of users
|
|
|
|
Add user:
|
|
adduser user_name
|
|
|
|
Change UID with command:
|
|
usermod -u 1001 user_name
|
|
|
|
Add new user to all the groups 'pi' is also in:
|
|
|
|
File "/etc/group"
|
|
Change all entries. For example: adm:x:4:pi becomes adm_x:username,pi")
|
|
|
|
Add new user to sudo:
|
|
usermod -aG sudo user_name
|
|
|
|
REBOOT SYSTEEM!
|
|
|
|
Login as new user and test (don't forget to test sudo!
|
|
|
|
Remove pi-user:
|
|
sudo deluser -remove-home pi
|
|
sudo rm -vf /etc/sudoers.d/010_pi-nopasswd
|
|
|
|
----
|
|
|
|
SSH loggin without password:
|
|
On local-machine (if not already done, check with "ls ~/.ssh/id_*"):
|
|
ssh-keygen -t rsa -b 4096
|
|
|
|
Copy the keu:
|
|
ssh-copy-id remote_username@server_ip_address
|
|
|
|
Log in on remote, now without passworrd
|
|
|
|
Disable login with password on remote: (optional; don't loose the key!)
|
|
open file "/etc/ssh/sshd_config"
|
|
|
|
Change:
|
|
PasswordAuthentication no
|
|
ChallengeResponseAuthentication no
|
|
UsePAM no
|
|
|
|
Restart ssh deamon:
|
|
sudo /etc/init.d/ssh reload
|
|
|
|
----
|
|
|
|
Change login schreen by editing the text file "/etc/motd".
|
|
|
|
Change the "sshd_config" to (if you now get two motd's, change it back to no)
|
|
PrintMotd yes
|
|
|
|
----
|
|
Change hostname:
|
|
|
|
sudo nano /etc/hostname
|
|
sudo nano /etc/hosts
|
|
|
|
|
|
---
|
|
LOCALE settings
|
|
|
|
sudo raspi-config
|
|
Than Localisation options / change locale (en_US.UTF-8 UTF-8)
|
|
and also time-zone
|
|
|
|
-----
|
|
|
|
Update system:
|
|
sudo apt-get update
|
|
sudo apt-get upgrade
|
|
|
|
---
|
|
|
|
Apache webserver and php
|
|
|
|
sudo apt-get install apache2 php
|
|
sudo chown www-data:www-data /var/www/html/
|
|
sudo usermod -aG www-data marcel
|
|
sudo chmod g+w /var/www/html/
|
|
install index.html in /var/www/html
|
|
|
|
---
|
|
|
|
Add firewall:
|
|
|
|
sudo apt install ufw
|
|
sudo ufw allow ssh
|
|
sudo ufw allow http
|
|
sudo ufw allow https
|
|
sudo ufw enable
|
|
sudo ufw status
|
|
------
|
|
|
|
Enable I2C RTC
|
|
|
|
sudo rapi-config
|
|
enable i2c
|
|
sudo reboot
|
|
|
|
sudo apt-get install i2c-tools
|
|
|
|
sudo i2cdetect -y 1
|
|
#68 is RTC
|
|
|
|
sudo nano /boot/config.txt
|
|
dtoverlay=i2c-rtc,ds1307
|
|
|
|
sudo reboot
|
|
sudo i2cdetect -y 1
|
|
You should see a wall of text appear, if UU appears instead of 68 then we have successfully loaded in the Kernel driver for our RTC circuit.
|
|
|
|
Disable fake hardware clock:
|
|
sudo apt-get -y remove fake-hwclock
|
|
sudo update-rc.d -f fake-hwclock remove
|
|
sudo systemctl disable fake-hwclock
|
|
|
|
|
|
sudo nano /lib/udev/hwclock-set
|
|
Find
|
|
|
|
if [ -e /run/systemd/system ] ; then
|
|
exit 0
|
|
fi
|
|
|
|
Replace With
|
|
|
|
#if [ -e /run/systemd/system ] ; then
|
|
# exit 0
|
|
#fi
|
|
|
|
|
|
Also comment out the two lines
|
|
/sbin/hwclock --rtc=$dev --systz --badyear
|
|
and
|
|
/sbin/hwclock --rtc=$dev --systz
|
|
|
|
Read RTC:
|
|
sudo hwclock -r
|
|
|
|
Set RTC from system time:
|
|
sudo hwclock -w
|
|
|
|
----
|
|
|
|
Direwolf:
|
|
sudo apt-get install git
|
|
sudo apt-get install cmake
|
|
sudo apt-get install libasound2-dev
|
|
sudo apt-get install libudev-dev
|
|
cd ~
|
|
cd direwolf
|
|
mkdir build && cd build
|
|
cmake -DUNITTEST=1 ..
|
|
make -j4
|
|
make test
|
|
sudo make install
|
|
|
|
make install-conf
|
|
|
|
edit direwolf.conf:
|
|
ADEVICE plughw:1,0
|
|
CHANNEL 0
|
|
MYCALL MYCALL-0
|
|
MODEM 1200
|
|
PTT GPIO 18
|
|
DCD GPIO 17
|
|
TXDELAY 40
|
|
TXTAIL 5
|
|
AGWPORT 8000
|
|
KISSPORT 8001
|
|
<REST: leave at default>
|
|
|
|
Add user to gpio-group:
|
|
sudo usermod -aG gpio marcel
|
|
|
|
----
|
|
AX25 support
|
|
|
|
sudo apt-get install libax25 ax25-apps ax25-tools
|
|
sudo nano /etc/ax25/axports
|
|
add:
|
|
ax0 PE1RXF-1 1200 255 2 144.800 MHz (1200 bps)
|
|
ax1 PE1RXF-2 9600 255 2 External radio
|
|
ax2 PE1RXF-3 9600 255 2 LoRa radio (internal)
|
|
|
|
---
|
|
APRX software
|
|
|
|
sudo apt-get install aprx
|
|
sudo systemctl enable aprx
|
|
|
|
add all AX.25 ports in /etc/aprx.conf:
|
|
|
|
#Main interface on internal radio
|
|
<interface>
|
|
ax25-device $mycall
|
|
tx-ok true # transmitter enable defaults to false
|
|
#telem-to-is true # set to 'false' to disable
|
|
</interface>
|
|
|
|
#Secondary interface on external radio
|
|
<interface>
|
|
callsign PE1RXF-2
|
|
ax25-device PE1RXF-2
|
|
tx-ok true
|
|
</interface>
|
|
|
|
#Third interface (internal LoRa radio)
|
|
<interface>
|
|
callsign PE1RXF-3
|
|
ax25-device PE1RXF-3
|
|
tx-ok true
|
|
</interface>
|
|
|
|
----
|
|
|
|
gnuplot:
|
|
|
|
sudo apt install gnuplot
|
|
|
|
-----
|
|
LoRa Module
|
|
|
|
sudo apt install socat
|
|
sudo ufw allow 10001
|
|
sudo raspi-config
|
|
enable SPI
|
|
|
|
Install RPi-LoRa-KISS-TNC
|
|
|
|
nano ./pySX127X/SX127x/board_config.py
|
|
|
|
change
|
|
LED = 18 # RaspPi GPIO 18 connects to the LED on the proto shield
|
|
to
|
|
LED = 13 # RaspPi GPIO 18 connects to the LED on the proto shield
|
|
# Made it GPIO 13, as pin 18 is in use by Direwolf
|
|
|
|
|
|
----
|
|
|
|
kissattach and kissutil can only be executed as root. But we don't want to enter a password when starting the pe1rxf-scripts as the aprs-server has to work autonomous. We also don't want to run all the scripts as root, because that's a safety risk. The solution is to add the following lines to the sudoers-file:
|
|
|
|
sudo visudo
|
|
marcel ALL = (root) NOPASSWD: /usr/sbin/kissattach
|
|
marcel ALL = (root) NOPASSWD: /usr/sbin/kissparms
|
|
marcel ALL = (root) NOPASSWD: /usr/bin/socat
|
|
marcel ALL = (root) NOPASSWD: /usr/bin/pigpiod
|
|
|
|
---
|
|
Install command line calculator
|
|
|
|
sudo apt-get install bc
|
|
|
|
----
|
|
Install pigpio (for carrier_detect LED)
|
|
|
|
sudo apt install pigpio
|
|
|
|
----
|
|
|
|
Install software from PE1RXF (meezenest.nl/mees):
|
|
|
|
Start ax.25 interfaces (direwolf and kiss) in crontab of user marcel.
|
|
Delay of 60 sec, otherwise direwolf will not start. Probably no sound card module loaded at time crontab is executed:
|
|
|
|
crontab -l
|
|
|
|
Add:
|
|
# Start APRS server at boot time
|
|
@reboot sleep 60 && /home/marcel/ham/start_aprs_server.sh
|
|
|
|
A default crontab is included in the ham/aprs_utils directory. Two more processes are in there for the custom telemetry.
|
|
|
|
The web-interface uses php to do some tasks. Make sure that at least the following files and directories can be accessed by user www-data:
|
|
ham/aprs_utils/aprs_files_to_transmit/ (rwx)
|
|
ham/aprs_utils/aprs_log/ (rwx)
|
|
ham/aprs_utils/send_message.sh (rx)
|
|
|
|
Make a symbolic link from ham/web-interface/ to /var/log/www/html/ and place all web-files in this folder.
|
|
|
|
MAKE IMAGE OF SD_KAART!
|
|
Use the script 'pishrink.sh' to compress the image.
|
|
At 1st boot, the image is automatically expanded (or not if you have choosen to to it manually. Than do that with sudo raspi-config.
|
|
|