Тестирование ядер и образов на Raspberry Pi: различия между версиями

Материал из ALT Linux Wiki
Строка 45: Строка 45:
=== Тест звуковой подсистемы ===
=== Тест звуковой подсистемы ===


1. Получить список звуковых устройств: <code>aplay -L | grep -e '^sysdefault</code>
1. Получить список звуковых устройств: <code>aplay -L | grep -e '^sysdefault</code>'


2. Проверить, что в списке есть HDMI и вcтроенное звуковое устройство:
2. Проверить, что в списке есть HDMI и вcтроенное звуковое устройство:
Строка 54: Строка 54:


3. Для каждого устройства запустить проверку: <code>speaker-test -D "$device" -c 2 -t sine -f 440 -l 3</code><br> Проверить, что на заданное устройство воспроизводится синусоида частотой 440 Гц, поочерёдно то в левый, то в правый канал.
3. Для каждого устройства запустить проверку: <code>speaker-test -D "$device" -c 2 -t sine -f 440 -l 3</code><br> Проверить, что на заданное устройство воспроизводится синусоида частотой 440 Гц, поочерёдно то в левый, то в правый канал.


=== Тест разных устройств ===
=== Тест разных устройств ===

Версия от 16:47, 2 ноября 2023

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Тестирование ядра

Общая информация

1. Сохранить в протокол вывод команды "uname -a"

2. Подать команду "systemctl status". Если статус отличен от running подать команду "systemctl --failed". Результат сохранить в протокол.

Тест сетевой подсистемы

1. Проверить наличие сетевых интерфейсов: ls -1 /sys/class/net. Ожидаемый вывод

   eth0
   lo
   wlan0
   

2. Проверить, что NetworkManager знает об этих интерфейсах: nmcli device

3. Проверить наличие IPv4 адреса на проводном интерфейсе ip -o -4 addr show dev eth0

4. Включить беспроводную сеть: nmcli device wifi connect BaseALT ifname wlan0 --ask

5. Проверить, что беспроводному интерфейсу назначен IPv4 адрес: ip -o -4 addr show dev wlan0

6. Запустить сервис ssh: systemctl enable --now sshd

7. Проверить вход по ssh по проводному и беспроводному интерфейсу (используя IPv4 адреса, полученные в пунктах 3 и 5)


Тест графической подсистемы

1. Отключить программный композитный менеджер.
В среде Mate из комадной строки это можно сделать так: dconf write /org/mate/marco/general/compositing-manager false

2. Запустить тест командой glmark2-es2 --fullscreen --annotate
дождаться завершения теста, вывод команды занести в протокол.

3. Включить программный композитный менеджер: dconf write /org/mate/marco/general/compositing-manager true

4. Проверить переключение в виртуальный терминал (ctrl-alt-f2)

5. Проиграть видео *без звуковой дорожки*: ffplay -fs -an -autoexit Big_Buck_Bunny_1080_10s_30MB.mkv
Во время проигрывания активно шевелить мышкой над видео.

Тест звуковой подсистемы

1. Получить список звуковых устройств: aplay -L | grep -e '^sysdefault'

2. Проверить, что в списке есть HDMI и вcтроенное звуковое устройство:

   sysdefault:CARD=b1
   sysdefault:CARD=Headphones
   

3. Для каждого устройства запустить проверку: speaker-test -D "$device" -c 2 -t sine -f 440 -l 3
Проверить, что на заданное устройство воспроизводится синусоида частотой 440 Гц, поочерёдно то в левый, то в правый канал.

Тест разных устройств

1. Если драйвер I2C не встроен в ядро, загрузить модуль # modprobe i2c_dev

2. Проверить наличие файлов I2C устройств: ls -l /dev/i2c*

3. Проверить наличие файлов SPI устройств: ls -l /dev/spi*

4. Проверить работу термодатчика: cat /sys/class/thermal/thermal_zone0/temp
Будет выдана температура в град. х 1000

5. Проверить наличие GPIO: ls /sys/class/gpio/gpiochip*


Примерный план тестирования образов на RPi

Условные обозначения

Таким цветом обозначены части текста, касающиеся только тестирования образов.

Таким цветом обозначены части текста, касающиеся только тестирования ядер.

Замечание

Данный план является некоторым произвольным вариантом обычных действий пользователя.

Нет никаких объективных оснований его придерживаться.

Однако, его соблюдение при тестировании различных образов позволяет сравнить их между собой и сделать некоторые выводы о работоспособности.

Тестирование ядер делает больший упор на проверку работы аппаратных средств.

При выполнении пунктов плана нужно вести протокол с записью результата.

Тесты нужно выполнить на всех поддерживаемых системах: RPi3, RPi4, RPi400.

На RPi3 некоторые тесты (например, воспроизведение видео в браузере) могут не работать из-за недостатка памяти. По той же причине не следует обновлять ядро одновременно с работой apt-indicator по обновлению заголовков репо.

Тест установки

Записать образ SD карты можно по этой инструкции

Образ в виде тарбола rootfs можно записать по этой инструкции

При 1-й загрузке нужно выполнить настройку образа по умолчанию в alterator-setup.

Завести пользователей: root и обычного.

При настройке не должно быть ошибок.

Тест загрузки

Проверить автоматическую перезагрузку после завершения alterator-setup и загрузку графического экрана приветствия (greeter).

Проверить, прописан ли заведённый обычный пользователь в окне приветствия по умолчанию.

Проверить, произошла ли синхронизация времени.

Проверить, есть ли в greeter переключатель раскладок клавиатуры EN/RU и работает ли.

Ввести имя и пароль обычного пользователя и войти в систему.

Добавить в общую секцию config.txt строки:

dtparam=i2c_arm=on
dtparam=spi=on

Добавить в yandex.list репо задачи с новым ядром:

rpm http://git.altlinux.org/tasks/<#task>/build/repo aarch64 task
# apt-get update
# update-kernel
# reboot

Тест использования

Проверить, поднялись ли сетевые интерфейсы.

Проверить работу sudo для данного пользователя.

Проверить вход в систему по ssh. При необходимости запустить sshd.

Проверить наличие и работу apt-indicator.

Сохранить в протокол вывод команды "uname -a"

Проверить переключение в текстовый терминал (ctrl-alt-f2)

Подать команду "systemctl status". Если статус отличен от running подать команду "systemctl --failed". Результат сохранить в протокол.

ls -l /dev/i2c* /dev/spi*

Убедиться, что устройства есть. Если драйвер SPI не вкомпилирован для появления устройства нужно загрузить модуль с ним:

# modprobe i2c_dev

Проверить работу термодатчика:

cat /sys/class/thermal/thermal_zone0/temp

Будет выдана температура в град. х 1000

Проверить видна ли GPIO:

ls /sys/class/gpio/

Запустить браузер, убедиться, что работает.

Открыть какое-либо видео на youtube.com в разрешении 1920х1080 на полный экран, убедиться что воспроизводиться со звуком.

Протестировать переключение звука HDMI - наушники и обратно, регулировку громкости из окна браузера и системной панели.

Проверить регулятор звука (работает/не работает, плавно/не плавно)

Открыть html5test.com, убедиться, что работает.

Подать команду "speaker-test -c 2", убедиться, что звук выводиться через каждый из каналов (На RPi3 протестировать переключение на наушники).

Скачать какой-либо небольшой видеоролик с разрешением 1920х1080, например https://test-videos.co.uk/vids/bigbuckbunny/mkv/1080/Big_Buck_Bunny_1080_10s_30MB.mkv (данный файл без звука)

Открыть видео с помощью графического файлового менеджера. Убедиться, что видео плеер по умолчанию запускается и нормально работает.

Подключить Bluetooth клавиатуру, убедиться, что работает.

Проверить запуск LibreOffice Writer, убедиться что доступен ввод текста латиницей и кириллицей.

Записать на флешку различные файлы изображений (jpg, png, и т. д.) и архивов (arj, rar, 7z, и т. д.). Проверить автоматическое монтирование флешки после подключения, открытие изображений и архивов, размонтирование флешки из графического файлового менеджера.

Войти в систему по SSH. Подключить WiFi.

Отключить Ethernet, подождать, пока в панели появиться иконка WiFi

Войти в систему по SSH через WiFi

Убедиться, что вход в систему выполнен.

Включить Ethernet. Убедиться, что ssh соединение по Ethernet восстановилось само.

Подать команду "glxgears -info", убедиться, что работает ускорение 3D (GL_RENDERER = VC4 V3D). Если выдано GL_RENDERER = llvmpipe, значит ускорение 3D не работает.

Протестировать переключение на ядро с другим flavour.

rpi4-boot-nouboot <flavour>

и перезагрузить систему. Выполнить команду "uname -a", убедиться, что загружено ядро с нужным flavour.