Install on raspberry
(→On DTU network) |
|||
Line 62: | Line 62: | ||
* Select language (prefer English - also for future reuse) | * Select language (prefer English - also for future reuse) | ||
* select wifi access - if not using a cable. | * select wifi access - if not using a cable. | ||
+ | |||
+ | ==Usefull Linux commands== | ||
+ | |||
+ | Here are some common commands in Linux | ||
+ | |||
+ | ls (directory file list) | ||
+ | cd (change to home directory) | ||
+ | cd some_directory (change to a subdirectory) | ||
+ | exit (logout, e.g. of a ssh session) | ||
+ | grep -n string_to_look_for_in_a_file *.cpp (find a string in a file, e.g. a variable or a function) | ||
+ | sudo some_command (execute a command as "root" - root is a superuser with administrator rights to everything) | ||
+ | pkill some_application_name (stop (or kill) a running process with name "some_application_name") | ||
+ | pgrep some_application_name (see if a process is running - good to use before a kill) | ||
+ | mv from_file to_file (rename a file) | ||
+ | cp from_file to_file (copy a file) | ||
+ | rm some_file (remove (delete) a file) | ||
+ | nano some_file (simple text editor) | ||
+ | zip, unzip (pack or unpack files - try zip --help to see how. | ||
+ | top (see process load and memory usage) | ||
+ | make (compile all as described in the "Makefile" in the same directory) | ||
+ | make -j4 (compile using up to 4 CPU cores - faster if more files need to be compiled) | ||
+ | |||
+ | All commands have an online help if you add --help or -h after the command. | ||
+ | If this is not enough, then try | ||
+ | man ls | ||
+ | to get the manual page for the ls command. | ||
== Configure == | == Configure == |
Revision as of 09:50, 24 December 2021
Short note on installation of (parts of) mobotware on Raspberry Pi (or Beagle-bone)
Contents |
Prerequisite
- Raspberry pi - version 3 or 4
- SD-card preferably at least 16Gb
- Monitor with HDMI (version 3) or micro HDMI (version 4) cable
- keyboard - and optional a mouse
- Access to network (wired or wifi)
- Power - either an USB charger or cable to a PC (micro USB (version 3) or USB-C (version 4)
It should be possible to start using USB or wifi connection from a PC without extra screen or keyboard, find solutions on internet - I have not tried.
Make SD card a FAT32 partision, if reusing an old card
A new SD-card is fine as is, else
see http://qdosmsq.dunbar-it.co.uk/blog/2013/06/noobs-for-raspberry-pi/ for instruction to prepare any old or new SD-card
Add boot-files to SD card
RPI imager
Version 10 (buster) is easily installed using the 'Raspberry pi imager', on Linux install with
snap install rpi-imager rpi-imager
and follow the screen
manual
or
Get the install zip-file from https://www.raspberrypi.org/downloads/noobs/
Then unpack NOOBS zip-file to the new disk (use the newest version), like for the network version
unzip NOOBS_lite_v3_5_1.zip -d /media/xxx/yyyy or unzip ~/Downloads/raspberry/NOOBS_lite_v3_5_1.zip (if you are on the empty flash)
or for the full version
unzip NOOBS_v3_5_1.zip -d /media/xxx/yyyy or unzip ~/Downloads/raspberry/NOOBS_v3_5_1.zip (if you are on the empty flash)
Reboot
- Insert SD card on Raspberry,
- Mount a heatsink - especially needed on version 4,
- Connect monitor, keyboard and (USB) power
That is all, Raspberry should boot on that, and take some time to prepare the SD-Card. Or see instructions on e.g.: https://www.raspberrypi.org/help/noobs-setup/
- Boot the raspberry and install the Raspberry Pi OS full (Debian).
- On the bottom of the screen select keyboard layout and language,
Settings
- Leave the pi password as is (for future reuse)
- Select language (prefer English - also for future reuse)
- select wifi access - if not using a cable.
Usefull Linux commands
Here are some common commands in Linux
ls (directory file list) cd (change to home directory) cd some_directory (change to a subdirectory) exit (logout, e.g. of a ssh session) grep -n string_to_look_for_in_a_file *.cpp (find a string in a file, e.g. a variable or a function) sudo some_command (execute a command as "root" - root is a superuser with administrator rights to everything) pkill some_application_name (stop (or kill) a running process with name "some_application_name") pgrep some_application_name (see if a process is running - good to use before a kill) mv from_file to_file (rename a file) cp from_file to_file (copy a file) rm some_file (remove (delete) a file) nano some_file (simple text editor) zip, unzip (pack or unpack files - try zip --help to see how. top (see process load and memory usage) make (compile all as described in the "Makefile" in the same directory) make -j4 (compile using up to 4 CPU cores - faster if more files need to be compiled)
All commands have an online help if you add --help or -h after the command. If this is not enough, then try
man ls
to get the manual page for the ls command.
Configure
Raspberry
use raspi-config, start a terminal:
sudo raspi-config
Using raspi-config
Enable Camera Set hostname (one word, no space) Enable SSH Disable Serial login boot as a console with login Update firmware Set locale to "en_DK.UTF-8 UTF-8" (danish keyboard, but English language)
Update operating system
Ensure you have internet access, then
sudo apt-get update sudo apt-get dist-upgrade sudo reboot
On DTU network
Time sync over the network is disabled on DTU,
See http://rsewiki.elektro.dtu.dk/index.php/Robot_installation#NTP to install NTP and update from DTU time server.
Else the date on the Raspberry will be too old to allow software update
Login
login as pi, password raspberry - password may have changed
Add a user called local, this leaves the pi user as is. This can save reformatting and reinstall when the Pi is to be reused.
add a user called local
sudo adduser local sudo usermod -a --groups adm,cdrom,sudo,audio,video,plugdev,games,users,netdev,input,spi,gpio,i2c,dialout local
switch user to local, and ensure groups are OK, and network is running
su - local groups ifconfig
Note the inet address.
Now it is possible to login (as local) from network.
Get access using hostname
You may change the hostname by changing the name in /etc/hostname. If you do so, then you should restart before the new hostname works.
Now from another PC on the local network
ping hostname.local
Get a console (terminal window) use SSH From linux:
ssh -X local@hostname.local
Or use putty (can be installed in both Linux and Windows - and probably also Apple).
where "hostname" is replaced with the hostname in /etc/hostname.
Mobotware
- Not for Robobot