140 lines
2.9 KiB
Markdown
140 lines
2.9 KiB
Markdown
# First system setup
|
||
|
||
Первоначальная настройка Raspberry Pi для запуска Car UI.
|
||
|
||
Инструкция рассчитана на Debian 13 (Trixie).
|
||
|
||
## 1. Установить системные зависимости
|
||
|
||
```bash
|
||
sudo apt update
|
||
|
||
sudo apt install \
|
||
python3 \
|
||
python3-venv \
|
||
rfkill \
|
||
bluetooth \
|
||
bluez \
|
||
fonts-noto
|
||
```
|
||
|
||
## 2. Настроить пользователя
|
||
|
||
Добавить пользователя в группы, необходимые для работы с оборудованием:
|
||
|
||
```bash
|
||
sudo usermod -aG audio,video,render,input,bluetooth cheykrym
|
||
```
|
||
|
||
После изменения групп необходимо перелогиниться или перезагрузить систему:
|
||
|
||
```bash
|
||
sudo reboot
|
||
```
|
||
|
||
Проверить группы:
|
||
|
||
```bash
|
||
groups cheykrym
|
||
```
|
||
|
||
## 3. Проверить Bluetooth вручную
|
||
|
||
Проверить состояние RFKill:
|
||
|
||
```bash
|
||
rfkill list
|
||
````
|
||
|
||
При необходимости вручную снять блокировку:
|
||
|
||
```bash
|
||
sudo rfkill unblock bluetooth
|
||
```
|
||
|
||
Проверить Bluetooth service:
|
||
|
||
```bash
|
||
systemctl status bluetooth.service
|
||
```
|
||
|
||
При автоматическом запуске снятие RFKill-блокировки выполняется
|
||
`bt-unblock.service`.
|
||
|
||
## 4. Подготовить проект
|
||
|
||
Сделать скрипты проекта исполняемыми:
|
||
|
||
```bash
|
||
chmod +x scripts/*.sh
|
||
```
|
||
|
||
Собрать приложение:
|
||
|
||
```bash
|
||
./scripts/build.sh
|
||
```
|
||
|
||
Скрипт автоматически:
|
||
|
||
* создаст `.venv`, если его ещё нет;
|
||
* установит Python-зависимости из `requirements.txt`;
|
||
* соберёт приложение через PyInstaller.
|
||
|
||
Готовая сборка появится в:
|
||
|
||
```text
|
||
dist/car_ui/
|
||
```
|
||
|
||
## 5. Установить приложение
|
||
|
||
```bash
|
||
sudo ./scripts/deploy.sh
|
||
```
|
||
|
||
Приложение будет установлено в:
|
||
|
||
```text
|
||
/opt/car_ui/
|
||
```
|
||
|
||
## 6. Настроить автоматический запуск
|
||
|
||
После установки приложения выполнить настройку systemd согласно:
|
||
|
||
[`docs/auto-start.md`](auto-start.md)
|
||
|
||
|
||
## 7. Настроить Return to Car UI
|
||
|
||
Для возврата из Development mode в Car mode используется системный helper:
|
||
|
||
```text
|
||
/usr/local/bin/return-to-car-mode
|
||
```
|
||
|
||
Разрешить пользователю `cheykrym` запускать только этот helper без ввода пароля:
|
||
|
||
```bash
|
||
sudo visudo -f /etc/sudoers.d/car-ui
|
||
```
|
||
|
||
Добавить:
|
||
|
||
```sudoers
|
||
cheykrym ALL=(root) NOPASSWD: /usr/local/bin/return-to-car-mode
|
||
```
|
||
|
||
Проверить конфигурацию:
|
||
|
||
```bash
|
||
sudo visudo -cf /etc/sudoers.d/car-ui
|
||
```
|
||
|
||
Установить корректные права:
|
||
|
||
```bash
|
||
sudo chmod 440 /etc/sudoers.d/car-ui
|
||
```
|