Самый простой способ запустить и настроить Raspberry Pi - подключить к ней монитор и клавиатуру, вставить SD карту на которую скопирован установщик NOOBS, и включить. Если же лишнего монитора нет, то можно по-прежнему установить самостоятельно установить Raspbian на SD карту, запустить с этой карты Raspberry Pi, подключиться по ssh (включен по умолчанию) и настроить удаленный рабочий стол. Для этого понадобится только компьютер с Ubuntu (просто потому, что у меня Ubuntu - для других дистрибутивов, Windows и OS X процесс не должен принципиально отличаться), сеть ( и возможность подключиться к ней с помощью Ethernet кабеля), чистая SD карта размером больше, чем образ Raspbian (Raspbian Jessie занимает 4 Гб) и сама Raspberry. Ниже приведена пошаговая инструкция, что надо сделать, чтобы все заработало.
Теперь у нас есть работающая и обновленная Raspberry Pi, к которой мы можем подключаться через ssh или через VNC.
Шаг 1: установка Raspbian
- Скачиваем самый новый образ Raspbian отсюда. Если скачали zip, то распаковываем.
- Вставляем SD карту в кард-ридер.
- Определяем имя SD карты в системе: команда
1
df
-h
- Отмонтируем SD карту командой:
1
umount
/dev/mmcblk0p1
- Записываем образ Raspbian на SD карту с помощью команды:
1
sudo
dd
bs=4M
if
=2016-05-27-raspbian-jessie.img of=
/dev/mmcblk0
1sudo
pkill -USR1 -n -x
dd
- Когда dd запишет образ, синхронизируем данные с помощью команды
1
sync
Шаг 2: Настройка WiFi
- Только что записанная SD карта содержит два раздела - boot и раздел с корневой файловой системой (у меня он называется 2f840c69-cecb-4b10-87e4-01b9d28c231c, его имя можно посмотреть в выводе команды df -h, которую мы использовали ранее). Нас интересует файл /etc/wpa_supplicant/wpa_supplicant.conf в разделе корневой файловой системы SD карты. Открываем его c sudo с помощью любого текстового редактора (я использую vim):
1
sudo
vim /путь-до-корневого-каталога-на-sd-карте
/etc/wpa_supplicant/wpa_supplicant
.conf
- И дописываем в конец файла:
1234
network={
ssid=
"название сети"
psk=
"пароль"
}
- Выполняем sync, извлекаем SD карту, вставляем ее в Raspberry и запускаем.
Шаг 3: Подключение к Raspberry по ssh
- Устанавливаем nmap (если еще не установлен):
1
sudo
apt-get
install
nmap
- Выясняем параметры своего подключения к сети с помощью команды:
1
ifconfig
- Сканируем сеть, чтобы выяснить адрес Raspberry Pi (чуть более подробно о том, как это делать, я писал здесь):
1
nmap -sn 192.168.178.0
/24
- Подключаемся к Raspberry Pi по ssh (в моем случае Raspberry достался адрес 192.168.178.42):
1
ssh
pi@192.168.178.42
Шаг 4: Первоначальная настройка и обновление
- Если все было сделано правильно, у нас сейчас в терминале должна быть открыта ssh-сессия с RaspberryPi. Я сразу после подключения делаю первоначальную настройку с помощью встроенной утилиты raspi-config:
1
sudo
raspi-config
- Затем имеет смысл обновить пакеты:
1
sudo
apt-get update &&
sudo
apt-get upgrade
Шаг 5: Настройка удаленного рабочего стола
- Устанавливаем VNC сервер на Raspberry:
1
sudo
apt-get
install
tightvncserver
- Настраиваем курсор в VNC сервер (обычный указатель мыши вместо крестика):
- открываем файл /home/pi/.vnc/xstartup:
1
vi
/home/pi/
.vnc
/xstartup
- и дописываем к xsetroot параметр:
1
-cursor_name left_ptr
- Настраиваем автозагрузку VNC сервера вместо lightdm (монитора-то все равно нет, lightdm стартовать не имеет смысла).
- Переходим в режим superuser:
1
sudo
su
- Переходим в /etc/init.d/:
1
cd
/etc/init
.d/
- Создаем новый файл vncboot:
1
vi
vncboot
- Копируем туда следующий скрипт:
123456789101112131415161718192021222324252627282930313233343536
#! /bin/sh# /etc/init.d/vncboot
### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO
USER=pi
HOME=
/home/pi
export
USER HOME
case
"$1"
in
start)
echo
"Starting VNC Server"
#Здесь можно использовать свои любимые настройки VNC
su
- $USER -c
"/usr/bin/vncserver :1 -geometry 1366x768 -depth 24"
;;
stop)
echo
"Stopping VNC Server"
/usr/bin/vncserver
-
kill
:1
;;
*)
echo
"Usage: /etc/init.d/vncboot {start|stop}"
exit
1
;;
esac
exit
0
- Делаем его исполняемым:
1
chmod
755 vncboot
- Заменяем выполнение lightdm на vncboot при загрузке:
12
update-rc.d -f lightdm remove
update-rc.d vncboot defaults
- Теперь можно перезагрузить Raspberry и, когда она загрузится, подключиться к ней из под Ubuntu с помощью, например, Remmina Remote Desktop Client (который в Ubuntu установлен по умолчанию).
Теперь у нас есть работающая и обновленная Raspberry Pi, к которой мы можем подключаться через ssh или через VNC.
Добрый день,
ОтветитьУдалитьУточните как добавить sh скрипт в автозагрузку. Гуглил, пробывал разные варианты, но ни как не срабатывает автозагрузка. Подскажите пожалуйста как это сделать.
из консоли под рутом запускаю скрипт двумя командами:
cd /home/pi/package/
nohup sh /home/pi/package/nix.runNis.sh >/dev/null &
В первой строке скрипта попробуйте удалить часть кода, т.е. первая строка должна выглядеть так "#! /bin/sh" без кавычек и решетки в конце.
УдалитьЯ в линуксе не сильно силен, но зачем после #! /bin/sh идет указание пути до папки, в которой лежит скрипт, если он и так там лежит...
Возможно опечатка, а может я чего-то не понимаю.
Не знаю, может сюда кто-то и зайдет, надеюсь, прочитает это сообщение. Все хорошо, НО, ssh по-умолчанию в raspberry pi не работает c 2016 года, соединение будет обрываться. Причина: https://www.raspberrypi.org/documentation/remote-access/ssh/ Решение: создать пустой файл без всяких расширений /boot/ssh тогда ssh соединение будет разрешено. Статья, видно, вышла немногим раньше нововведения и этой важной детали нету. Надеюсь я помог и позволил вам избежать очень неприятной процедуры: выдергивание кабеля питания без возможности безопасно выключить устройство.
ОтветитьУдалитьВАЖНАЯ ПОПРАВКА: под boot имеется ввиду загрузочный диск. Смотрится через lsblk - обычно первый раздел вашего устройства на несколько mb. В корне этого раздела и надо создавать ssh файл
Удалить